Created
March 14, 2017 15:53
-
-
Save petdance/a08a21e3ad4724f5203b1cd9bfbcb553 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- Syntax items --- | |
podCmdText xxx match /.*$/ contained contains=podFormat,@NoSpell | |
match /.*$/ contained contains=podFormat,podBold,podBoldAlternativeDelim,podItalic,podItalicAlternativeDelim,@NoSpell | |
links to String | |
podCommand xxx match /^=encoding/ contained contains=@NoSpell nextgroup=podCmdText | |
match /^=head[1234]/ contained contains=@NoSpell nextgroup=podCmdText | |
match /^=item/ contained contains=@NoSpell nextgroup=podCmdText | |
match /^=over/ contained contains=@NoSpell nextgroup=podOverIndent skipwhite | |
match /^=back/ contained contains=@NoSpell | |
match /^=cut/ contained contains=@NoSpell | |
match /^=pod/ contained contains=@NoSpell | |
match /^=for/ contained contains=@NoSpell nextgroup=podForKeywd skipwhite | |
match /^=begin/ contained contains=@NoSpell nextgroup=podForKeywd skipwhite | |
match /^=end/ contained contains=@NoSpell nextgroup=podForKeywd skipwhite | |
links to Statement | |
podOverIndent xxx match /\d\+/ contained contains=@NoSpell | |
links to Number | |
podForKeywd xxx match /\S\+/ contained contains=@NoSpell | |
links to Identifier | |
podFormat xxx start=/[IBSCLFX]<[^<]/me=e-1 end=/>/ contained oneline contains=podFormat,@NoSpell | |
start=/[IBSCLFX]<<\s/ end=/\s>>/ contained oneline contains=podFormat,@NoSpell | |
match /Z<>/ contained | |
match /E<\(\d\+\|\I\i*\)>/ contained contains=podEscape,podEscape2,@NoSpell | |
start=/[CLF]<[^<]/me=e-1 end=/>/ contained oneline contains=podFormat,@NoSpell | |
start=/[CLF]<<\s/ end=/\s>>/ contained oneline contains=podFormat,@NoSpell | |
match /E<\(\d\+\|\I\i*\)>/ contained contains=podEscape,podEscape2,@NoSpell | |
match /Z<>/ contained contains=podEscape,podEscape2,@NoSpell | |
links to Identifier | |
podVerbatimLine xxx match /^\s.*$/ contained contains=@NoSpell | |
match /^\s.*$/ contained contains=@NoSpell | |
links to PreProc | |
podSpecial xxx match /\(\<\|&\)\I\i*\(::\I\i*\)*([^)]*)/ contained contains=@NoSpell | |
match /[$@%]\I\i*\(::\I\i*\)*\>/ contained contains=@NoSpell | |
links to Identifier | |
podEscape xxx match /\I\i*>/me=e-1 contained contains=@NoSpell | |
links to String | |
podEscape2 xxx match /\d\+>/me=e-1 contained contains=@NoSpell | |
links to Number | |
podBoldOpen xxx match /B</ contained contains=@NoSpell | |
links to podBold | |
podItalicOpen xxx match /I</ contained contains=@NoSpell | |
links to podItalic | |
podNoSpaceOpen xxx match /S</ contained contains=@NoSpell | |
podIndexOpen xxx match /X</ contained contains=@NoSpell | |
podBoldAlternativeDelimOpen xxx match /B<< / contained contains=@NoSpell | |
links to podBold | |
podItalicAlternativeDelimOpen xxx match /I<< / contained contains=@NoSpell | |
links to podItalic | |
podNoSpaceAlternativeDelimOpen xxx match /S<< / contained contains=@NoSpell | |
podIndexAlternativeDelimOpen xxx match /X<< / contained contains=@NoSpell | |
podBoldItalic xxx start=/I<[^<]/me=e end=/>/ contained oneline | |
podBold xxx start=/B<[^<]/me=e end=/>/ contained oneline contains=podBoldItalic,podBoldOpen | |
podBoldAlternativeDelim xxx start=/B<<\s/ end=/\s>>/ contained oneline contains=podBoldAlternativeDelimOpen | |
links to podBold | |
podItalicBold xxx start=/B<[^<]/me=e end=/>/ contained oneline | |
podItalic xxx start=/I<[^<]/me=e end=/>/ contained oneline contains=podItalicBold,podItalicOpen | |
podItalicAlternativeDelim xxx start=/I<<\s/ end=/\s>>/ contained oneline contains=podItalicAlternativeDelimOpen | |
links to podItalic | |
podNoSpace xxx start=/S<[^<]/ms=s-2 end=/>/me=e contained oneline contains=podNoSpaceOpen | |
links to Identifier | |
podNoSpaceAlternativeDelim xxx start=/S<<\s/ms=s-2 end=/\s>>/me=e contained oneline contains=podNoSpaceAlternativeDelimOpen | |
links to Identifier | |
podIndex xxx start=/X<[^<]/ms=s-2 end=/>/me=e contained oneline contains=podIndexOpen | |
links to Identifier | |
podIndexAlternativeDelim xxx start=/X<<\s/ms=s-2 end=/\s>>/me=e contained oneline contains=podIndexAlternativeDelimOpen | |
links to Identifier | |
perlTodo xxx contained TODO: NOTE: TBD TBD: NOTE FIXME: XXX FIXME XXX: TODO | |
links to Todo | |
perlPOD xxx start=/^=[a-z]/ end=/^=cut/ keepend contains=@Pod,@Spell,perlTodo | |
start=/^=cut/ end=/^=cut/ keepend contains=perlTodo | |
perlBraces xxx start=/{/ end=/}/ extend transparent | |
perlConditional xxx match /\<\%(if\|elsif\|unless\|given\|when\|default\)\>/ | |
match /\<else\%(\%(\_s\*if\>\)\|\>\)/ contains=perlElseIfError | |
links to Conditional | |
perlElseIfError xxx containedin=perlConditional elseif | |
match /else\_s*if/ containedin=perlConditional | |
links to Error | |
perlRepeat xxx match /\<\%(while\|for\%(each\)\=\|do\|until\|continue\)\>/ | |
links to Repeat | |
perlOperator xxx match /\<\%(defined\|undef\|eq\|ne\|[gl][et]\|cmp\|not\|and\|or\|xor\|not\|bless\|ref\|do\)\>/ | |
links to Operator | |
perlFakeGroup xxx match // contained | |
perlControl xxx match /\<\%(BEGIN\|CHECK\|INIT\|END\|UNITCHECK\)\>\_s*/ nextgroup=perlFakeGroup | |
links to PreProc | |
perlStatementStorage xxx match /\<\%(my\|our\|local\|state\)\>/ | |
links to perlStatement | |
perlStatementControl xxx match /\<\%(return\|last\|next\|redo\|goto\|break\)\>/ | |
links to perlStatement | |
perlStatementScalar xxx match /\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|fc\|uc\%(first\)\=\)\>/ | |
links to perlStatement | |
perlStatementRegexp xxx match /\<\%(pos\|quotemeta\|split\|study\)\>/ | |
links to perlStatement | |
perlStatementNumeric xxx match /\<\%(abs\|atan2\|cos\|exp\|hex\|int\|log\|oct\|rand\|sin\|sqrt\|srand\)\>/ | |
links to perlStatement | |
perlStatementList xxx match /\<\%(splice\|unshift\|shift\|push\|pop\|join\|reverse\|grep\|map\|sort\|unpack\)\>/ | |
links to perlStatement | |
perlStatementHash xxx match /\<\%(delete\|each\|exists\|keys\|values\)\>/ | |
links to perlStatement | |
perlStatementIOfunc xxx match /\<\%(syscall\|dbmopen\|dbmclose\)\>/ | |
links to perlStatement | |
perlFiledescStatementNocomma xxx match /(\=\s*\<\u\w*\>\s*[^, \t]/me=e-1 contained transparent contains=perlFiledescStatement | |
perlStatementFiledesc xxx match /\<\%(binmode\|close\%(dir\)\=\|eof\|fileno\|getc\|lstat\|printf\=\|read\%(dir\|line\|pipe\)\|rewinddir\|say\|select\|stat\|tell\%(dir\)\=\|write\)\>/ nextgroup=perlFiledescStatementNocomma skipwhite | |
match /\<\%(fcntl\|flock\|ioctl\|open\%(dir\)\=\|read\|seek\%(dir\)\=\|sys\%(open\|read\|seek\|write\)\|truncate\)\>/ nextgroup=perlFiledescStatementComma skipwhite | |
links to perlStatement | |
perlFiledescStatementComma xxx match /(\=\s*\<\u\w*\>\s*,/me=e-1 contained transparent contains=perlFiledescStatement | |
perlStatementVector xxx match /\<vec\>/ | |
links to perlStatement | |
perlStatementFiles xxx match /\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>/ | |
match /-[rwxoRWXOezsfdlpSbctugkTBMAC]\>/ | |
links to perlStatement | |
perlStatementFlow xxx match /\<\%(caller\|die\|dump\|eval\|exit\|wantarray\|evalbytes\)\>/ | |
links to perlStatement | |
perlStatementInclude xxx match /\<\%(require\|import\|unimport\)\>/ | |
match /\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autodie\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|overloading\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\=/ | |
links to perlStatement | |
perlStatementProc xxx match /\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>/ | |
links to perlStatement | |
perlStatementSocket xxx match /\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>/ | |
links to perlStatement | |
perlStatementIPC xxx match /\<\%(msg\%(ctl\|get\|rcv\|snd\)\|sem\%(ctl\|get\|op\)\|shm\%(ctl\|get\|read\|write\)\)\>/ | |
links to perlStatement | |
perlStatementNetwork xxx match /\<\%(\%(end\|[gs]et\)\%(host\|net\|proto\|serv\)ent\|get\%(\%(host\|net\)by\%(addr\|name\)\|protoby\%(name\|number\)\|servby\%(name\|port\)\)\)\>/ | |
links to perlStatement | |
perlStatementPword xxx match /\<\%(get\%(pw\%(uid\|nam\)\|gr\%(gid\|nam\)\|login\)\)\|\%(end\|[gs]et\)\%(pw\|gr\)ent\>/ | |
links to perlStatement | |
perlStatementTime xxx match /\<\%(gmtime\|localtime\|time\)\>/ | |
links to perlStatement | |
perlStatementMisc xxx match /\<\%(warn\|format\|formline\|reset\|scalar\|prototype\|lock\|tied\=\|untie\)\>/ | |
links to perlStatement | |
perlStatementIndirObjWrap xxx matchgroup=perlStatementIndirObj start=/\%(\<\%(map\|grep\|sort\|printf\=\|say\|system\|exec\)\>\s*\)\@<={/ end=/}/ extend transparent | |
perlLabel xxx match /^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!/ | |
links to Label | |
perlVarPlain xxx match /$^[ACDEFHILMNOPRSTVWX]\=/ | |
match /$[\\\"\[\]'&`+*.,;=%~!?@#$<>(-]/ | |
match /@[-+]/ | |
match /$\%(0\|[1-9]\d*\)/ | |
match /$::\@!/ | |
match /\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)/ contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
match /\%(\$#\|[@$]\)\$*{\I\i*}/ extend nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
links to perlIdentifier | |
perlVarNotInMatches xxx match /$[|)]/ | |
links to perlIdentifier | |
perlVarSlash xxx match +$/+ | |
links to perlIdentifier | |
perlPackageRef xxx match /[$@#%*&]\%(\%(::\|'\)\=\I\i*\%(\%(::\|'\)\I\i*\)*\)\=\%(::\|'\)\I/ms=s+1,me=e-1 contained | |
links to perlType | |
perlVarMember xxx matchgroup=perlVarPlain start=/\%(->\)\={/ skip=/\\}/ end=/}/ contained extend contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
matchgroup=perlVarPlain start=/\%(->\)\=\[/ skip=/\\]/ end=/]/ contained extend contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
perlVarSimpleMember xxx match /\%(->\)\={\s*\I\i*\s*}/ contained extend contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
links to perlIdentifier | |
perlMethod xxx match /->\$*\I\i*/ contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref | |
links to perlIdentifier | |
perlPostDeref xxx match /->\%($#\|[$@%&*]\)\*/ contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref | |
start=/->\%($#\|[$@%&*]\)\[/ skip=/\\]/ end=/]/ contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref | |
matchgroup=perlPostDeref start=/->\%($#\|[$@%&*]\){/ skip=/\\}/ end=/}/ contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref | |
links to perlIdentifier | |
perlVarPlain2 xxx match /%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)/ contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
match /%[-+]/ | |
match /[%&*]\$*{\I\i*}/ extend nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
links to perlIdentifier | |
perlFunctionName xxx match /&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)/ contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
links to perlIdentifier | |
perlVarBlock xxx matchgroup=perlVarPlain start=/\%($#\|[$@]\)\$*{/ skip=/\\}/ end=/}\|\%(\%(<<\%('\|"\)\?\)\@=\)/ extend contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
perlVarBlock2 xxx matchgroup=perlVarPlain start=/[%&*]\$*{/ skip=/\\}/ end=/}\|\%(\%(<<\%('\|"\)\?\)\@=\)/ extend contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
perlShellCommand xxx matchgroup=perlMatchStartEnd start=/`/ end=/`/ keepend contains=@perlInterpDQ | |
links to perlString | |
perlFloat xxx match /\<\d[[:digit:]_]*[eE][\-+]\=\d\+/ | |
match /\<\d[[:digit:]_]*\.[[:digit:]_]*\%([eE][\-+]\=\d\+\)\=/ | |
match /\.[[:digit:]][[:digit:]_]*\%([eE][\-+]\=\d\+\)\=/ | |
links to Float | |
perlNumber xxx match /\<\%(0\%(x\x[[:xdigit:]_]*\|b[01][01_]*\|\o[0-7_]*\|\)\|[1-9][[:digit:]_]*\)\>/ | |
links to Number | |
perlStringUnexpanded xxx matchgroup=perlStringStartEnd start=/'/ end=/'/ keepend extend contains=@perlInterpSQ | |
links to perlString | |
perlString xxx match /\<\%(v\d\+\%(\.\d\+\)*\|\d\+\%(\.\d\+\)\{2,}\)\>/ contains=perlVStringV | |
matchgroup=perlStringStartEnd start=/"/ end=/"/ keepend extend contains=@perlInterpDQ | |
match /\I\@<!-\?\I\i*\%(\s*=>\)\@=/ | |
links to String | |
perlQQ xxx matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q\>\s*\z([^[:space:]#([{<]\)/ end=/\z1/ keepend extend contains=@perlInterpSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q#/ end=/#/ keepend extend contains=@perlInterpSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q\s*(/ end=/)/ keepend extend contains=@perlInterpSQ,perlParensSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q\s*\[/ end=/\]/ keepend extend contains=@perlInterpSQ,perlBracketsSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q\s*{/ end=/}/ keepend extend contains=@perlInterpSQ,perlBracesSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q\s*</ end=/>/ keepend extend contains=@perlInterpSQ,perlAnglesSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q[qx]\>\s*\z([^[:space:]#([{<]\)/ end=/\z1/ keepend extend contains=@perlInterpDQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q[qx]#/ end=/#/ keepend extend contains=@perlInterpDQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q[qx]\s*(/ end=/)/ keepend extend contains=@perlInterpDQ,perlParensDQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q[qx]\s*\[/ end=/\]/ keepend extend contains=@perlInterpDQ,perlBracketsDQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q[qx]\s*{/ end=/}/ keepend extend contains=@perlInterpDQ,perlBracesDQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!q[qx]\s*</ end=/>/ keepend extend contains=@perlInterpDQ,perlAnglesDQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qw\s*\z([^[:space:]#([{<]\)/ end=/\z1/ keepend extend contains=@perlInterpSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qw#/ end=/#/ keepend extend contains=@perlInterpSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qw\s*(/ end=/)/ keepend extend contains=@perlInterpSQ,perlParensSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qw\s*\[/ end=/\]/ keepend extend contains=@perlInterpSQ,perlBracketsSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qw\s*{/ end=/}/ keepend extend contains=@perlInterpSQ,perlBracesSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qw\s*</ end=/>/ keepend extend contains=@perlInterpSQ,perlAnglesSQ | |
matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=/\z1[imosxdual]*/ keepend extend contains=@perlInterpMatch | |
matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosxdual]*+ keepend extend contains=@perlInterpSlash | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qr#/ end=/#[imosxdual]*/ keepend extend contains=@perlInterpMatch | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qr\s*'/ end=/'[imosxdual]*/ keepend extend contains=@perlInterpSQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qr\s*(/ end=/)[imosxdual]*/ keepend extend contains=@perlInterpMatch,perlParensDQ | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qr\s*{/ end=/}[imosxdual]*/ keepend extend contains=@perlInterpMatch,perlBracesDQ,perlComment | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qr\s*</ end=/>[imosxdual]*/ keepend extend contains=@perlInterpMatch,perlAnglesDQ,perlComment | |
matchgroup=perlStringStartEnd start=/\<\%(::\|'\|->\)\@<!qr\s*\[/ end=/\][imosxdual]*/ keepend extend contains=@perlInterpMatch,perlBracketsDQ,perlComment | |
links to perlString | |
perlArrow xxx matchgroup=perlArrow start=/->\s*(/ end=/)/ contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
matchgroup=perlArrow start=/->\s*\[/ end=/\]/ contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
matchgroup=perlArrow start=/->\s*{/ end=/}/ contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
match /->\s*{\s*\I\i*\s*}/ contained contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
matchgroup=perlArrow start=/->\s*\$*\I\i*\s*(/ end=/)/ contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref | |
links to perlIdentifier | |
perlVarSimpleMemberName xxx match /\I\i*/ contained | |
links to perlString | |
perlPackageConst xxx match /__PACKAGE__/ nextgroup=perlMethod,perlPostDeref | |
perlFiledescRead xxx match /<\h\w*>/ | |
links to perlIdentifier | |
perlFiledescStatement xxx match /\<\u\w*\>/ contained | |
links to perlIdentifier | |
perlSpecialString xxx match /\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)/ contained extend | |
links to perlSpecial | |
perlSpecialStringU2 xxx match /\\./ contained extend contains=NONE | |
links to perlString | |
perlSpecialStringU xxx match /\\\\/ contained | |
links to perlSpecial | |
perlSpecialMatch xxx match /\\[1-9]/ contained extend | |
match /\\g\%(\d\+\|{\%(-\=\d\+\|\h\w*\)}\)/ contained | |
match /\\k\%(<\h\w*>\|'\h\w*'\)/ contained | |
match /{\d\+\%(,\%(\d\+\)\=\)\=}/ contained | |
match /\[[]-]\=[^\[\]]*[]-]\=\]/ contained extend | |
match /[+*()?.]/ contained | |
match /(?[#:=!]/ contained | |
match /(?[impsx]*\%(-[imsx]\+\)\=)/ contained | |
match /(?\%([-+]\=\d\+\|R\))/ contained | |
match /(?\%(&\|P[>=]\)\h\w*)/ contained | |
match /(\*\%(\%(PRUNE\|SKIP\|THEN\)\%(:[^)]*\)\=\|\%(MARK\|\):[^)]*\|COMMIT\|F\%(AIL\)\=\|ACCEPT\))/ contained | |
links to perlSpecial | |
perlNotEmptyLine xxx match /^\s\+$/ contained | |
links to Error | |
perlVStringV xxx match /\<v/ contained | |
links to perlStringStartEnd | |
perlParensSQ xxx start=/(/ end=/)/ contained keepend extend contains=perlParensSQ,@perlInterpSQ | |
links to perlString | |
perlBracketsSQ xxx start=/\[/ end=/\]/ contained keepend extend contains=perlBracketsSQ,@perlInterpSQ | |
links to perlString | |
perlBracesSQ xxx start=/{/ end=/}/ contained keepend extend contains=perlBracesSQ,@perlInterpSQ | |
links to perlString | |
perlAnglesSQ xxx start=/</ end=/>/ contained keepend extend contains=perlAnglesSQ,@perlInterpSQ | |
links to perlString | |
perlParensDQ xxx start=/(/ end=/)/ contained keepend extend contains=perlParensDQ,@perlInterpDQ | |
links to perlString | |
perlBracketsDQ xxx start=/\[/ end=/\]/ contained keepend extend contains=perlBracketsDQ,@perlInterpDQ | |
links to perlString | |
perlBracesDQ xxx start=/{/ end=/}/ contained keepend extend contains=perlBracesDQ,@perlInterpDQ | |
links to perlString | |
perlAnglesDQ xxx start=/</ end=/>/ contained keepend extend contains=perlAnglesDQ,@perlInterpDQ | |
links to perlString | |
perlMatch xxx matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)/ end=/\z1[msixpodualgcn]*/ keepend extend contains=@perlInterpMatch | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!m#/ end=/#[msixpodualgcn]*/ keepend extend contains=@perlInterpMatch | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!m\s*'/ end=/'[msixpodualgcn]*/ keepend extend contains=@perlInterpSQ | |
matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[msixpodualgcn]*+ keepend extend contains=@perlInterpSlash | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!m\s*(/ end=/)[msixpodualgcn]*/ keepend extend contains=@perlInterpMatch,perlParensDQ | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!m\s*{/ end=/}[msixpodualgcn]*/ extend contains=@perlInterpMatch,perlBracesDQ | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!m\s*</ end=/>[msixpodualgcn]*/ keepend extend contains=@perlInterpMatch,perlAnglesDQ | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!m\s*\[/ end=/\][msixpodualgcn]*/ keepend extend contains=@perlInterpMatch,perlBracketsDQ | |
matchgroup=perlMatchStartEnd start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ start=+^/\%(/=\)\@!+ start=#\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!# skip=+\\/+ end=+/[msixpodualgcn]*+ extend contains=@perlInterpSlash | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!s\>\s*\z([^[:space:]'([{<#]\)/ end=/\z1/me=e-1 keepend extend contains=@perlInterpMatch nextgroup=perlSubstitutionGQQ | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!s\s*'/ end=/'/me=e-1 keepend extend contains=@perlInterpSQ nextgroup=perlSubstitutionSQ | |
matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*/+ end=+/+me=e-1 keepend extend contains=@perlInterpSlash nextgroup=perlSubstitutionGQQ | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!s#/ end=/#/me=e-1 keepend extend contains=@perlInterpMatch nextgroup=perlSubstitutionGQQ | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!s\s*(/ end=/)/ keepend extend contains=@perlInterpMatch,perlParensDQ nextgroup=perlSubstitutionGQQ skipwhite skipnl skipempty | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!s\s*</ end=/>/ keepend extend contains=@perlInterpMatch,perlAnglesDQ nextgroup=perlSubstitutionGQQ skipwhite skipnl skipempty | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!s\s*\[/ end=/\]/ keepend extend contains=@perlInterpMatch,perlBracketsDQ nextgroup=perlSubstitutionGQQ skipwhite skipnl skipempty | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!s\s*{/ end=/}/ keepend extend contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipnl skipempty | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!\%(tr\|y\)\>\s*\z([^[:space:]([{<#]\)/ end=/\z1/me=e-1 contains=@perlInterpSQ nextgroup=perlTranslationGQ | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!\%(tr\|y\)#/ end=/#/me=e-1 contains=@perlInterpSQ nextgroup=perlTranslationGQ | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*\[/ end=/\]/ contains=@perlInterpSQ,perlBracketsSQ nextgroup=perlTranslationGQ skipwhite skipnl skipempty | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*(/ end=/)/ contains=@perlInterpSQ,perlParensSQ nextgroup=perlTranslationGQ skipwhite skipnl skipempty | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*</ end=/>/ contains=@perlInterpSQ,perlAnglesSQ nextgroup=perlTranslationGQ skipwhite skipnl skipempty | |
matchgroup=perlMatchStartEnd start=/\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*{/ end=/}/ contains=@perlInterpSQ,perlBracesSQ nextgroup=perlTranslationGQ skipwhite skipnl skipempty | |
links to perlString | |
perlSubstitutionGQQ xxx matchgroup=perlMatchStartEnd start=/\z([^[:space:]'([{<]\)/ end=/\z1[msixpodualgcern]*/ contained keepend extend contains=@perlInterpDQ | |
matchgroup=perlMatchStartEnd start=/(/ end=/)[msixpodualgcern]*/ contained keepend extend contains=@perlInterpDQ,perlParensDQ | |
matchgroup=perlMatchStartEnd start=/\[/ end=/\][msixpodualgcern]*/ contained keepend extend contains=@perlInterpDQ,perlBracketsDQ | |
matchgroup=perlMatchStartEnd start=/{/ end=/}[msixpodualgcern]*/ contained keepend extend contains=@perlInterpDQ,perlBracesDQ | |
matchgroup=perlMatchStartEnd start=/</ end=/>[msixpodualgcern]*/ contained keepend extend contains=@perlInterpDQ,perlAnglesDQ | |
links to perlString | |
perlSubstitutionSQ xxx matchgroup=perlMatchStartEnd start=/'/ end=/'[msixpodualgcern]*/ contained keepend extend contains=@perlInterpSQ | |
links to perlString | |
perlTranslationGQ xxx matchgroup=perlMatchStartEnd start=/\z([^[:space:]([{<]\)/ end=/\z1[cdsr]*/ contained | |
matchgroup=perlMatchStartEnd start=/(/ end=/)[cdsr]*/ contained contains=perlParensSQ | |
matchgroup=perlMatchStartEnd start=/\[/ end=/\][cdsr]*/ contained contains=perlBracketsSQ | |
matchgroup=perlMatchStartEnd start=/{/ end=/}[cdsr]*/ contained contains=perlBracesSQ | |
matchgroup=perlMatchStartEnd start=/</ end=/>[cdsr]*/ contained contains=perlAnglesSQ | |
links to perlString | |
perlComment xxx match /#.*/ extend contains=perlTodo,@Spell | |
links to Comment | |
perlHereDocStart xxx matchgroup=perlStringStartEnd start=/<<\z(\I\i*\)/ end=/$/ oneline contains=@perlTop | |
matchgroup=perlStringStartEnd start=/<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"/ end=/$/ oneline contains=@perlTop | |
matchgroup=perlStringStartEnd start=/<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'/ end=/$/ oneline contains=@perlTop | |
matchgroup=perlStringStartEnd start=/<<\s*""/ end=/$/ oneline contains=@perlTop | |
matchgroup=perlStringStartEnd start=/<<\s*''/ end=/$/ oneline contains=@perlTop | |
perlHereDoc xxx start=/<<\z(\I\i*\)/ matchgroup=perlStringStartEnd end=/^\z1$/ contains=perlHereDocStart,@perlInterpDQ | |
start=/<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"/ matchgroup=perlStringStartEnd end=/^\z1$/ contains=perlHereDocStart,@perlInterpDQ | |
start=/<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'/ matchgroup=perlStringStartEnd end=/^\z1$/ contains=perlHereDocStart,@perlInterpSQ | |
start=/<<\s*""/ matchgroup=perlStringStartEnd end=/^$/ contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine | |
start=/<<\s*''/ matchgroup=perlStringStartEnd end=/^$/ contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine | |
links to perlString | |
perlAutoload xxx matchgroup=perlStringStartEnd start=/<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1/ end=/^\z1$/ contains=ALL | |
perlStatementPackage xxx contained package | |
links to perlStatement | |
perlPackageDecl xxx match /\<package\s\+\%(\h\|::\)\%(\w\|::\)*/ contains=perlStatementPackage | |
links to perlType | |
perlSubError xxx match /[^[:space:];{#]/ contained | |
links to Error | |
perlSubAttributesCont xxx match /\h\w*\_s*\%(:\_s*\)\=/ contained nextgroup=@perlSubAttrMaybe | |
matchgroup=perlSubAttributesCont start=/\h\w*(/ end=/)\_s*\%(:\_s*\)\=/ contained contains=@perlInterpSQ,perlParensSQ nextgroup=@perlSubAttrMaybe | |
links to perlSubAttributes | |
perlSubAttributes xxx match // contained nextgroup=perlSubError | |
match /:\_s*/ contained nextgroup=@perlSubAttrMaybe | |
links to PreProc | |
perlSubPrototypeError xxx match /(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+/ contained | |
links to Error | |
perlSubPrototype xxx match /(\_[^)]*)\_s*/ contained contains=perlSubPrototypeError nextgroup=perlSubAttributes,perlComment | |
links to Type | |
perlSubName xxx match /\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|/ contained nextgroup=perlSubPrototype,perlSignature,perlSubAttributes,perlComment | |
links to Function | |
perlFunction xxx match /\<sub\>\_s*/ nextgroup=perlSubName | |
links to Keyword | |
perlSharpBang xxx match /^#!.*/ | |
links to PreProc | |
perlFormatName xxx match /format\s\+\k\+\s*=/ms=s+7,me=e-1,lc=7 contained | |
links to perlIdentifier | |
perlFormatField xxx match /[@^][|<>~]\+\%(\.\.\.\)\=/ contained | |
match /[@^]#[#.]*/ contained | |
match /@\*/ contained | |
match /@[^A-Za-z_|<>~#*]/me=e-1 contained | |
match /@$/ contained | |
links to perlString | |
perlFormat xxx matchgroup=perlStatementIOfunc start=/^\s*\<format\s\+\k\+\s*=\s*$/rs=s+6 end=/^\s*\.\s*$/ contains=perlFormatName,perlFormatField,perlVarPlain,perlVarPlain2 | |
perlDATA xxx start=/^__DATA__$/ skip=/./ end=/./ contains=@perlDATA | |
start=/^__END__$/ skip=/./ end=/./ contains=perlPOD,@perlDATA | |
links to perlComment | |
sqlSpecial xxx contained true null false | |
links to Special | |
sqlKeyword xxx contained check offline pctfree return of on initrans parallel index end nologging maxextents nowait initial view online for tablespace table where immediate unique privileges maxtrans having start identified type increment cluster from when using | |
contained current loop file share compress mode public if into outer is level option join cache trigger link row exception monitoring to begin add rows procedure order connect modify nocache user exclusive elsif values as logging inner resource | |
contained smallint asc cross whenever size session by with rowlabel else noparallel access column decimal right left default group validate then function rownum desc case pctused synonym nocompress cursor successful uid | |
links to sqlSpecial | |
sqlOperator xxx contained or like and some any out intersect all in minus escape exists sysdate union not prior distinct between | |
links to sqlStatement | |
sqlStatement xxx contained comment explain lock drop alter delete analyze rename savepoint rollback audit insert create set grant noaudit revoke commit update execute select truncate | |
links to Statement | |
sqlType xxx contained number date rowid long varray raw varchar2 mlslabel float boolean integer character varchar char | |
links to Type | |
sqlString xxx matchgroup=Quote start=/"/ skip=/\\\\\|\\"/ end=/"/ contained | |
matchgroup=Quote start=/'/ skip=/\\\\\|\\'/ end=/'/ contained | |
matchgroup=Quote start=/n\?q'\z([^[(<{]\)/ end=/\z1'/ contained | |
matchgroup=Quote start=/n\?q'</ end=/>'/ contained | |
matchgroup=Quote start=/n\?q'{/ end=/}'/ contained | |
matchgroup=Quote start=/n\?q'(/ end=/)'/ contained | |
matchgroup=Quote start=/n\?q'\[/ end=/]'/ contained | |
links to String | |
sqlNumber xxx match /-\=\<\d*\.\=[0-9_]\>/ contained | |
links to Number | |
sqlTodo xxx contained note xxx todo fixme debug | |
links to Todo | |
sqlComment xxx start=+/\*+ end=+\*/+ contained fold contains=sqlTodo,@Spell | |
match /--.*$/ contained contains=sqlTodo,@Spell | |
links to Comment | |
sqlFold xxx start=/^\s*\zs\c\(Create\|Update\|Alter\|Select\|Insert\)/ end=/;$\|^$/ contained transparent fold contains=ALL | |
sqlFunction xxx contained instr bitand path lnnvl deletexml tanh avg collect collect floor substr covar_pop atan2 nvl2 cluster_set concat abs var_pop exp ls_charset_decl_len timestamp_to_scn coalesce regr_slope stats_t_test_indep remainder xmlroot regexp_instr atan | |
contained numtoyminterval numtoyminterval from_tz percent_rank corr_s hextoraw xmlcast prediction_probability dbtimezone regexp_substr appendchildxml prediction_bounds rawtonhex to_dsinterval to_dsinterval to_dsinterval xmlsequence xmltable xmldiff | |
contained to_nchar to_nchar to_nchar covar_samp nls_upper stats_mw_test power xmlcdata powermultiset cardin sys_dburigen grouping_id stddev sum trunc trunc stats_mode replace prediction_cost greatest xmlcolattval depth current_date to_multi_byte corr | |
contained xmlquery to_binary_double min userenv last ltrim convert nvl regexp_replace xmlparse regr_r2 stats_wsr_test rowidtonchar add_months unistr stddev_samp months_between initcap rowidtochar variance sys_typeid regr_count cosh soundex ascii | |
contained stats_crosstab new_time sys_extract_utc dense_rank sessiontimezone rtrim rank insertchildxml sys_xmlgen stddev_pop regr_intercept xmlexists to_single_byte nls_lower to_lob sin systimestamp corr_k insertxmlbefore max to_binary_float tan | |
contained to_char to_char to_char to_char feature_id next_day to_timestamp_tz to_timestamp_tz xmltransform xmlconcat count sys_connect_by_path to_number to_nclob median sinh stats_t_test_one chartorowid chr regr_sxx bin_to_num treat rawtohex empty_blob | |
contained compose extract extract nls_charset_name regr_sxy user nlssort last_day extractvalue cluster_probability stats_f_test least cluster_id sysdate sqrt xmlpatch bfilename translate translate sys_context regr_syy regr_avgx regr_avgy first length | |
contained dump prediction_details cos lpad ln to_clob upper feature_value powermultiset_by_cardinality empty_clob var_samp current_timestamp nls_charset_id ceil stats_binomial_test tz_offset existsnode decompose group_id percentile_disc nls_initcap | |
contained scn_to_timestamp nanvl round round ora_hash feature_set to_timestamp to_timestamp localtimestamp rpad asciistr xmlcomment mod sign sys_guid trim xmlserialize stats_one_way_anova to_yminterval to_yminterval to_yminterval cume_dist | |
contained numtodsinterval numtodsinterval xmlelement prediction_set updatexml xmlagg xmlagg grouping log cast xmlforest nullif stats_t_test_indepu stats_t_test_paired asin vsizeality percentile_cont acos lower decode prediction xmlpi width_bucket | |
contained to_date sys_xmlagg sys_xmlagg uid stats_ks_test | |
links to Function | |
perlHereDocSQL xxx start=/<<['"]SQL['"].*;\s*$/ end=/^SQL$/ contains=@SQL | |
start=/<<['"]SQL_TEXT['"].*;\s*$/ end=/^SQL_TEXT$/ contains=@SQL | |
start=/<<['"]__SQL__['"].*;\s*$/ end=/^__SQL__$/ contains=@SQL | |
Pod cluster=podCommand,podFormat,podVerbatimLine,podSpecial,podBoldOpen,podItalicOpen,podNoSpaceOpen,podIndexOpen,podBoldAlternativeDelimOpen,podItalicAlternativeDelimOpen,podNoSpaceAlternativeDelimOpen,podIndexAlternativeDelimOpen,podBold,podBoldAlternativeDelim,podItalic,podItalicAlternativeDelim,podNoSpace,podNoSpaceAlternativeDelim,podIndex,podIndexAlternativeDelim | |
NoSpell cluster=NONE | |
Spell cluster=NONE | |
perlTop cluster=TOP | |
perlExpr cluster=perlStatementIndirObjWrap,perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarPlain2,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlVarBlock2,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ,perlArrow,perlBraces | |
perlInterpDQ cluster=perlSpecialString,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBlock | |
perlInterpSQ cluster=perlSpecialStringU,perlSpecialStringU2 | |
perlInterpSlash cluster=perlSpecialString,perlSpecialMatch,perlVarPlain,perlVarBlock | |
perlInterpMatch cluster=@perlInterpSlash,perlVarSlash | |
perlSubAttrMaybe cluster=perlSubAttributesCont,perlSubError,perlFakeGroup | |
perlDATA cluster=NONE | |
SQL cluster=sqlSpecial,sqlKeyword,sqlOperator,sqlStatement,sqlType,sqlString,sqlNumber,sqlComment,sqlFold,sqlFunction |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment