annotate runtime/syntax/perl.vim @ 6999:dc1b678f0e4e v7.4.817

patch 7.4.817 Problem: Invalid memory access in file_pat_to_reg_pat(). Solution: Use vim_isspace() instead of checking for a space only. (Dominique Pelle)
author Bram Moolenaar <bram@vim.org>
date Tue, 11 Aug 2015 16:20:05 +0200
parents 42bf9264e64e
children 46763b01cd9a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
2 " Language: Perl 5
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
3 " Maintainer: vim-perl <vim-perl@googlegroups.com>
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
4 " Homepage: http://github.com/vim-perl/vim-perl/tree/master
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
5 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
5277
42bf9264e64e Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5239
diff changeset
6 " Last Change: 2013-07-23
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
7 " Contributors: Andy Lester <andy@petdance.com>
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
8 " Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
9 " Lukas Mai <l.mai.web.de>
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
10 " Nick Hibma <nick@van-laarhoven.org>
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
11 " Sonia Heimann <niania@netsurf.org>
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
12 " Rob Hoelz <rob@hoelz.ro>
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
13 " and many others.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14 "
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
15 " Please download the most recent version first, before mailing
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 " any comments.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 " The following parameters are available for tuning the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 " perl syntax highlighting, with defaults given:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 "
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
21 " let perl_include_pod = 1
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
22 " unlet perl_no_scope_in_variables
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
23 " unlet perl_no_extended_vars
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " unlet perl_string_as_statement
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 " unlet perl_no_sync_on_sub
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 " unlet perl_no_sync_on_global_var
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 " let perl_sync_dist = 100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 " unlet perl_fold
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 " unlet perl_fold_blocks
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
30 " unlet perl_nofold_packages
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
31 " let perl_nofold_subs = 1
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
32 " unlet perl_fold_anonymous_subs
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33
2548
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
34 if exists("b:current_syntax")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
38 let s:cpo_save = &cpo
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
39 set cpo&vim
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
40
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
41 if exists('&regexpengine')
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
42 let s:regexpengine=&regexpengine
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
43 set regexpengine=1
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
44 endif
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 " POD starts with ^=<word> and ends with ^=cut
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
48 if !exists("perl_include_pod") || perl_include_pod == 1
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 " Include a while extra syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 syn include @Pod syntax/pod.vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 unlet b:current_syntax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 if exists("perl_fold")
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
53 syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend fold extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
54 syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend fold extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 else
557
862863033fdd updated for version 7.0158
vimboss
parents: 548
diff changeset
56 syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 " Use only the bare minimum of rules
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 if exists("perl_fold")
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
62 syn region perlPOD start="^=[a-z]" end="^=cut" fold
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 else
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
64 syn region perlPOD start="^=[a-z]" end="^=cut"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
69 syn cluster perlTop contains=TOP
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
70
5277
42bf9264e64e Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5239
diff changeset
71 syn region perlBraces start="{" end="}" transparent extend
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
72
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 " All keywords
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 "
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
75 syn match perlConditional "\<\%(if\|elsif\|unless\|given\|when\|default\)\>"
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
76 syn match perlConditional "\<else\%(\%(\_s\*if\>\)\|\>\)" contains=perlElseIfError skipwhite skipnl skipempty
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
77 syn match perlRepeat "\<\%(while\|for\%(each\)\=\|do\|until\|continue\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
78 syn match perlOperator "\<\%(defined\|undef\|eq\|ne\|[gl][et]\|cmp\|not\|and\|or\|xor\|not\|bless\|ref\|do\)\>"
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
79 " for some reason, adding this as the nextgroup for perlControl fixes BEGIN
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
80 " folding issues...
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
81 syn match perlFakeGroup "" contained
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
82 syn match perlControl "\<\%(BEGIN\|CHECK\|INIT\|END\|UNITCHECK\)\>\_s*" nextgroup=perlFakeGroup
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
84 syn match perlStatementStorage "\<\%(my\|our\|local\|state\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
85 syn match perlStatementControl "\<\%(return\|last\|next\|redo\|goto\|break\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
86 syn match perlStatementScalar "\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|uc\%(first\)\=\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
87 syn match perlStatementRegexp "\<\%(pos\|quotemeta\|split\|study\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
88 syn match perlStatementNumeric "\<\%(abs\|atan2\|cos\|exp\|hex\|int\|log\|oct\|rand\|sin\|sqrt\|srand\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
89 syn match perlStatementList "\<\%(splice\|unshift\|shift\|push\|pop\|join\|reverse\|grep\|map\|sort\|unpack\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
90 syn match perlStatementHash "\<\%(delete\|each\|exists\|keys\|values\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
91 syn match perlStatementIOfunc "\<\%(syscall\|dbmopen\|dbmclose\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
92 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
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
93 syn match perlStatementFiledesc "\<\%(fcntl\|flock\|ioctl\|open\%(dir\)\=\|read\|seek\%(dir\)\=\|sys\%(open\|read\|seek\|write\)\|truncate\)\>" nextgroup=perlFiledescStatementComma skipwhite
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
94 syn match perlStatementVector "\<vec\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
95 syn match perlStatementFiles "\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
96 syn match perlStatementFiles "-[rwxoRWXOezsfdlpSbctugkTBMAC]\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
97 syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\)\>"
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
98 syn match perlStatementInclude "\<\%(require\|import\)\>"
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
99 syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|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\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
100 syn match perlStatementProc "\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>"
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
101 syn match perlStatementSocket "\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>"
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
102 syn match perlStatementIPC "\<\%(msg\%(ctl\|get\|rcv\|snd\)\|sem\%(ctl\|get\|op\)\|shm\%(ctl\|get\|read\|write\)\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
103 syn match perlStatementNetwork "\<\%(\%(end\|[gs]et\)\%(host\|net\|proto\|serv\)ent\|get\%(\%(host\|net\)by\%(addr\|name\)\|protoby\%(name\|number\)\|servby\%(name\|port\)\)\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
104 syn match perlStatementPword "\<\%(get\%(pw\%(uid\|nam\)\|gr\%(gid\|nam\)\|login\)\)\|\%(end\|[gs]et\)\%(pw\|gr\)ent\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
105 syn match perlStatementTime "\<\%(gmtime\|localtime\|time\)\>"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
107 syn match perlStatementMisc "\<\%(warn\|format\|formline\|reset\|scalar\|prototype\|lock\|tied\=\|untie\)\>"
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
108
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
109 syn keyword perlTodo TODO TODO: TBD TBD: FIXME FIXME: XXX XXX: NOTE NOTE: contained
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
110
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
111 syn region perlStatementIndirObjWrap matchgroup=perlStatementIndirObj start="\<\%(map\|grep\|sort\|printf\=\|say\|system\|exec\)\>\s*{" end="}" contains=@perlTop,perlBraces extend
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
112
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
113 syn match perlLabel "^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 " Perl Identifiers.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 " Should be cleaned up to better handle identifiers in particular situations
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 " (in hash keys for example)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 " Plain identifiers: $foo, @foo, $#foo, %foo, &foo and dereferences $$foo, @$foo, etc.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 " We do not process complex things such as @{${"foo"}}. Too complicated, and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 " too slow. And what is after the -> is *not* considered as part of the
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 " variable - there again, too complicated and too slow.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 " Special variables first ($^A, ...) and ($|, $', ...)
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
126 syn match perlVarPlain "$^[ACDEFHILMNOPRSTVWX]\="
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
127 syn match perlVarPlain "$[\\\"\[\]'&`+*.,;=%~!?@#$<>(-]"
2531
c9022997af9e Runtime file updates.
Bram Moolenaar <bram@vim.org>
parents: 2152
diff changeset
128 syn match perlVarPlain "%+"
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
129 syn match perlVarPlain "$\%(0\|[1-9]\d*\)"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 " Same as above, but avoids confusion in $::foo (equivalent to $main::foo)
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
131 syn match perlVarPlain "$::\@!"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 " These variables are not recognized within matches.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 syn match perlVarNotInMatches "$[|)]"
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
134 " This variable is not recognized within matches delimited by m//.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 syn match perlVarSlash "$/"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 " And plain identifiers
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
138 syn match perlPackageRef "[$@#%*&]\%(\%(::\|'\)\=\I\i*\%(\%(::\|'\)\I\i*\)*\)\=\%(::\|'\)\I"ms=s+1,me=e-1 contained
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
140 " To not highlight packages in variables as a scope reference - i.e. in
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
141 " $pack::var, pack:: is a scope, just set "perl_no_scope_in_variables"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
142 " If you don't want complex things like @{${"foo"}} to be processed,
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
143 " just set the variable "perl_no_extended_vars"...
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
144
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
145 if !exists("perl_no_scope_in_variables")
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
146 syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
147 syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
148 syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 else
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
150 syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
151 syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
152 syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
155 if !exists("perl_no_extended_vars")
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
156 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,perlBraces
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
157 syn region perlArrow matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
158 syn region perlArrow matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
159 syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
160 syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
161 syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
162 syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
163 syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
164 syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
165 syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
166 syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
167 syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contains=perlVarSimpleMemberName contained extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 syn match perlVarSimpleMemberName "\I\i*" contained
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
169 syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
170 syn match perlPackageConst "__PACKAGE__" nextgroup=perlMethod
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
171 syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 " File Descriptors
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
175 syn match perlFiledescRead "<\h\w*>"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 syn match perlFiledescStatementComma "(\=\s*\u\w*\s*,"me=e-1 transparent contained contains=perlFiledescStatement
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
178 syn match perlFiledescStatementNocomma "(\=\s*\u\w*\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 syn match perlFiledescStatement "\u\w*" contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 " Special characters in strings and matches
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
183 syn match perlSpecialString "\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)" contained extend
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
184 syn match perlSpecialStringU2 "\\." extend contained contains=NONE
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
185 syn match perlSpecialStringU "\\\\" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
186 syn match perlSpecialMatch "\\[1-9]" contained extend
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
187 syn match perlSpecialMatch "\\g\%(\d\+\|{\%(-\=\d\+\|\h\w*\)}\)" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
188 syn match perlSpecialMatch "\\k\%(<\h\w*>\|'\h\w*'\)" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
189 syn match perlSpecialMatch "{\d\+\%(,\%(\d\+\)\=\)\=}" contained
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
190 syn match perlSpecialMatch "\[[]-]\=[^\[\]]*[]-]\=\]" contained extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 syn match perlSpecialMatch "[+*()?.]" contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 syn match perlSpecialMatch "(?[#:=!]" contained
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
193 syn match perlSpecialMatch "(?[impsx]*\%(-[imsx]\+\)\=)" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
194 syn match perlSpecialMatch "(?\%([-+]\=\d\+\|R\))" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
195 syn match perlSpecialMatch "(?\%(&\|P[>=]\)\h\w*)" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
196 syn match perlSpecialMatch "(\*\%(\%(PRUNE\|SKIP\|THEN\)\%(:[^)]*\)\=\|\%(MARK\|\):[^)]*\|COMMIT\|F\%(AIL\)\=\|ACCEPT\))" contained
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 " Possible errors
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200 " Highlight lines with only whitespace (only in blank delimited here documents) as errors
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 syn match perlNotEmptyLine "^\s\+$" contained
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
202 " Highlight "} else if (...) {", it should be "} else { if (...) { " or "} elsif (...) {"
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
203 syn match perlElseIfError "else\_s*if" containedin=perlConditional
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
204 syn keyword perlElseIfError elseif containedin=perlConditional
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 " Variable interpolation
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 " These items are interpolated inside "" strings and similar constructs.
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
209 syn cluster perlInterpDQ contains=perlSpecialString,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBlock
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
210 " These items are interpolated inside '' strings and similar constructs.
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
211 syn cluster perlInterpSQ contains=perlSpecialStringU,perlSpecialStringU2
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 " These items are interpolated inside m// matches and s/// substitutions.
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
213 syn cluster perlInterpSlash contains=perlSpecialString,perlSpecialMatch,perlVarPlain,perlVarBlock
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
214 " These items are interpolated inside m## matches and s### substitutions.
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
215 syn cluster perlInterpMatch contains=@perlInterpSlash,perlVarSlash
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217 " Shell commands
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
218 syn region perlShellCommand matchgroup=perlMatchStartEnd start="`" end="`" contains=@perlInterpDQ keepend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
219
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220 " Constants
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 " Numbers
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
223 syn match perlNumber "\<\%(0\%(x\x[[:xdigit:]_]*\|b[01][01_]*\|\o[0-7_]*\|\)\|[1-9][[:digit:]_]*\)\>"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
224 syn match perlFloat "\<\d[[:digit:]_]*[eE][\-+]\=\d\+"
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
225 syn match perlFloat "\<\d[[:digit:]_]*\.[[:digit:]_]*\%([eE][\-+]\=\d\+\)\="
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
226 syn match perlFloat "\.[[:digit:]][[:digit:]_]*\%([eE][\-+]\=\d\+\)\="
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
227
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
228 syn match perlString "\<\%(v\d\+\%(\.\d\+\)*\|\d\+\%(\.\d\+\)\{2,}\)\>" contains=perlVStringV
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
229 syn match perlVStringV "\<v" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
230
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
231
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
232 syn region perlParensSQ start=+(+ end=+)+ extend contained contains=perlParensSQ,@perlInterpSQ keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
233 syn region perlBracketsSQ start=+\[+ end=+\]+ extend contained contains=perlBracketsSQ,@perlInterpSQ keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
234 syn region perlBracesSQ start=+{+ end=+}+ extend contained contains=perlBracesSQ,@perlInterpSQ keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
235 syn region perlAnglesSQ start=+<+ end=+>+ extend contained contains=perlAnglesSQ,@perlInterpSQ keepend
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
236
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
237 syn region perlParensDQ start=+(+ end=+)+ extend contained contains=perlParensDQ,@perlInterpDQ keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
238 syn region perlBracketsDQ start=+\[+ end=+\]+ extend contained contains=perlBracketsDQ,@perlInterpDQ keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
239 syn region perlBracesDQ start=+{+ end=+}+ extend contained contains=perlBracesDQ,@perlInterpDQ keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
240 syn region perlAnglesDQ start=+<+ end=+>+ extend contained contains=perlAnglesDQ,@perlInterpDQ keepend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
243 " Simple version of searches and matches
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
244 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[msixpodualgc]*+ contains=@perlInterpMatch keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
245 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[msixpodualgc]*+ contains=@perlInterpMatch keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
246 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[msixpodualgc]*+ contains=@perlInterpSQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
247 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[msixpodualgc]*+ contains=@perlInterpSlash keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
248 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[msixpodualgc]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
250 " A special case for m{}, m<> and m[] which allows for comments and extra whitespace in the pattern
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
251 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[msixpodualgc]*+ contains=@perlInterpMatch,perlComment,perlBracesDQ extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
252 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[msixpodualgc]*+ contains=@perlInterpMatch,perlAnglesDQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
253 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][msixpodualgc]*+ contains=@perlInterpMatch,perlComment,perlBracketsDQ keepend extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 " Below some hacks to recognise the // variant. This is virtually impossible to catch in all
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 " cases as the / is used in so many other ways, but these should be the most obvious ones.
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
257 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=+/[msixpodualgc]*+ contains=@perlInterpSlash extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 " Substitutions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 " perlMatch is the first part, perlSubstitution* is the substitution part
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
262 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1+me=e-1 contains=@perlInterpMatch nextgroup=perlSubstitutionGQQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
263 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*'+ end=+'+me=e-1 contains=@perlInterpSQ nextgroup=perlSubstitutionSQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
264 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*/+ end=+/+me=e-1 contains=@perlInterpSlash nextgroup=perlSubstitutionGQQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
265 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s#+ end=+#+me=e-1 contains=@perlInterpMatch nextgroup=perlSubstitutionGQQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
266 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*(+ end=+)+ contains=@perlInterpMatch,perlParensDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
267 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*<+ end=+>+ contains=@perlInterpMatch,perlAnglesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
268 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*\[+ end=+\]+ contains=@perlInterpMatch,perlBracketsDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
269 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
5239
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
270 syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[msixpodualgcer]*+ keepend contained contains=@perlInterpDQ extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
271 syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+(+ end=+)[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlParensDQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
272 syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][msixpodualgcer]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
273 syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+{+ end=+}[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend extend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
274 syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+<+ end=+>[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend extend
11cd8d58372e Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 4681
diff changeset
275 syn region perlSubstitutionSQ matchgroup=perlMatchStartEnd start=+'+ end=+'[msixpodualgcer]*+ contained contains=@perlInterpSQ keepend extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
277 " Translations
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 " perlMatch is the first part, perlTranslation* is the second, translator part.
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
279 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\>\s*\z([^[:space:]([{<#]\)+ end=+\z1+me=e-1 contains=@perlInterpSQ nextgroup=perlTranslationGQ
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
280 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)#+ end=+#+me=e-1 contains=@perlInterpSQ nextgroup=perlTranslationGQ
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
281 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
282 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
283 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
284 syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!\%(tr\|y\)\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ nextgroup=perlTranslationGQ skipwhite skipempty skipnl
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
285 syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]([{<]\)+ end=+\z1[cdsr]*+ contained
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
286 syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+(+ end=+)[cdsr]*+ contains=perlParensSQ contained
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
287 syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][cdsr]*+ contains=perlBracketsSQ contained
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
288 syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+{+ end=+}[cdsr]*+ contains=perlBracesSQ contained
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
289 syn region perlTranslationGQ matchgroup=perlMatchStartEnd start=+<+ end=+>[cdsr]*+ contains=perlAnglesSQ contained
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292 " Strings and q, qq, qw and qr expressions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
294 syn region perlStringUnexpanded matchgroup=perlStringStartEnd start="'" end="'" contains=@perlInterpSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
295 syn region perlString matchgroup=perlStringStartEnd start=+"+ end=+"+ contains=@perlInterpDQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
296 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
297 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q#+ end=+#+ contains=@perlInterpSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
298 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
299 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
300 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
301 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
302
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
303 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\>\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpDQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
304 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]#+ end=+#+ contains=@perlInterpDQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
305 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*(+ end=+)+ contains=@perlInterpDQ,perlParensDQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
306 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*\[+ end=+\]+ contains=@perlInterpDQ,perlBracketsDQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
307 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*{+ end=+}+ contains=@perlInterpDQ,perlBracesDQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
308 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!q[qx]\s*<+ end=+>+ contains=@perlInterpDQ,perlAnglesDQ keepend extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
310 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\z([^[:space:]#([{<]\)+ end=+\z1+ contains=@perlInterpSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
311 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw#+ end=+#+ contains=@perlInterpSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
312 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*(+ end=+)+ contains=@perlInterpSQ,perlParensSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
313 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*\[+ end=+\]+ contains=@perlInterpSQ,perlBracketsSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
314 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
315 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
316
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
317 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=+\z1[imosx]*+ contains=@perlInterpMatch keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
318 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosx]*+ contains=@perlInterpSlash keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
319 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+ end=+#[imosx]*+ contains=@perlInterpMatch keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
320 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+ end=+'[imosx]*+ contains=@perlInterpSQ keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
321 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+ end=+)[imosx]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
322
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
323 " A special case for qr{}, qr<> and qr[] which allows for comments and extra whitespace in the pattern
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
324 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+ end=+}[imosx]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
325 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+ end=+>[imosx]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
326 syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+ end=+\][imosx]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
327
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328 " Constructs such as print <<EOF [...] EOF, 'here' documents
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 "
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
330 " XXX Any statements after the identifier are in perlString colour (i.e.
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
331 " 'if $a' in 'print <<EOF if $a'). This is almost impossible to get right it
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
332 " seems due to the 'auto-extending nature' of regions.
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
333 if exists("perl_fold")
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
334 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ fold extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
335 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ fold extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
336 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ fold extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
337 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine fold extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
338 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine fold extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
339 syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL fold extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 else
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
341 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
342 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
343 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
344 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
345 syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
346 syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350 " Class declarations
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351 "
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
352 syn match perlPackageDecl "\<package\s\+\%(\h\|::\)\%(\w\|::\)*" contains=perlStatementPackage
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
353 syn keyword perlStatementPackage package contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
355 " Functions
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356 " sub [name] [(prototype)] {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 "
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
358 syn match perlSubError "[^[:space:];{#]" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
359 if v:version == 701 && !has('patch221') " XXX I hope that's the right one
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
360 syn match perlSubAttributes ":" contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
361 else
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
362 syn match perlSubAttributesCont "\h\w*\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
363 syn region perlSubAttributesCont matchgroup=perlSubAttributesCont start="\h\w*(" end=")\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained contains=@perlInterpSQ,perlParensSQ
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
364 syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError,perlFakeGroup
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
365 syn match perlSubAttributes "" contained nextgroup=perlSubError
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
366 syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
367 endif
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
368 syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
369 syn match perlSubPrototype +(\_[^)]*)\_s*\|+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
370 syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlComment
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
371
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
372 syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
373
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
374 if !exists("perl_no_scope_in_variables")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375 syn match perlFunctionPRef "\h\w*::" contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376 syn match perlFunctionName "\h\w*[^:]" contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378 syn match perlFunctionName "\h[[:alnum:]_:]*" contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
379 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
380
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
381 " The => operator forces a bareword to the left of it to be interpreted as
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
382 " a string
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
383 syn match perlString "\I\@<!-\?\I\i*\%(\s*=>\)\@="
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
384
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
385 " All other # are comments, except ^#!
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
386 syn match perlComment "#.*" contains=perlTodo,@Spell extend
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
387 syn match perlSharpBang "^#!.*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
388
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
389 " Formats
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
390 syn region perlFormat matchgroup=perlStatementIOFunc start="^\s*\<format\s\+\k\+\s*=\s*$"rs=s+6 end="^\s*\.\s*$" contains=perlFormatName,perlFormatField,perlVarPlain,perlVarPlain2
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
391 syn match perlFormatName "format\s\+\k\+\s*="lc=7,me=e-1 contained
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
392 syn match perlFormatField "[@^][|<>~]\+\%(\.\.\.\)\=" contained
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
393 syn match perlFormatField "[@^]#[#.]*" contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
394 syn match perlFormatField "@\*" contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
395 syn match perlFormatField "@[^A-Za-z_|<>~#*]"me=e-1 contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
396 syn match perlFormatField "@$" contained
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
397
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
398 " __END__ and __DATA__ clauses
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
399 if exists("perl_fold")
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
400 syntax region perlDATA start="^__DATA__$" skip="." end="." fold
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
401 syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA fold
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
402 else
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
403 syntax region perlDATA start="^__DATA__$" skip="." end="."
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
404 syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
405 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
406
2548
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
407 "
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
408 " Folding
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
409
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
410 if exists("perl_fold")
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
411 " Note: this bit must come before the actual highlighting of the "package"
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
412 " keyword, otherwise this will screw up Pod lines that match /^package/
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
413 if !exists("perl_nofold_packages")
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
414 syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
415 endif
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
416 if !exists("perl_nofold_subs")
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
417 if exists("perl_fold_anonymous_subs") && perl_fold_anonymous_subs
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
418 syn region perlSubFold start="\<sub\>[^\n;]*{" end="}" transparent fold keepend extend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
419 syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
420 else
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
421 syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
422 syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
423 endif
2548
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
424 endif
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
425
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
426 if exists("perl_fold_blocks")
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
427 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
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
428 syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
429 endif
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
430
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
431 setlocal foldmethod=syntax
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
432 syn sync fromstart
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
433 else
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
434 " fromstart above seems to set minlines even if perl_fold is not set.
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
435 syn sync minlines=0
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
436 endif
0bb74f626ba7 Update to Perl runtime files. (Andy Lester)
Bram Moolenaar <bram@vim.org>
parents: 2531
diff changeset
437
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
438 command -nargs=+ HiLink hi def link <args>
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
439
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
440 " NOTE: If you're linking new highlight groups to perlString, please also put
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
441 " them into b:match_skip in ftplugin/perl.vim.
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
442
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
443 " The default highlighting.
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
444 HiLink perlSharpBang PreProc
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
445 HiLink perlControl PreProc
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
446 HiLink perlInclude Include
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
447 HiLink perlSpecial Special
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
448 HiLink perlString String
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
449 HiLink perlCharacter Character
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
450 HiLink perlNumber Number
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
451 HiLink perlFloat Float
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
452 HiLink perlType Type
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
453 HiLink perlIdentifier Identifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
454 HiLink perlLabel Label
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
455 HiLink perlStatement Statement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
456 HiLink perlConditional Conditional
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
457 HiLink perlRepeat Repeat
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
458 HiLink perlOperator Operator
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
459 HiLink perlFunction Keyword
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
460 HiLink perlSubName Function
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
461 HiLink perlSubPrototype Type
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
462 HiLink perlSubAttributes PreProc
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
463 HiLink perlSubAttributesCont perlSubAttributes
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
464 HiLink perlComment Comment
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
465 HiLink perlTodo Todo
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
466 if exists("perl_string_as_statement")
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
467 HiLink perlStringStartEnd perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
468 else
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
469 HiLink perlStringStartEnd perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
470 endif
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
471 HiLink perlVStringV perlStringStartEnd
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
472 HiLink perlList perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
473 HiLink perlMisc perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
474 HiLink perlVarPlain perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
475 HiLink perlVarPlain2 perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
476 HiLink perlArrow perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
477 HiLink perlFiledescRead perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
478 HiLink perlFiledescStatement perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
479 HiLink perlVarSimpleMember perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
480 HiLink perlVarSimpleMemberName perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
481 HiLink perlVarNotInMatches perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
482 HiLink perlVarSlash perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
483 HiLink perlQQ perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
484 HiLink perlHereDoc perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
485 HiLink perlStringUnexpanded perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
486 HiLink perlSubstitutionSQ perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
487 HiLink perlSubstitutionGQQ perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
488 HiLink perlTranslationGQ perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
489 HiLink perlMatch perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
490 HiLink perlMatchStartEnd perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
491 HiLink perlFormatName perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
492 HiLink perlFormatField perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
493 HiLink perlPackageDecl perlType
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
494 HiLink perlStorageClass perlType
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
495 HiLink perlPackageRef perlType
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
496 HiLink perlStatementPackage perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
497 HiLink perlStatementStorage perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
498 HiLink perlStatementControl perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
499 HiLink perlStatementScalar perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
500 HiLink perlStatementRegexp perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
501 HiLink perlStatementNumeric perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
502 HiLink perlStatementList perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
503 HiLink perlStatementHash perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
504 HiLink perlStatementIOfunc perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
505 HiLink perlStatementFiledesc perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
506 HiLink perlStatementVector perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
507 HiLink perlStatementFiles perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
508 HiLink perlStatementFlow perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
509 HiLink perlStatementInclude perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
510 HiLink perlStatementProc perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
511 HiLink perlStatementSocket perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
512 HiLink perlStatementIPC perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
513 HiLink perlStatementNetwork perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
514 HiLink perlStatementPword perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
515 HiLink perlStatementTime perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
516 HiLink perlStatementMisc perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
517 HiLink perlStatementIndirObj perlStatement
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
518 HiLink perlFunctionName perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
519 HiLink perlMethod perlIdentifier
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
520 HiLink perlFunctionPRef perlType
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
521 HiLink perlPOD perlComment
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
522 HiLink perlShellCommand perlString
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
523 HiLink perlSpecialAscii perlSpecial
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
524 HiLink perlSpecialDollar perlSpecial
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
525 HiLink perlSpecialString perlSpecial
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
526 HiLink perlSpecialStringU perlSpecial
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
527 HiLink perlSpecialMatch perlSpecial
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
528 HiLink perlDATA perlComment
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
529
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
530 " NOTE: Due to a bug in Vim (or more likely, a misunderstanding on my part),
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
531 " I had to remove the transparent property from the following regions
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
532 " in order to get them to highlight correctly. Feel free to remove
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
533 " these and reinstate the transparent property if you know how.
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
534 HiLink perlParensSQ perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
535 HiLink perlBracketsSQ perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
536 HiLink perlBracesSQ perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
537 HiLink perlAnglesSQ perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
538
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
539 HiLink perlParensDQ perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
540 HiLink perlBracketsDQ perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
541 HiLink perlBracesDQ perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
542 HiLink perlAnglesDQ perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
543
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
544 HiLink perlSpecialStringU2 perlString
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
545
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
546 " Possible errors
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
547 HiLink perlNotEmptyLine Error
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
548 HiLink perlElseIfError Error
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
549 HiLink perlSubPrototypeError Error
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
550 HiLink perlSubError Error
1118
2b8ff9e3c520 updated for version 7.1a
vimboss
parents: 557
diff changeset
551
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
552 delcommand HiLink
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
553
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
554 " Syncing to speed up processing
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
555 "
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
556 if !exists("perl_no_sync_on_sub")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
557 syn sync match perlSync grouphere NONE "^\s*\<package\s"
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
558 syn sync match perlSync grouphere NONE "^\s*\<sub\>"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
559 syn sync match perlSync grouphere NONE "^}"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
560 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
561
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
562 if !exists("perl_no_sync_on_global_var")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
563 syn sync match perlSync grouphere NONE "^$\I[[:alnum:]_:]+\s*=\s*{"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
564 syn sync match perlSync grouphere NONE "^[@%]\I[[:alnum:]_:]+\s*=\s*("
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
565 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
566
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
567 if exists("perl_sync_dist")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
568 execute "syn sync maxlines=" . perl_sync_dist
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
569 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
570 syn sync maxlines=100
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
571 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
572
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
573 syn sync match perlSyncPOD grouphere perlPOD "^=pod"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
574 syn sync match perlSyncPOD grouphere perlPOD "^=head"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
575 syn sync match perlSyncPOD grouphere perlPOD "^=item"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
576 syn sync match perlSyncPOD grouphere NONE "^=cut"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
577
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
578 let b:current_syntax = "perl"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
579
4681
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
580 if exists('&regexpengine')
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
581 let &regexpengine=s:regexpengine
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
582 unlet s:regexpengine
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
583 endif
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
584
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
585 let &cpo = s:cpo_save
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
586 unlet s:cpo_save
2eb30f341e8d Updated runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 2548
diff changeset
587
2152
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
588 " XXX Change to sts=4:sw=4
b9e314fe473f Updated runtime files.
Bram Moolenaar <bram@zimbu.org>
parents: 1118
diff changeset
589 " vim:ts=8:sts=2:sw=2:expandtab:ft=vim