diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-11-09 16:12:59 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-11-09 16:13:47 -0600 |
commit | e0fb06aacbe72169f2ede3009b0c18717760d358 (patch) | |
tree | 0532e1762e34847f519b220bfe09ccf4a039226b /vim/syntax | |
parent | 62f99ef3b38692f23f3f9bac3e2c9c4578fb5304 (diff) | |
download | conf-e0fb06aacbe72169f2ede3009b0c18717760d358.tar.gz conf-e0fb06aacbe72169f2ede3009b0c18717760d358.zip |
convert all of my vim plugins to use pathogen
Diffstat (limited to 'vim/syntax')
-rw-r--r-- | vim/syntax/git.vim | 67 | ||||
-rw-r--r-- | vim/syntax/gitcommit.vim | 73 | ||||
-rw-r--r-- | vim/syntax/perl.vim | 536 | ||||
-rw-r--r-- | vim/syntax/snippet.vim | 19 | ||||
-rwxr-xr-x | vim/syntax/tt2.vim | 213 | ||||
-rwxr-xr-x | vim/syntax/tt2html.vim | 12 |
6 files changed, 0 insertions, 920 deletions
diff --git a/vim/syntax/git.vim b/vim/syntax/git.vim deleted file mode 100644 index fd0644a..0000000 --- a/vim/syntax/git.vim +++ /dev/null @@ -1,67 +0,0 @@ -" Vim syntax file -" Language: generic git output -" Maintainer: Tim Pope <vimNOSPAM@tpope.info> -" Last Change: 2008 Mar 21 - -if exists("b:current_syntax") - finish -endif - -syn case match -syn sync minlines=50 - -syn include @gitDiff syntax/diff.vim - -syn region gitHead start=/\%^/ end=/^$/ -syn region gitHead start=/\%(^commit \x\{40\}\%(\s*(.*)\)\=$\)\@=/ end=/^$/ - -" For git reflog and git show ...^{tree}, avoid sync issues -syn match gitHead /^\d\{6\} \%(\w\{4} \)\=\x\{40\}\%( [0-3]\)\=\t.*/ -syn match gitHead /^\x\{40\} \x\{40}\t.*/ - -syn region gitDiff start=/^\%(diff --git \)\@=/ end=/^\%(diff --git \|$\)\@=/ contains=@gitDiff fold -syn region gitDiff start=/^\%(@@ -\)\@=/ end=/^\%(diff --git \|$\)\@=/ contains=@gitDiff - -syn match gitKeyword /^\%(object\|type\|tag\|commit\|tree\|parent\|encoding\)\>/ contained containedin=gitHead nextgroup=gitHash,gitType skipwhite -syn match gitKeyword /^\%(tag\>\|ref:\)/ contained containedin=gitHead nextgroup=gitReference skipwhite -syn match gitKeyword /^Merge:/ contained containedin=gitHead nextgroup=gitHashAbbrev skipwhite -syn match gitMode /^\d\{6\}/ contained containedin=gitHead nextgroup=gitType,gitHash skipwhite -syn match gitIdentityKeyword /^\%(author\|committer\|tagger\)\>/ contained containedin=gitHead nextgroup=gitIdentity skipwhite -syn match gitIdentityHeader /^\%(Author\|Commit\|Tagger\):/ contained containedin=gitHead nextgroup=gitIdentity skipwhite -syn match gitDateHeader /^\%(AuthorDate\|CommitDate\|Date\):/ contained containedin=gitHead nextgroup=gitDate skipwhite -syn match gitIdentity /\S.\{-\} <[^>]*>/ contained nextgroup=gitDate skipwhite -syn region gitEmail matchgroup=gitEmailDelimiter start=/</ end=/>/ keepend oneline contained containedin=gitIdentity - -syn match gitReflogHeader /^Reflog:/ contained containedin=gitHead nextgroup=gitReflogMiddle skipwhite -syn match gitReflogHeader /^Reflog message:/ contained containedin=gitHead skipwhite -syn match gitReflogMiddle /\S\+@{\d\+} (/he=e-2 nextgroup=gitIdentity - -syn match gitDate /\<\u\l\l \u\l\l \d\=\d \d\d:\d\d:\d\d \d\d\d\d [+-]\d\d\d\d/ contained -syn match gitDate /-\=\d\+ [+-]\d\d\d\d\>/ contained -syn match gitDate /\<\d\+ \l\+ ago\>/ contained -syn match gitType /\<\%(tag\|commit\|tree\|blob\)\>/ contained nextgroup=gitHash skipwhite -syn match gitStage /\<\d\t\@=/ contained -syn match gitReference /\S\+\S\@!/ contained -syn match gitHash /\<\x\{40\}\>/ contained nextgroup=gitIdentity,gitStage skipwhite -syn match gitHash /^\<\x\{40\}\>/ containedin=gitHead contained nextgroup=gitHash skipwhite -syn match gitHashAbbrev /\<\x\{4,39\}\.\.\./he=e-3 contained nextgroup=gitHashAbbrev skipwhite -syn match gitHashAbbrev /\<\x\{40\}\>/ contained nextgroup=gitHashAbbrev skipwhite - -hi def link gitDateHeader gitIdentityHeader -hi def link gitIdentityHeader gitIdentityKeyword -hi def link gitIdentityKeyword Label -hi def link gitReflogHeader gitKeyword -hi def link gitKeyword Keyword -hi def link gitIdentity String -hi def link gitEmailDelimiter Delimiter -hi def link gitEmail Special -hi def link gitDate Number -hi def link gitMode Number -hi def link gitHashAbbrev gitHash -hi def link gitHash Identifier -hi def link gitReflogMiddle gitReference -hi def link gitReference Function -hi def link gitStage gitType -hi def link gitType Type - -let b:current_syntax = "git" diff --git a/vim/syntax/gitcommit.vim b/vim/syntax/gitcommit.vim deleted file mode 100644 index 18e9397..0000000 --- a/vim/syntax/gitcommit.vim +++ /dev/null @@ -1,73 +0,0 @@ -" Vim syntax file -" Language: git commit file -" Maintainer: Tim Pope <vimNOSPAM@tpope.info> -" Filenames: *.git/COMMIT_EDITMSG -" Last Change: 2008 Apr 09 - -if exists("b:current_syntax") - finish -endif - -syn case match -syn sync minlines=50 - -if has("spell") - syn spell toplevel -endif - -syn include @gitcommitDiff syntax/diff.vim -syn region gitcommitDiff start=/\%(^diff --git \)\@=/ end=/^$\|^#\@=/ contains=@gitcommitDiff - -syn match gitcommitFirstLine "\%^[^#].*" nextgroup=gitcommitBlank skipnl -syn match gitcommitSummary "^.\{0,50\}" contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell -syn match gitcommitOverflow ".*" contained contains=@Spell -syn match gitcommitBlank "^[^#].*" contained contains=@Spell -syn match gitcommitComment "^#.*" -syn match gitcommitHead "^\%(# .*\n\)\+#$" contained transparent -syn match gitcommitOnBranch "\%(^# \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite -syn match gitcommitOnBranch "\%(^# \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite -syn match gitcommitBranch "[^ \t']\+" contained -syn match gitcommitNoBranch "\%(^# \)\@<=Not currently on any branch." contained containedin=gitcommitComment -syn match gitcommitHeader "\%(^# \)\@<=.*:$" contained containedin=gitcommitComment -syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^# \)\@<=Author:/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent - -syn region gitcommitUntracked start=/^# Untracked files:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold -syn match gitcommitUntrackedFile "\t\@<=.*" contained - -syn region gitcommitDiscarded start=/^# Changed but not updated:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold -syn region gitcommitSelected start=/^# Changes to be committed:/ end=/^#$\|^#\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold - -syn match gitcommitDiscardedType "\t\@<=[a-z][a-z ]*[a-z]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite -syn match gitcommitSelectedType "\t\@<=[a-z][a-z ]*[a-z]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite -syn match gitcommitDiscardedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow -syn match gitcommitSelectedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow -syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile -syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile - -syn match gitcommitWarning "\%^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl -syn match gitcommitWarning "^[^#].*: needs merge$" nextgroup=gitcommitWarning skipnl contained -syn match gitcommitWarning "^\%(no changes added to commit\|nothing \%(added \)\=to commit\)\>.*\%$" - -hi def link gitcommitSummary Keyword -hi def link gitcommitComment Comment -hi def link gitcommitUntracked gitcommitComment -hi def link gitcommitDiscarded gitcommitComment -hi def link gitcommitSelected gitcommitComment -hi def link gitcommitOnBranch Comment -hi def link gitcommitBranch Special -hi def link gitcommitNoBranch gitCommitBranch -hi def link gitcommitDiscardedType gitcommitType -hi def link gitcommitSelectedType gitcommitType -hi def link gitcommitType Type -hi def link gitcommitHeader PreProc -hi def link gitcommitUntrackedFile gitcommitFile -hi def link gitcommitDiscardedFile gitcommitFile -hi def link gitcommitSelectedFile gitcommitFile -hi def link gitcommitFile Constant -hi def link gitcommitDiscardedArrow gitcommitArrow -hi def link gitcommitSelectedArrow gitcommitArrow -hi def link gitcommitArrow gitcommitComment -"hi def link gitcommitOverflow Error -hi def link gitcommitBlank Error - -let b:current_syntax = "gitcommit" diff --git a/vim/syntax/perl.vim b/vim/syntax/perl.vim deleted file mode 100644 index 840e33d..0000000 --- a/vim/syntax/perl.vim +++ /dev/null @@ -1,536 +0,0 @@ -" Vim syntax file -" Language: Perl -" Maintainer: Lukas Mai <l.mai@web.de> -" Last Change: 2008-08-08 -" -" Standard perl syntax file for vim by Nick Hibma <nick@van-laarhoven.org> -" Modified by Lukas Mai -" -" Original version: Sonia Heimann <niania@netsurf.org> -" Thanks to many people for their contribution. - -" The following parameters are available for tuning the -" perl syntax highlighting, with defaults given: -" -" unlet perl_include_pod -" unlet perl_no_scope_in_variables -" unlet perl_no_extended_vars -" unlet perl_string_as_statement -" unlet perl_no_sync_on_sub -" unlet perl_no_sync_on_global_var -" let perl_sync_dist = 100 -" unlet perl_fold -" unlet perl_fold_blocks -" let perl_nofold_packages = 1 -" let perl_nofold_subs = 1 - -if version < 600 - echoerr ">=vim-6.0 is required to run perl-mauke.vim" - finish -elseif exists("b:current_syntax") - finish -endif - -" POD starts with ^=<word> and ends with ^=cut - -if exists("perl_include_pod") - " Include a while extra syntax file - syn include @Pod syntax/pod.vim - unlet b:current_syntax - if exists("perl_fold") - syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend fold - syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend fold - else - syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend - syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend - endif -else - " Use only the bare minimum of rules - if exists("perl_fold") - syn region perlPOD start="^=[a-z]" end="^=cut" fold - else - syn region perlPOD start="^=[a-z]" end="^=cut" - endif -endif - - -syn cluster perlTop contains=TOP -syn region perlGenericBlock matchgroup=perlGenericBlock start="{" end="}" contained transparent - - -" All keywords -" -syn match perlConditional "\<\%(if\|elsif\|unless\|given\|when\|default\)\>" -syn match perlConditional "\<else\>" nextgroup=perlElseIfError skipwhite skipnl skipempty -syn match perlRepeat "\<\%(while\|for\%(each\)\=\|do\|until\|continue\)\>" -syn match perlOperator "\<\%(defined\|undef\|eq\|ne\|[gl][et]\|cmp\|not\|and\|or\|xor\|not\|bless\|ref\|do\)\>" -syn match perlControl "\<\%(BEGIN\|CHECK\|INIT\|END\|UNITCHECK\)\>" - -syn match perlStatementStorage "\<\%(my\|our\|local\|state\)\>" -syn match perlStatementControl "\<\%(return\|last\|next\|redo\|goto\|break\)\>" -syn match perlStatementScalar "\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|uc\%(first\)\=\)\>" -syn match perlStatementRegexp "\<\%(pos\|quotemeta\|split\|study\)\>" -syn match perlStatementNumeric "\<\%(abs\|atan2\|cos\|exp\|hex\|int\|log\|oct\|rand\|sin\|sqrt\|srand\)\>" -syn match perlStatementList "\<\%(splice\|unshift\|shift\|push\|pop\|join\|reverse\|grep\|map\|sort\|unpack\)\>" -syn match perlStatementHash "\<\%(delete\|each\|exists\|keys\|values\)\>" -syn match perlStatementIOfunc "\<\%(syscall\|dbmopen\|dbmclose\)\>" -syn match perlStatementFiledesc "\<\%(binmode\|close\%(dir\)\=\|eof\|fileno\|getc\|lstat\|printf\=\|read\%(dir\|line\|pipe\)\|rewinddir\|say\|select\|stat\|tell\%(dir\)\=\|write\)\>" nextgroup=perlFiledescStatementNocomma skipwhite -syn match perlStatementFiledesc "\<\%(fcntl\|flock\|ioctl\|open\%(dir\)\=\|read\|seek\%(dir\)\=\|sys\%(open\|read\|seek\|write\)\|truncate\)\>" nextgroup=perlFiledescStatementComma skipwhite -syn match perlStatementVector "\<vec\>" -syn match perlStatementFiles "\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>" -syn match perlStatementFiles "-[rwxoRWXOezsfdlpSbctugkTBMAC]\>" -syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\)\>" -syn match perlStatementInclude "\<require\>" -syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autouse\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\=" -syn match perlStatementProc "\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>" -syn match perlStatementSocket "\<\%(acept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>" -syn match perlStatementIPC "\<\%(msg\%(ctl\|get\|rcv\|snd\)\|sem\%(ctl\|get\|op\)\|shm\%(ctl\|get\|read\|write\)\)\>" -syn match perlStatementNetwork "\<\%(\%(end\|[gs]et\)\%(host\|net\|proto\|serv\)ent\|get\%(\%(host\|net\)by\%(addr\|name\)\|protoby\%(name\|number\)\|servby\%(name\|port\)\)\)\>" -syn match perlStatementPword "\<\%(get\%(pw\%(uid\|nam\)\|gr\%(gid\|nam\)\|login\)\)\|\%(end\|[gs]et\)\%(pw\|gr\)ent\>" -syn match perlStatementTime "\<\%(gmtime\|localtime\|time\)\>" - -syn match perlStatementMisc "\<\%(warn\|formline\|reset\|scalar\|prototype\|lock\|tied\=\|untie\)\>" - -syn keyword perlTodo TODO TBD FIXME XXX contained - -syn region perlStatementIndirObjWrap matchgroup=perlStatementIndirObj start="\<\%(map\|grep\|sort\|print\|system\|exec\)\>\s*{" end="}" contains=@perlTop,perlGenericBlock - -syn match perlLabel "^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!" - -" Perl Identifiers. -" -" Should be cleaned up to better handle identifiers in particular situations -" (in hash keys for example) -" -" Plain identifiers: $foo, @foo, $#foo, %foo, &foo and dereferences $$foo, @$foo, etc. -" We do not process complex things such as @{${"foo"}}. Too complicated, and -" too slow. And what is after the -> is *not* considered as part of the -" variable - there again, too complicated and too slow. - -" Special variables first ($^A, ...) and ($|, $', ...) -syn match perlVarPlain "$^[ACDEFHILMNOPRSTVWX]\=" -syn match perlVarPlain "$[\\\"\[\]'&`+*.,;=%~!?@#$<>(-]" -syn match perlVarPlain "$\%(0\|[1-9]\d*\)" -" Same as above, but avoids confusion in $::foo (equivalent to $main::foo) -syn match perlVarPlain "$::\@!" -" These variables are not recognized within matches. -syn match perlVarNotInMatches "$[|)]" -" This variable is not recognized within matches delimited by m//. -syn match perlVarSlash "$/" - -" And plain identifiers -syn match perlPackageRef "[$@#%*&]\%(\%(::\|'\)\=\I\i*\%(\%(::\|'\)\I\i*\)*\)\=\%(::\|'\)\I"ms=s+1,me=e-1 contained - -" To not highlight packages in variables as a scope reference - i.e. in -" $pack::var, pack:: is a scope, just set "perl_no_scope_in_variables" -" If you don't want complex things like @{${"foo"}} to be processed, -" just set the variable "perl_no_extended_vars"... - -if !exists("perl_no_scope_in_variables") - syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef - syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod -else - syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" - syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod -endif - -if !exists("perl_no_extended_vars") - syn cluster perlExpr contains=perlStatementIndirObjWrap,perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarPlain2,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlVarBlock2,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ,perlArrow,perlGenericBlock - syn region perlArrow matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn region perlArrow matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained - syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn match perlVarSimpleMember "\%(->\)\={\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contains=perlVarSimpleMemberName contained - syn match perlVarSimpleMemberName "\I\i*" contained - syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod - syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod -endif - -" File Descriptors -syn match perlFiledescRead "<\h\w*>" - -syn match perlFiledescStatementComma "(\=\s*\u\w*\s*,"me=e-1 transparent contained contains=perlFiledescStatement -syn match perlFiledescStatementNocomma "(\=\s*\u\w*\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement - -syn match perlFiledescStatement "\u\w*" contained - -" Special characters in strings and matches -syn match perlSpecialString "\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)" contained extend -syn match perlSpecialStringU2 "\\." extend contained transparent contains=NONE -syn match perlSpecialStringU "\\\\" contained -syn match perlSpecialMatch "\\[1-9]" contained extend -syn match perlSpecialMatch "\\g\%(\d\+\|{\%(-\=\d\+\|\h\w*\)}\)" contained -syn match perlSpecialMatch "\\k\%(<\h\w*>\|'\h\w*'\)" contained -syn match perlSpecialMatch "{\d\+\%(,\%(\d\+\)\=\)\=}" contained -syn match perlSpecialMatch "\[[]-]\=[^\[\]]*[]-]\=\]" contained -syn match perlSpecialMatch "[+*()?.]" contained -syn match perlSpecialMatch "(?[#:=!]" contained -syn match perlSpecialMatch "(?[impsx]*\%(-[imsx]\+\)\=)" contained -syn match perlSpecialMatch "(?\%([-+]\=\d\+\|R\))" contained -syn match perlSpecialMatch "(?\%(&\|P[>=]\)\h\w*)" contained -syn match perlSpecialMatch "(\*\%(\%(PRUNE\|SKIP\|THEN\)\%(:[^)]*\)\=\|\%(MARK\|\):[^)]*\|COMMIT\|F\%(AIL\)\=\|ACCEPT\))" contained - -" Possible errors -" -" Highlight lines with only whitespace (only in blank delimited here documents) as errors -syn match perlNotEmptyLine "^\s\+$" contained -" Highlight '} else if (...) {', it should be '} else { if (...) { ' or -" '} elsif (...) {'. -syn match perlElseIfError "[^[:space:]{]\+" contained - -" Variable interpolation -" -" These items are interpolated inside "" strings and similar constructs. -syn cluster perlInterpDQ contains=perlSpecialString,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBlock -" These items are interpolated inside '' strings and similar constructs. -syn cluster perlInterpSQ contains=perlSpecialStringU,perlSpecialStringU2 -" These items are interpolated inside m// matches and s/// substitutions. -syn cluster perlInterpSlash contains=perlSpecialString,perlSpecialMatch,perlVarPlain,perlVarBlock -" These items are interpolated inside m## matches and s### substitutions. -syn cluster perlInterpMatch contains=@perlInterpSlash,perlVarSlash - -" Shell commands -syn region perlShellCommand matchgroup=perlMatchStartEnd start="`" end="`" contains=@perlInterpDQ keepend - -" Constants -" -" Numbers -syn match perlNumber "\<\%(0\%(x\x[[:xdigit:]_]*\|b[01][01_]*\|\o[0-7_]*\|\)\|[1-9][[:digit:]_]*\)\>" -syn match perlFloat "\<\d[[:digit:]_]*[eE][\-+]\=\d\+" -syn match perlFloat "\<\d[[:digit:]_]*\.[[:digit:]_]*\%([eE][\-+]\=\d\+\)\=" -syn match perlFloat "\.[[:digit:]_]\+\%([eE][\-+]\=\d\+\)\=" - -syn match perlString "\<\%(v\d\+\%(\.\d\+\)*\|\d\+\%(\.\d\+\)\{2,}\)\>" contains=perlVStringV -syn match perlVStringV "\<v" contained - - -syn region perlParensSQ start=+(+ end=+)+ extend contained transparent contains=perlParensSQ,@perlInterpSQ keepend -syn region perlBracketsSQ start=+\[+ end=+\]+ extend contained transparent contains=perlBracketsSQ,@perlInterpSQ keepend -syn region perlBracesSQ start=+{+ end=+}+ extend contained transparent contains=perlBracesSQ,@perlInterpSQ keepend -syn region perlAnglesSQ start=+<+ end=+>+ extend contained transparent contains=perlAnglesSQ,@perlInterpSQ keepend - -syn region perlParensDQ start=+(+ end=+)+ extend contained transparent contains=perlParensDQ,@perlInterpDQ keepend -syn region perlBracketsDQ start=+\[+ end=+\]+ extend contained transparent contains=perlBracketsDQ,@perlInterpDQ keepend -syn region perlBracesDQ start=+{+ end=+}+ extend contained transparent contains=perlBracesDQ,@perlInterpDQ keepend -syn region perlAnglesDQ start=+<+ end=+>+ extend contained transparent contains=perlAnglesDQ,@perlInterpDQ keepend - - -" Simple version of searches and matches -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[cgimopsx]*+ contains=@perlInterpMatch keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[cgimopsx]*+ contains=@perlInterpMatch keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[cgimopsx]*+ contains=@perlInterpSQ keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[cgimopsx]*+ contains=@perlInterpSlash keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[cgimopsx]*+ contains=@perlInterpMatch,perlParensDQ keepend - -" A special case for m{}, m<> and m[] which allows for comments and extra whitespace in the pattern -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[cgimopsx]*+ contains=@perlInterpMatch,perlComment,perlBracesDQ keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[cgimopsx]*+ contains=@perlInterpMatch,perlAnglesDQ keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][cgimopsx]*+ contains=@perlInterpMatch,perlComment,perlBracketsDQ keepend - -" Below some hacks to recognise the // variant. This is virtually impossible to catch in all -" cases as the / is used in so many other ways, but these should be the most obvious ones. -syn region perlMatch matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/" start=+^/+ start=+\s\@<=/[^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/[cgimopsx]*+ contains=@perlInterpSlash - - -" Substitutions -" perlMatch is the first part, perlSubstitution* is the substitution part -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1+me=e-1 contains=@perlInterpMatch nextgroup=perlSubstitutionGQQ keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*'+ end=+'+me=e-1 contains=@perlInterpSQ nextgroup=perlSubstitutionSQ keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*/+ end=+/+me=e-1 contains=@perlInterpSlash nextgroup=perlSubstitutionGQQ keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s#+ end=+#+me=e-1 contains=@perlInterpMatch nextgroup=perlSubstitutionGQQ keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*(+ end=+)+ contains=@perlInterpMatch,perlParensDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*<+ end=+>+ contains=@perlInterpMatch,perlAnglesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*\[+ end=+\]+ contains=@perlInterpMatch,perlBracketsDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[ecgimopsx]*+ keepend contained contains=@perlInterpDQ -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+(+ end=+)[ecgimopsx]*+ contained contains=@perlInterpDQ,perlParensDQ keepend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][ecgimopsx]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+{+ end=+}[ecgimopsx]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend -syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+<+ end=+>[ecgimopsx]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend -syn region perlSubstitutionSQ matchgroup=perlMatchStartEnd start=+'+ end=+'[ecgimopsx]*+ contained contains=@perlInterpSQ keepend - -" Translations -" perlMatch is the first part, perlTranslation* is the second, translator part. -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\>\s*\z([^[:space:]([{<#]\)+ end=+\z1+me=e-1 contains=@perlInterpSQ nextgroup=perlTranslationGQ -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)#+ end=+#+me=e-1 contains=@perlInterpSQ nextgroup=perlTranslationGQ -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl -syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl -syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]([{<]\)+ end=+\z1[cds]*+ contained -syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+(+ end=+)[cds]*+ contains=perlParensSQ contained -syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][cds]*+ contains=perlBracketsSQ contained -syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+{+ end=+}[cds]*+ contains=perlBracesSQ contained -syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+<+ end=+>[cds]*+ contains=perlAnglesSQ contained - - -" Strings and q, qq, qw and qr expressions - -syn region perlStringUnexpanded matchgroup=perlStringStartEnd start="'" end="'" contains=@perlInterpSQ keepend -syn region perlString matchgroup=perlStringStartEnd start=+"+ end=+"+ contains=@perlInterpDQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q#+ end=+#+ contains=@perlInterpSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend - -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpDQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]#+ end=+#+ contains=@perlInterpDQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*(+ end=+)+ contains=@perlInterpDQ,perlParensDQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*\[+ end=+\]+ contains=@perlInterpDQ,perlBracketsDQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*{+ end=+}+ contains=@perlInterpDQ,perlBracesDQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*<+ end=+>+ contains=@perlInterpDQ,perlAnglesDQ keepend - -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw#+ end=+#+ contains=@perlInterpSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend - -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=+\z1[imosx]*+ contains=@perlInterpMatch keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosx]*+ contains=@perlInterpSlash keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+ end=+#[imosx]*+ contains=@perlInterpMatch keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+ end=+'[imosx]*+ contains=@perlInterpSQ keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+ end=+)[imosx]*+ contains=@perlInterpMatch,perlParensDQ keepend - -" A special case for qr{}, qr<> and qr[] which allows for comments and extra whitespace in the pattern -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+ end=+}[imosx]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+ end=+>[imosx]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend -syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+ end=+\][imosx]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend - -" Constructs such as print <<EOF [...] EOF, 'here' documents -" -" XXX Any statements after the identifier are in perlString colour (i.e. -" 'if $a' in 'print <<EOF if $a'). This is almost impossible to get right it -" seems due to the 'auto-extending nature' of regions. -if exists("perl_fold") - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ fold - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ fold - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ fold - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine fold - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine fold - syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL fold -else - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\)+ end=+^\z1$+ contains=@perlInterpDQ - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine - syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine - syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL -endif - - -" Class declarations -" -syn match perlPackageDecl "\<package\s\+\%(\h\|::\)\%(\w\|::\)*" contains=perlStatementPackage -syn keyword perlStatementPackage package contained - -" Functions -" -syn match perlSubError "[^[:space:];{#]" contained -if v:version == 701 && !has('patch221') " XXX I hope that's the right one - syn match perlSubAttributes ":" contained -else - syn match perlSubAttributesCont "\h\w*\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained - syn region perlSubAttributesCont matchgroup=perlSubAttributesCont start="\h\w*(" end=")\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained contains=@perlInterpSQ,perlParensSQ - syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError - syn match perlSubAttributes "" contained nextgroup=perlSubError - syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe -endif -syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained -syn match perlSubPrototype +(\_[^)]*)\_s*\|+ nextgroup=perlSubAttributes contained contains=perlSubPrototypeError -syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype - -syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName - -if !exists("perl_no_scope_in_variables") - syn match perlFunctionPRef "\h\w*::" contained - syn match perlFunctionName "\h\w*[^:]" contained -else - syn match perlFunctionName "\h[[:alnum:]_:]*" contained -endif - -" The => operator forces a bareword to the left of it to be interpreted as -" a string -syn match perlString "\<\I\i*\%(\s*=>\)\@=" - -" All other # are comments, except ^#! -syn match perlComment "#.*" contains=perlTodo -syn match perlSharpBang "^#!.*" - -" Formats -syn region perlFormat matchgroup=perlStatementIOFunc start="^\s*\<format\s\+\k\+\s*=\s*$"rs=s+6 end="^\s*\.\s*$" contains=perlFormatName,perlFormatField,perlVarPlain,perlVarPlain2 -syn match perlFormatName "format\s\+\k\+\s*="lc=7,me=e-1 contained -syn match perlFormatField "[@^][|<>~]\+\%(\.\.\.\)\=" contained -syn match perlFormatField "[@^]#[#.]*" contained -syn match perlFormatField "@\*" contained -syn match perlFormatField "@[^A-Za-z_|<>~#*]"me=e-1 contained -syn match perlFormatField "@$" contained - -" __END__ and __DATA__ clauses -if exists("perl_fold") - syntax region perlDATA start="^__\%(DATA\|END\)__$" skip="." end="." contains=perlPOD,@perlDATA fold -else - syntax region perlDATA start="^__\%(DATA\|END\)__$" skip="." end="." contains=perlPOD,@perlDATA -endif - - -" -" Folding - -if exists("perl_fold") - if !exists("perl_nofold_packages") - syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend - endif - if !exists("perl_nofold_subs") - syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend - syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend - endif - - if exists("perl_fold_blocks") - syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)foreach\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend - syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend - endif - - setlocal foldmethod=syntax - syn sync fromstart -else - " fromstart above seems to set minlines even if perl_fold is not set. - syn sync minlines=0 -endif - - -command -nargs=+ HiLink hi def link <args> - -" The default highlighting. -HiLink perlSharpBang PreProc -HiLink perlControl PreProc -HiLink perlInclude Include -HiLink perlSpecial Special -HiLink perlString String -HiLink perlCharacter Character -HiLink perlNumber Number -HiLink perlFloat Float -HiLink perlType Type -HiLink perlIdentifier Identifier -HiLink perlLabel Label -HiLink perlStatement Statement -HiLink perlConditional Conditional -HiLink perlRepeat Repeat -HiLink perlOperator Operator -HiLink perlFunction Keyword -HiLink perlSubName Function -HiLink perlSubPrototype Type -HiLink perlSubAttributes PreProc -HiLink perlSubAttributesCont perlSubAttributes -HiLink perlComment Comment -HiLink perlTodo Todo -if exists("perl_string_as_statement") - HiLink perlStringStartEnd perlStatement -else - HiLink perlStringStartEnd perlString -endif -HiLink perlVStringV perlStringStartEnd -HiLink perlList perlStatement -HiLink perlMisc perlStatement -HiLink perlVarPlain perlIdentifier -HiLink perlVarPlain2 perlIdentifier -HiLink perlArrow perlIdentifier -HiLink perlFiledescRead perlIdentifier -HiLink perlFiledescStatement perlIdentifier -HiLink perlVarSimpleMember perlIdentifier -HiLink perlVarSimpleMemberName perlString -HiLink perlVarNotInMatches perlIdentifier -HiLink perlVarSlash perlIdentifier -HiLink perlQQ perlString -HiLink perlHereDoc perlString -HiLink perlStringUnexpanded perlString -HiLink perlSubstitutionSQ perlString -HiLink perlSubstitutionGQQ perlString -HiLink perlTranslationGQ perlString -HiLink perlMatch perlString -HiLink perlMatchStartEnd perlStatement -HiLink perlFormatName perlIdentifier -HiLink perlFormatField perlString -HiLink perlPackageDecl perlType -HiLink perlStorageClass perlType -HiLink perlPackageRef perlType -HiLink perlStatementPackage perlStatement -HiLink perlStatementStorage perlStatement -HiLink perlStatementControl perlStatement -HiLink perlStatementScalar perlStatement -HiLink perlStatementRegexp perlStatement -HiLink perlStatementNumeric perlStatement -HiLink perlStatementList perlStatement -HiLink perlStatementHash perlStatement -HiLink perlStatementIOfunc perlStatement -HiLink perlStatementFiledesc perlStatement -HiLink perlStatementVector perlStatement -HiLink perlStatementFiles perlStatement -HiLink perlStatementFlow perlStatement -HiLink perlStatementInclude perlStatement -HiLink perlStatementProc perlStatement -HiLink perlStatementSocket perlStatement -HiLink perlStatementIPC perlStatement -HiLink perlStatementNetwork perlStatement -HiLink perlStatementPword perlStatement -HiLink perlStatementTime perlStatement -HiLink perlStatementMisc perlStatement -HiLink perlStatementIndirObj perlStatement -HiLink perlFunctionName perlIdentifier -HiLink perlMethod perlIdentifier -HiLink perlFunctionPRef perlType -HiLink perlPOD perlComment -HiLink perlShellCommand perlString -HiLink perlSpecialAscii perlSpecial -HiLink perlSpecialDollar perlSpecial -HiLink perlSpecialString perlSpecial -HiLink perlSpecialStringU perlSpecial -HiLink perlSpecialMatch perlSpecial -HiLink perlDATA perlComment - -" Possible errors -HiLink perlNotEmptyLine Error -HiLink perlElseIfError Error -HiLink perlSubPrototypeError Error -HiLink perlSubError Error - -delcommand HiLink - -" Syncing to speed up processing -" -if !exists("perl_no_sync_on_sub") - syn sync match perlSync grouphere NONE "^\s*\<package\s" - syn sync match perlSync grouphere NONE "^\s*\<sub\>" - syn sync match perlSync grouphere NONE "^}" -endif - -if !exists("perl_no_sync_on_global_var") - syn sync match perlSync grouphere NONE "^$\I[[:alnum:]_:]+\s*=\s*{" - syn sync match perlSync grouphere NONE "^[@%]\I[[:alnum:]_:]+\s*=\s*(" -endif - -if exists("perl_sync_dist") - execute "syn sync maxlines=" . perl_sync_dist -else - syn sync maxlines=100 -endif - -syn sync match perlSyncPOD grouphere perlPOD "^=pod" -syn sync match perlSyncPOD grouphere perlPOD "^=head" -syn sync match perlSyncPOD grouphere perlPOD "^=item" -syn sync match perlSyncPOD grouphere NONE "^=cut" - -let b:current_syntax = "perl" - -" vim: ts=8 diff --git a/vim/syntax/snippet.vim b/vim/syntax/snippet.vim deleted file mode 100644 index 5e919e7..0000000 --- a/vim/syntax/snippet.vim +++ /dev/null @@ -1,19 +0,0 @@ -" Syntax highlighting for snippet files (used for snipMate.vim) -" Hopefully this should make snippets a bit nicer to write! -syn match snipComment '^#.*' -syn match placeHolder '\${\d\+\(:.\{-}\)\=}' contains=snipCommand -syn match tabStop '\$\d\+' -syn match snipCommand '`.\{-}`' -syn match snippet '^snippet.*' transparent contains=multiSnipText,snipKeyword -syn match multiSnipText '\S\+ \zs.*' contained -syn match snipKeyword '^snippet'me=s+8 contained -syn match snipError "^[^#s\t].*$" - -hi link snipComment Comment -hi link multiSnipText String -hi link snipKeyword Keyword -hi link snipComment Comment -hi link placeHolder Special -hi link tabStop Special -hi link snipCommand String -hi link snipError Error diff --git a/vim/syntax/tt2.vim b/vim/syntax/tt2.vim deleted file mode 100755 index 09f5f7c..0000000 --- a/vim/syntax/tt2.vim +++ /dev/null @@ -1,213 +0,0 @@ -" Vim syntax file -" Language: TT2 ( Perl Module Template-Toolkit 2.x ) -" References: Template-Toolkit 2 -" http://search.cpan.org/~abw/Template-Toolkit/ -" http://template-toolkit.org/ -" C:\> perldoc Template -" C:\> perldoc Template::Manual::Directives -" Last Change: 16 May 2007 -" Filenames: *.tt2 -" Maintainar: Moriki, Atsushi <4woods+vim@gmail.com> -" Version: 0.1.3 -" Summary: Syntax Highlight for Template-Toolkit 2.x -" Description: Syntax Highlight for Template-Toolkit 2.x -" Contain Perl code in PERL/RAWPERL directive. (runtime sytax/perl.vim) -" No fold. -" HTML syntax for including TT2 syntax. ( tt2html.vim / unfinished ) -" Can define START_TAG/END_TAG for your style. -" -" Instration: -" put tt2.vim and tt2html.vim in to your syntax diretory. -" -" add below in your filetype.vim. -" au BufNewFile,BufRead *.tt2 setf tt2 -" or -" au BufNewFile,BufRead *.tt2 -" \ if ( getline(1) . getline(2) . getline(3) =~ '<\chtml' | -" \ && getline(1) . getline(2) . getline(3) !~ '<[%?]' ) | -" \ || getline(1) =~ '<!DOCTYPE HTML' | -" \ setf tt2html | -" \ else | -" \ setf tt2 | -" \ endif -" -" define START_TAG, END_TAG -" "ASP" -" :let b:tt2_syn_tags = '<% %>' -" "PHP" -" :let b:tt2_syn_tags = '<? ?>' -" "TT2 and HTML" -" :let b:tt2_syn_tags = '\[% %] <!-- -->' -" -" Changes: -" 0.1.3 -" Changed fileformat from 'dos' to 'unix' -" Deleted 'echo' that print obstructive message -" 0.1.2 -" Added block comment syntax -" e.g. [%# COMMENT -" COMMENT TOO %] -" [%# IT'S SAFE %] HERE IS OUTSIDE OF TT2 DIRECTIVE -" [% # WRONG!! %] HERE STILL BE COMMENT -" 0.1.1 -" Release -" 0.1.0 -" Internal -" -" License: follow Vim :help uganda -" - -if !exists("b:tt2_syn_tags") - let b:tt2_syn_tags = '\[% %]' - "let b:tt2_syn_tags = '\[% %] \[\* \*]' -endif - -let b:tt2_syn_inc_perl = 1 - -if exists("b:current_syntax") - finish -endif - -syn case match - -syn cluster tt2_top_cluster contains=tt2_perlcode,tt2_tag_region - -" TT2 TAG Region -if exists("b:tt2_syn_tags") - - let s:str = b:tt2_syn_tags . ' ' - let s:str = substitute(s:str,'^ \+','','g') - let s:str = substitute(s:str,' \+',' ','g') - - while stridx(s:str,' ') > 0 - - let s:st = strpart(s:str,0,stridx(s:str,' ')) - let s:str = substitute(s:str,'[^ ]* ','',"") - - let s:ed = strpart(s:str,0,stridx(s:str,' ')) - let s:str = substitute(s:str,'[^ ]* ','',"") - - exec 'syn region tt2_tag_region '. - \ 'matchgroup=tt2_tag '. - \ 'start=+\(' . s:st .'\)[-]\=+ '. - \ 'end=+[-]\=\(' . s:ed . '\)+ '. - \ 'contains=@tt2_statement_cluster keepend extend' - - exec 'syn region tt2_commentblock_region '. - \ 'matchgroup=tt2_tag '. - \ 'start=+\(' . s:st .'\)[-]\=\(#\)\@=+ '. - \ 'end=+[-]\=\(' . s:ed . '\)+ '. - \ 'keepend extend' - - "Include Perl syntax when 'PERL' 'RAWPERL' block - if exists("b:tt2_syn_inc_perl") - syn include @Perl $VIMRUNTIME/syntax/perl.vim - exec 'syn region tt2_perlcode '. - \ 'start=+\(\(RAW\)\=PERL\s*[-]\=' . s:ed . '\(\n\)\=\)\@<=+ ' . - \ 'end=+' . s:st . '[-]\=\s*END+me=s-1 contains=@Perl keepend' - endif - - "echo 'TAGS ' . s:st . ' ' . s:ed - unlet s:st - unlet s:ed - endwhile - -else - - syn region tt2_tag_region - \ matchgroup=tt2_tag - \ start=+\(\[%\)[-]\=+ - \ end=+[-]\=%\]+ - \ contains=@tt2_statement_cluster keepend extend - - syn region tt2_commentblock_region - \ matchgroup=tt2_tag - \ start=+\(\[%\)[-]\=#+ - \ end=+[-]\=%\]+ - \ keepend extend - - "Include Perl syntax when 'PERL' 'RAWPERL' block - if exists("b:tt2_syn_inc_perl") - syn include @Perl $VIMRUNTIME/syntax/perl.vim - syn region tt2_perlcode - \ start=+\(\(RAW\)\=PERL\s*[-]\=%]\(\n\)\=\)\@<=+ - \ end=+\[%[-]\=\s*END+me=s-1 - \ contains=@Perl keepend - endif -endif - -" Directive -syn keyword tt2_directive contained - \ GET CALL SET DEFAULT DEBUG - \ LAST NEXT BREAK STOP BLOCK - \ IF IN UNLESS ELSIF FOR FOREACH WHILE SWITCH CASE - \ USE PLUGIN MACRO META - \ TRY FINAL RETURN LAST - \ CLEAR TO STEP AND OR NOT MOD DIV - \ ELSE PERL RAWPERL END -syn match tt2_directive +|+ contained -syn keyword tt2_directive contained nextgroup=tt2_string_q,tt2_string_qq,tt2_blockname skipwhite skipempty - \ INSERT INCLUDE PROCESS WRAPPER FILTER - \ THROW CATCH -syn keyword tt2_directive contained nextgroup=tt2_def_tag skipwhite skipempty - \ TAGS - -syn match tt2_def_tag "\S\+\s\+\S\+\|\<\w\+\>" contained - -syn match tt2_variable +\I\w*+ contained -syn match tt2_operator "[+*/%:?-]" contained -syn match tt2_operator "\<\(mod\|div\|or\|and\|not\)\>" contained -syn match tt2_operator "[!=<>]=\=\|&&\|||" contained -syn match tt2_operator "\(\s\)\@<=_\(\s\)\@=" contained -syn match tt2_operator "=>\|," contained -syn match tt2_deref "\([[:alnum:]_)\]}]\s*\)\@<=\." contained -syn match tt2_comment +#.*$+ contained extend -syn match tt2_func +\<\I\w*\(\s*(\)\@=+ contained nextgroup=tt2_bracket_r skipempty skipwhite -" -syn region tt2_bracket_r start=+(+ end=+)+ contained contains=@tt2_statement_cluster keepend extend -syn region tt2_bracket_b start=+\[+ end=+]+ contained contains=@tt2_statement_cluster keepend extend -syn region tt2_bracket_b start=+{+ end=+}+ contained contains=@tt2_statement_cluster keepend extend - -syn region tt2_string_qq start=+"+ end=+"+ skip=+\\"+ contained contains=tt2_ivariable keepend extend -syn region tt2_string_q start=+'+ end=+'+ skip=+\\'+ contained keepend extend - -syn match tt2_ivariable +\$\I\w*\>\(\.\I\w*\>\)*+ contained -syn match tt2_ivariable +\${\I\w*\>\(\.\I\w*\>\)*}+ contained - -syn match tt2_number "\d\+" contained -syn match tt2_number "\d\+\.\d\+" contained -syn match tt2_number "0x\x\+" contained -syn match tt2_number "0\o\+" contained - -syn match tt2_blockname "\f\+" contained nextgroup=tt2_blockname_joint skipwhite skipempty -syn match tt2_blockname "$\w\+" contained contains=tt2_ivariable nextgroup=tt2_blockname_joint skipwhite skipempty -syn region tt2_blockname start=+"+ end=+"+ skip=+\\"+ contained contains=tt2_ivariable nextgroup=tt2_blockname_joint keepend skipwhite skipempty -syn region tt2_blockname start=+'+ end=+'+ skip=+\\'+ contained nextgroup=tt2_blockname_joint keepend skipwhite skipempty -syn match tt2_blockname_joint "+" contained nextgroup=tt2_blockname skipwhite skipempty - -syn cluster tt2_statement_cluster contains=tt2_directive,tt2_variable,tt2_operator,tt2_string_q,tt2_string_qq,tt2_deref,tt2_comment,tt2_func,tt2_bracket_b,tt2_bracket_r,tt2_number - -"Sincronizing -syn sync minlines=50 - -hi def link tt2_tag Type -hi def link tt2_tag_region Type -hi def link tt2_commentblock_region Comment -hi def link tt2_directive Statement -hi def link tt2_variable Identifier -hi def link tt2_ivariable Identifier -hi def link tt2_operator Statement -hi def link tt2_string_qq String -hi def link tt2_string_q String -hi def link tt2_blockname String -hi def link tt2_comment Comment -hi def link tt2_func Function -hi def link tt2_number Number - -if exists("b:tt2_syn_tags") - unlet b:tt2_syn_tags -endif - -let b:current_syntax = "tt2" - -" vim:ts=4:sw=4 diff --git a/vim/syntax/tt2html.vim b/vim/syntax/tt2html.vim deleted file mode 100755 index d516cd9..0000000 --- a/vim/syntax/tt2html.vim +++ /dev/null @@ -1,12 +0,0 @@ -" Vim syntax file -" Language: TT2 ( Inner HTML ) -" Last Change: 16 May 2007 -" Maintainar: Atsushi Moriki <4woods+vim@gmail.com> - -runtime! syntax/html.vim -unlet b:current_syntax - -so <sfile>:p:h/tt2.vim -unlet b:current_syntax -syn cluster htmlPreProc add=@tt2_top_cluster - |