annotate runtime/syntax/raku.vim @ 29579:f7a64755dbe9 v9.0.0130

patch 9.0.0130: cursor position wrong when inserting around virtual text Commit: https://github.com/vim/vim/commit/1f4ee19eefecd8f70b7cbe8ee9db8ace6352e23e Author: Bram Moolenaar <Bram@vim.org> Date: Mon Aug 1 15:52:55 2022 +0100 patch 9.0.0130: cursor position wrong when inserting around virtual text Problem: Cursor position wrong when inserting around virtual text. Solution: Update the cursor position properly.
author Bram Moolenaar <Bram@vim.org>
date Mon, 01 Aug 2022 17:00:04 +0200
parents 5bda4653aced
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24520
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Vim syntax file
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2 " Language: Raku
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
3 " Maintainer: vim-perl <vim-perl@googlegroups.com>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
4 " Homepage: https://github.com/Raku/vim-raku
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5 " Bugs/requests: https://github.com/Raku/vim-raku/issues
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 " Last Change: 2021-04-16
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8 " Contributors: Luke Palmer <fibonaci@babylonia.flatirons.org>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 " Moritz Lenz <moritz@faui2k3.org>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
10 " Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
11 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
12 " This is a big undertaking.
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
13 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
14 " The ftdetect/raku.vim file in this repository takes care of setting the
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15 " right filetype for Raku files. To set it explicitly you can also add this
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 " line near the bottom of your source file:
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
17 " # vim: filetype=raku
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 " TODO:
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20 " * Go over the list of keywords/types to see what's deprecated/missing
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 " * Add more support for folding (:help syn-fold)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
22 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23 " If you want to have Pir code inside Q:PIR// strings highlighted, do:
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 " let raku_embedded_pir=1
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
25 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26 " The above requires pir.vim, which you can find in Parrot's repository:
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
27 " https://github.com/parrot/parrot/tree/master/editor
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
28 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 " To highlight Perl 5 regexes (m:P5//):
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30 " let raku_perl5_regexes=1
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
31 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
32 " To enable folding:
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
33 " let raku_fold=1
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
34
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
35 if version < 704 | throw "raku.vim uses regex syntax which Vim <7.4 doesn't support. Try 'make fix_old_vim' in the vim-perl repository." | endif
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
36
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
37 " For version 5.x: Clear all syntax items
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
38 " For version 6.x: Quit when a syntax file was already loaded
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
39 if version < 600
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
40 syntax clear
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
41 elseif exists("b:current_syntax")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
42 finish
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
43 endif
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
44 let s:keepcpo= &cpo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
45 set cpo&vim
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
46
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
47 " Patterns which will be interpolated by the preprocessor (tools/preproc.pl):
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
48 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
49 " @@IDENT_NONDIGIT@@ "[A-Za-z_\xC0-\xFF]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
50 " @@IDENT_CHAR@@ "[A-Za-z_\xC0-\xFF0-9]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
51 " @@IDENTIFIER@@ "\%(@@IDENT_NONDIGIT@@\%(@@IDENT_CHAR@@\|[-']@@IDENT_NONDIGIT@@\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
52 " @@IDENTIFIER_START@@ "@@IDENT_CHAR@@\@1<!\%(@@IDENT_NONDIGIT@@[-']\)\@2<!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
53 " @@IDENTIFIER_END@@ "\%(@@IDENT_CHAR@@\|[-']@@IDENT_NONDIGIT@@\)\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
54 " @@METAOP@@ #\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+#
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
55 " @@ADVERBS@@ "\%(\_s*:!\?@@IDENTIFIER@@\%(([^)]*)\)\?\)*"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
56 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
57 " Same but escaped, for use in string eval
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
58 " @@IDENT_NONDIGIT_Q@@ "[A-Za-z_\\xC0-\\xFF]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
59 " @@IDENT_CHAR_Q@@ "[A-Za-z_\\xC0-\\xFF0-9]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
60 " @@IDENTIFIER_Q@@ "\\%(@@IDENT_NONDIGIT_Q@@\\%(@@IDENT_CHAR_Q@@\\|[-']@@IDENT_NONDIGIT_Q@@\\@=\\)*\\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
61 " @@IDENTIFIER_START_Q@@ "@@IDENT_CHAR_Q@@\\@1<!\\%(@@IDENT_NONDIGIT_Q@@[-']\\)\\@2<!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
62 " @@IDENTIFIER_END_Q@@ "\\%(@@IDENT_CHAR_Q@@\\|[-']@@IDENT_NONDIGIT_Q@@\\)\\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
63
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
64 " Identifiers (subroutines, methods, constants, classes, roles, etc)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
65 syn match rakuIdentifier display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
66
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
67 let s:keywords = {
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
68 \ "rakuInclude": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
69 \ "use require import unit",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
70 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
71 \ "rakuConditional": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
72 \ "if else elsif unless with orwith without once",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
73 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
74 \ "rakuVarStorage": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
75 \ "let my our state temp has constant",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
76 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
77 \ "rakuRepeat": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
78 \ "for loop repeat while until gather given",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
79 \ "supply react race hyper lazy quietly",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
80 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
81 \ "rakuFlowControl": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
82 \ "take take-rw do when next last redo return return-rw",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
83 \ "start default exit make continue break goto leave",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
84 \ "proceed succeed whenever emit done",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
85 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
86 \ "rakuClosureTrait": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
87 \ "BEGIN CHECK INIT FIRST ENTER LEAVE KEEP",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
88 \ "UNDO NEXT LAST PRE POST END CATCH CONTROL",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
89 \ "DOC QUIT CLOSE COMPOSE",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
90 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
91 \ "rakuException": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
92 \ "die fail try warn",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
93 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
94 \ "rakuPragma": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
95 \ "MONKEY-GUTS MONKEY-SEE-NO-EVAL MONKEY-TYPING MONKEY",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
96 \ "experimental fatal isms lib newline nqp precompilation",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
97 \ "soft strict trace variables worries",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
98 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
99 \ "rakuOperator": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
100 \ "div xx x mod also leg cmp before after eq ne le lt not",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
101 \ "gt ge eqv ff fff and andthen or xor orelse lcm gcd o",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
102 \ "unicmp notandthen minmax",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
103 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
104 \ "rakuType": [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
105 \ "int int1 int2 int4 int8 int16 int32 int64",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
106 \ "rat rat1 rat2 rat4 rat8 rat16 rat32 rat64",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
107 \ "buf buf1 buf2 buf4 buf8 buf16 buf32 buf64",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
108 \ "blob blob1 blob2 blob4 blob8 blob16 blob32 blob64",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
109 \ "uint uint1 uint2 uint4 uint8 uint16 uint32 bit bool",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
110 \ "uint64 utf8 utf16 utf32 bag set mix complex",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
111 \ "num num32 num64 long longlong Pointer size_t str void",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
112 \ "ulong ulonglong ssize_t atomicint",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
113 \ ],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
114 \ }
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
115
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
116 " These can be immediately followed by parentheses
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
117 let s:types = [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
118 \ "Object Any Cool Junction Whatever Capture Match",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
119 \ "Signature Proxy Matcher Package Module Class",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
120 \ "Grammar Scalar Array Hash KeyHash KeySet KeyBag",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
121 \ "Pair List Seq Range Set Bag Map Mapping Void Undef",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
122 \ "Failure Exception Code Block Routine Sub Macro",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
123 \ "Method Submethod Regex Str Blob Char Byte Parcel",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
124 \ "Codepoint Grapheme StrPos StrLen Version Num",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
125 \ "Complex Bit True False Order Same Less More",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
126 \ "Increasing Decreasing Ordered Callable AnyChar",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
127 \ "Positional Associative Ordering KeyExtractor",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
128 \ "Comparator OrderingPair IO KitchenSink Role",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
129 \ "Int Rat Buf UInt Abstraction Numeric Real",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
130 \ "Nil Mu SeekFromBeginning SeekFromEnd SeekFromCurrent",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
131 \ ]
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
132
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
133 " We explicitly enumerate the alphanumeric infix operators allowed after [RSXZ]
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
134 " to avoid matching package names that start with those letters.
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
135 let s:alpha_metaops = [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
136 \ "div mod gcd lcm xx x does but cmp leg eq ne gt ge lt le before after eqv",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
137 \ "min max not so andthen and or orelse unicmp coll minmax",
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
138 \ ]
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
139 let s:words_space = join(s:alpha_metaops, " ")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
140 let s:temp = split(s:words_space)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
141 let s:alpha_metaops_or = join(s:temp, "\\|")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
142
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
143 " We don't use "syn keyword" here because that always has higher priority
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
144 " than matches/regions, which would prevent these words from matching as
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
145 " autoquoted strings before "=>".
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
146 syn match rakuKeywordStart display "\%(\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\)\@!\)\@=[A-Za-z_\xC0-\xFF0-9]\@1<!\%([A-Za-z_\xC0-\xFF][-']\)\@2<!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
147 \ nextgroup=rakuAttention,rakuVariable,rakuInclude,rakuConditional,rakuVarStorage,rakuRepeat,rakuFlowControl,rakuClosureTrait,rakuException,rakuNumber,rakuPragma,rakuType,rakuOperator,rakuIdentifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
148
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
149 for [s:group, s:words_list] in items(s:keywords)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
150 let s:words_space = join(s:words_list, " ")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
151 let s:temp = split(s:words_space)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
152 let s:words = join(s:temp, "\\|")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
153 exec "syn match ". s:group ." display \"[.^]\\@1<!\\%(". s:words . "\\)(\\@!\\%([A-Za-z_\\xC0-\\xFF0-9]\\|[-'][A-Za-z_\\xC0-\\xFF]\\)\\@!\" contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
154 endfor
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
155
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
156 let s:words_space = join(s:types, " ")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
157 let s:temp = split(s:words_space)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
158 let s:words = join(s:temp, "\\|")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
159 exec "syn match rakuType display \"\\%(". s:words . "\\)\\%([A-Za-z_\\xC0-\\xFF0-9]\\|[-'][A-Za-z_\\xC0-\\xFF]\\)\\@!\" contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
160 unlet s:group s:words_list s:keywords s:types s:words_space s:temp s:words
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
161
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
162 syn match rakuPreDeclare display "[.^]\@1<!\<\%(multi\|proto\|only\)\>" nextgroup=rakuDeclare,rakuIdentifier skipwhite skipempty
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
163 syn match rakuDeclare display "[.^]\@1<!\<\%(macro\|sub\|submethod\|method\|module\|class\|role\|package\|enum\|grammar\|slang\|subset\)\>" nextgroup=rakuIdentifier skipwhite skipempty
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
164 syn match rakuDeclareRegex display "[.^]\@1<!\<\%(regex\|rule\|token\)\>" nextgroup=rakuRegexName skipwhite skipempty
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
165
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
166 syn match rakuTypeConstraint display "\%([.^]\|^\s*\)\@<!\a\@=\%(does\|as\|but\|trusts\|of\|returns\|handles\|where\|augment\|supersede\)\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
167 syn match rakuTypeConstraint display "\%([.^]\|^\s*\)\@<![A-Za-z_\xC0-\xFF0-9]\@1<!\%([A-Za-z_\xC0-\xFF][-']\)\@2<!is\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\)\@!" skipwhite skipempty nextgroup=rakuProperty
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
168 syn match rakuProperty display "\a\@=\%(signature\|context\|also\|shape\|prec\|irs\|ofs\|ors\|export\|deep\|binary\|unary\|reparsed\|rw\|parsed\|cached\|readonly\|defequiv\|will\|ref\|copy\|inline\|tighter\|looser\|equiv\|assoc\|required\|DEPRECATED\|raw\|repr\|dynamic\|hidden-from-backtrace\|nodal\|pure\)" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
169
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
170 " packages, must come after all the keywords
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
171 syn match rakuIdentifier display "\%(::\)\@2<=\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)*"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
172 syn match rakuIdentifier display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(::\)\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
173
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
174 " The sigil in ::*Package
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
175 syn match rakuPackageTwigil display "\%(::\)\@2<=\*"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
176
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
177 " some standard packages
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
178 syn match rakuType display "\%(::\)\@2<!\%(SeekType\%(::SeekFromBeginning\|::SeekFromCurrent\|::SeekFromEnd\)\|Order\%(::Same\|::More\|::Less\)\?\|Bool\%(::True\|::False\)\?\)\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\)\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
179
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
180 " Don't put a "\+" at the end of the character class. That makes it so
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
181 " greedy that the "%" " in "+%foo" won't be allowed to match as a sigil,
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
182 " among other things
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
183 syn match rakuOperator display "[-+/*~?|=^!%&,<>».;\\∈∉∋∌∩∪≼≽⊂⊃⊄⊅⊆⊇⊈⊉⊍⊎⊖∅∘]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
184 syn match rakuOperator display "\%(:\@1<!::\@2!\|::=\|\.::\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
185 " these require whitespace on the left side
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
186 syn match rakuOperator display "\%(\s\|^\)\@1<=\%(xx=\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
187 " index overloading
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
188 syn match rakuOperator display "\%(&\.(\@=\|@\.\[\@=\|%\.{\@=\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
189
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
190 " Reduce metaoperators like [+]
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
191 syn match rakuReduceOp display "\%(^\|\s\|(\)\@1<=!*\%([RSXZ\[]\)*[&RSXZ]\?\[\+(\?\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+)\?]\+"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
192 syn match rakuSetOp display "R\?(\%([-^.+|&]\|[<>][=+]\?\|cont\|elem\))"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
193
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
194 " Reverse, cross, and zip metaoperators
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
195 exec "syn match rakuRSXZOp display \"[RSXZ]:\\@!\\%(\\a\\@=\\%(". s:alpha_metaops_or . "\\)\\>\\|[[:alnum:]]\\@!\\%([.,]\\|[^[,.[:alnum:][:space:]]\\)\\+\\|\\s\\@=\\|$\\)\""
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
196
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
197 syn match rakuBlockLabel display "^\s*\zs\h\w*\s*::\@!\_s\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
198
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
199 syn match rakuNumber display "[A-Za-z_\xC0-\xFF0-9]\@1<!\%(\%(\%(\_^\|\s\|[^*\a]\)\@1<=[-+]\)\?Inf\|NaN\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
200 syn match rakuNumber display "[A-Za-z_\xC0-\xFF0-9]\@1<!\%(\%(\_^\|\s\|[^*\a]\)\@1<=[-+]\)\?\%(\%(\d\|__\@!\)*[._]\@1<!\.\)\?_\@!\%(\d\|_\)\+_\@1<!\%([eE]-\?_\@!\%(\d\|_\)\+\)\?i\?"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
201 syn match rakuNumber display "[A-Za-z_\xC0-\xFF0-9]\@1<!\%(\%(\_^\|\s\|[^*\a]\)\@1<=[-+]\)\?0[obxd]\@=" nextgroup=rakuOctBase,rakuBinBase,rakuHexBase,rakuDecBase
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
202 syn match rakuOctBase display "o" contained nextgroup=rakuOctNumber
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
203 syn match rakuBinBase display "b" contained nextgroup=rakuBinNumber
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
204 syn match rakuHexBase display "x" contained nextgroup=rakuHexNumber
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
205 syn match rakuDecBase display "d" contained nextgroup=rakuDecNumber
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
206 syn match rakuOctNumber display "[0-7][0-7_]*" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
207 syn match rakuBinNumber display "[01][01_]*" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
208 syn match rakuHexNumber display "\x[[:xdigit:]_]*" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
209 syn match rakuDecNumber display "\d[[:digit:]_]*" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
210
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
211 syn match rakuVersion display "\<v\d\+\%(\.\%(\*\|\d\+\)\)*+\?"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
212
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
213 " Contextualizers
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
214 syn match rakuContext display "\<\%(item\|list\|slice\|hash\)\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
215 syn match rakuContext display "\%(\$\|@\|%\|&\)(\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
216
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
217 " Quoting
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
218
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
219 " one cluster for every quote adverb
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
220 syn cluster rakuInterp_scalar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
221 \ add=rakuInterpScalar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
222
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
223 syn cluster rakuInterp_array
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
224 \ add=rakuInterpArray
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
225
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
226 syn cluster rakuInterp_hash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
227 \ add=rakuInterpHash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
228
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
229 syn cluster rakuInterp_function
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
230 \ add=rakuInterpFunction
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
231
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
232 syn cluster rakuInterp_closure
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
233 \ add=rakuInterpClosure
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
234
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
235 syn cluster rakuInterp_q
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
236 \ add=rakuEscQQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
237 \ add=rakuEscBackSlash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
238
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
239 syn cluster rakuInterp_backslash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
240 \ add=@rakuInterp_q
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
241 \ add=rakuEscape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
242 \ add=rakuEscOpenCurly
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
243 \ add=rakuEscCodePoint
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
244 \ add=rakuEscHex
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
245 \ add=rakuEscOct
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
246 \ add=rakuEscOctOld
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
247 \ add=rakuEscNull
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
248
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
249 syn cluster rakuInterp_qq
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
250 \ add=@rakuInterp_scalar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
251 \ add=@rakuInterp_array
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
252 \ add=@rakuInterp_hash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
253 \ add=@rakuInterp_function
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
254 \ add=@rakuInterp_closure
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
255 \ add=@rakuInterp_backslash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
256 \ add=rakuMatchVarSigil
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
257
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
258 syn region rakuInterpScalar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
259 \ start="\ze\z(\$\%(\%(\%(\d\+\|!\|/\|¢\)\|\%(\%(\%([.^*?=!~]\|:\@1<!::\@!\)[A-Za-z_\xC0-\xFF]\@=\)\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\)\%(\.\^\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\|\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\)*\)\.\?\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\)\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
260 \ start="\ze\z(\$\%(\%(\%(\%([.^*?=!~]\|:\@1<!::\@!\)[A-Za-z_\xC0-\xFF]\@=\)\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\)\|\%(\d\+\|!\|/\|¢\)\)\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
261 \ end="\z1\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
262 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
263 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
264
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
265 syn region rakuInterpScalar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
266 \ matchgroup=rakuContext
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
267 \ start="\$\ze()\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
268 \ skip="([^)]*)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
269 \ end=")\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
270 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
271 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
272
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
273 syn region rakuInterpArray
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
274 \ start="\ze\z(@\$*\%(\%(\%(!\|/\|¢\)\|\%(\%(\%([.^*?=!~]\|:\@1<!::\@!\)[A-Za-z_\xC0-\xFF]\@=\)\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\)\%(\.\^\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\|\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\)*\)\.\?\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\)\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
275 \ end="\z1\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
276 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
277 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
278
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
279 syn region rakuInterpArray
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
280 \ matchgroup=rakuContext
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
281 \ start="@\ze()\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
282 \ skip="([^)]*)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
283 \ end=")\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
284 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
285 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
286
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
287 syn region rakuInterpHash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
288 \ start="\ze\z(%\$*\%(\%(\%(!\|/\|¢\)\|\%(\%(\%([.^*?=!~]\|:\@1<!::\@!\)[A-Za-z_\xC0-\xFF]\@=\)\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\)\%(\.\^\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\|\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\)*\)\.\?\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\)\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
289 \ end="\z1\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
290 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
291 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
292
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
293 syn region rakuInterpHash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
294 \ matchgroup=rakuContext
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
295 \ start="%\ze()\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
296 \ skip="([^)]*)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
297 \ end=")\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
298 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
299 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
300
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
301 syn region rakuInterpFunction
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
302 \ start="\ze\z(&\%(\%(!\|/\|¢\)\|\%(\%(\%([.^*?=!~]\|:\@1<!::\@!\)[A-Za-z_\xC0-\xFF]\@=\)\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(\.\^\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\|\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\)*\)\.\?\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\)\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
303 \ end="\z1\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
304 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
305 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
306
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
307 syn region rakuInterpFunction
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
308 \ matchgroup=rakuContext
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
309 \ start="&\ze()\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
310 \ skip="([^)]*)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
311 \ end=")\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
312 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
313 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
314
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
315 syn region rakuInterpClosure
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
316 \ start="\\\@1<!{}\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
317 \ skip="{[^}]*}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
318 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
319 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
320 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
321
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
322 " generic escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
323 syn match rakuEscape display "\\\S" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
324
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
325 " escaped closing delimiters
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
326 syn match rakuEscQuote display "\\'" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
327 syn match rakuEscDoubleQuote display "\\\"" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
328 syn match rakuEscCloseAngle display "\\>" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
329 syn match rakuEscCloseFrench display "\\»" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
330 syn match rakuEscBackTick display "\\`" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
331 syn match rakuEscForwardSlash display "\\/" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
332 syn match rakuEscVerticalBar display "\\|" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
333 syn match rakuEscExclamation display "\\!" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
334 syn match rakuEscComma display "\\," contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
335 syn match rakuEscDollar display "\\\$" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
336 syn match rakuEscCloseCurly display "\\}" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
337 syn match rakuEscCloseBracket display "\\\]" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
338
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
339 " matches :key, :!key, :$var, :key<var>, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
340 " Since we don't know in advance how the adverb ends, we use a trick.
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
341 " Consume nothing with the start pattern (\ze at the beginning),
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
342 " while capturing the whole adverb into \z1 and then putting it before
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
343 " the match start (\zs) of the end pattern.
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
344 syn region rakuAdverb
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
345 \ start="\ze\z(:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\|\[[^\]]*]\|<[^>]*>\|«[^»]*»\|{[^}]*}\)\?\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
346 \ start="\ze\z(:!\?[@$%]\$*\%(::\|\%(\$\@1<=\d\+\|!\|/\|¢\)\|\%(\%([.^*?=!~]\|:\@1<!::\@!\)[A-Za-z_\xC0-\xFF]\)\|\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\)\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
347 \ end="\z1\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
348 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
349 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
350
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
351 " <words>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
352 " Distinguishing this from the "less than" operator is tricky. For now,
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
353 " it matches if any of the following is true:
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
354 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
355 " * There is whitespace missing on either side of the "<", since
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
356 " people tend to put spaces around "less than". We make an exception
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
357 " for " = < ... >" assignments though.
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
358 " * It comes after "enum", "for", "any", "all", or "none"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
359 " * It's the first or last thing on a line (ignoring whitespace)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
360 " * It's preceded by "(\s*" or "=\s\+"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
361 " * It's empty and terminated on the same line (e.g. <> and < >)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
362 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
363 " It never matches when:
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
364 "
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
365 " * Preceded by [<+~=!] (e.g. <<foo>>, =<$foo>, * !< 3)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
366 " * Followed by [-=] (e.g. <--, <=, <==, <->)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
367 syn region rakuStringAngle
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
368 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
369 \ start="\%(\<\%(enum\|for\|any\|all\|none\)\>\s*(\?\s*\)\@<=<\%(<\|=>\|\%([=-]\{1,2}>\|[=-]\{2}\)\)\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
370 \ start="\%(\s\|[<+~=!]\)\@<!<\%(<\|=>\|\%([=-]\{1,2}>\|[=-]\{2}\)\)\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
371 \ start="[<+~=!]\@1<!<\%(\s\|<\|=>\|\%([=-]\{1,2}>\|[=-]\{1,2}\)\)\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
372 \ start="\%(^\s*\)\@<=<\%(<\|=>\|\%([=-]\{1,2}>\|[=-]\{2}\)\)\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
373 \ start="[<+~=!]\@1<!<\%(\s*$\)\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
374 \ start="\%((\s*\|=\s\+\)\@<=<\%(<\|=>\|\%([=-]\{1,2}>\|[=-]\{2}\)\)\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
375 \ start="<\%(\s*>\)\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
376 \ skip="\\\@1<!\\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
377 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
378 \ contains=rakuInnerAnglesOne,rakuEscBackSlash,rakuEscCloseAngle
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
379
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
380 syn region rakuStringAngleFixed
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
381 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
382 \ start="<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
383 \ skip="\\\@1<!\\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
384 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
385 \ contains=rakuInnerAnglesOne,rakuEscBackSlash,rakuEscCloseAngle
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
386 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
387
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
388 syn region rakuInnerAnglesOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
389 \ matchgroup=rakuStringAngle
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
390 \ start="\\\@1<!<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
391 \ skip="\\\@1<!\\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
392 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
393 \ transparent contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
394 \ contains=rakuInnerAnglesOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
395
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
396 " <<words>>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
397 syn region rakuStringAngles
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
398 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
399 \ start="<<=\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
400 \ skip="\\\@1<!\\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
401 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
402 \ contains=rakuInnerAnglesTwo,@rakuInterp_qq,rakuComment,rakuBracketComment,rakuEscHash,rakuEscCloseAngle,rakuAdverb,rakuStringSQ,rakuStringDQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
403
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
404 syn region rakuInnerAnglesTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
405 \ matchgroup=rakuStringAngles
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
406 \ start="<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
407 \ skip="\\\@1<!\\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
408 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
409 \ transparent contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
410 \ contains=rakuInnerAnglesTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
411
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
412 " «words»
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
413 syn region rakuStringFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
414 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
415 \ start="«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
416 \ skip="\\\@1<!\\»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
417 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
418 \ contains=rakuInnerFrench,@rakuInterp_qq,rakuComment,rakuBracketComment,rakuEscHash,rakuEscCloseFrench,rakuAdverb,rakuStringSQ,rakuStringDQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
419
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
420 syn region rakuInnerFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
421 \ matchgroup=rakuStringFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
422 \ start="\\\@1<!«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
423 \ skip="\\\@1<!\\»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
424 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
425 \ transparent contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
426 \ contains=rakuInnerFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
427
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
428 " Hyperops. They need to come after "<>" and "«»" strings in order to override
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
429 " them, but before other types of strings, to avoid matching those delimiters
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
430 " as parts of hyperops.
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
431 syn match rakuHyperOp display #[^[:digit:][{('",:[:space:]][^[{('",:[:space:]]*\%(«\|<<\)#
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
432 syn match rakuHyperOp display "«\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+[«»]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
433 syn match rakuHyperOp display "»\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+\%(«\|»\?\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
434 syn match rakuHyperOp display "<<\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+\%(<<\|>>\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
435 syn match rakuHyperOp display ">>\%(\d\|[@%$][.?^=[:alpha:]]\)\@!\%(\.\|[^[{('".[:space:]]\)\+\%(<<\|\%(>>\)\?\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
436
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
437 " 'string'
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
438 syn region rakuStringSQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
439 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
440 \ start="'"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
441 \ skip="\\\@1<!\\'"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
442 \ end="'"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
443 \ contains=@rakuInterp_q,rakuEscQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
444 \ keepend extend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
445
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
446 " "string"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
447 syn region rakuStringDQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
448 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
449 \ start=+"+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
450 \ skip=+\\\@1<!\\"+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
451 \ end=+"+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
452 \ contains=@rakuInterp_qq,rakuEscDoubleQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
453 \ keepend extend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
454
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
455 " Q// and friends
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
456
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
457 syn match rakuQuoteQStart display "\%(:\|\%(sub\|role\)\s\)\@5<![Qq]\@=" nextgroup=rakuQuoteQ,rakuQuoteQ_q,rakuQuoteQ_qww,rakuQuoteQ_qq,rakuQuoteQ_to,rakuQuoteQ_qto,rakuQuoteQ_qqto,rakuIdentifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
458 syn match rakuQuoteQ display "Q\%(qq\|ww\|[abcfhpsqvwx]\)\?[A-Za-z(]\@!" nextgroup=rakuPairsQ skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
459 syn match rakuQuoteQ_q display "q[abcfhpsvwx]\?[A-Za-z(]\@!" nextgroup=rakuPairsQ_q skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
460 syn match rakuQuoteQ_qww display "qww[A-Za-z(]\@!" nextgroup=rakuPairsQ_qww skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
461 syn match rakuQuoteQ_qq display "qq\%([pwx]\|ww\)\?[A-Za-z(]\@!" nextgroup=rakuPairsQ_qq skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
462 syn match rakuQuoteQ_to display "Qto[A-Za-z(]\@!" nextgroup=rakuStringQ_to skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
463 syn match rakuQuoteQ_qto display "qto[A-Za-z(]\@!" nextgroup=rakuStringQ_qto skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
464 syn match rakuQuoteQ_qqto display "qqto[A-Za-z(]\@!" nextgroup=rakuStringQ_qqto skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
465 syn match rakuQuoteQ_qto display "q\_s*\%(\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*:\%(to\|heredoc\)\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*(\@!\)\@=" nextgroup=rakuPairsQ_qto skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
466 syn match rakuQuoteQ_qqto display "qq\_s*\%(\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*:\%(to\|heredoc\)\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*(\@!\)\@=" nextgroup=rakuPairsQ_qqto skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
467 syn match rakuPairsQ "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuStringQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
468 syn match rakuPairsQ_q "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuStringQ_q
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
469 syn match rakuPairsQ_qww "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuStringQ_qww
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
470 syn match rakuPairsQ_qq "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuStringQ_qq
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
471 syn match rakuPairsQ_qto "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuStringQ_qto
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
472 syn match rakuPairsQ_qqto "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuStringQ_qqto
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
473
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
474
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
475 if exists("raku_embedded_pir") || exists("raku_extended_all")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
476 syn include @rakuPIR syntax/pir.vim
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
477 syn match rakuQuote_QPIR display "Q[A-Za-z(]\@!\%(\_s*:PIR\)\@=" nextgroup=rakuPairsQ_PIR skipwhite skipempty
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
478 syn match rakuPairs_QPIR contained "\_s*:PIR" transparent skipwhite skipempty nextgroup=rakuStringQ_PIR
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
479 endif
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
480
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
481 " hardcoded set of delimiters
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
482 let s:plain_delims = [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
483 \ ["DQ", "\\\"", "\\\"", "rakuEscDoubleQuote", "\\\\\\@1<!\\\\\\\""],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
484 \ ["SQ", "'", "'", "rakuEscQuote", "\\\\\\@1<!\\\\'"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
485 \ ["Slash", "/", "/", "rakuEscForwardSlash", "\\\\\\@1<!\\\\/"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
486 \ ["BackTick", "`", "`", "rakuEscBackTick", "\\\\\\@1<!\\\\`"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
487 \ ["Bar", "|", "|", "rakuEscVerticalBar", "\\\\\\@1<!\\\\|"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
488 \ ["Exclamation", "!", "!", "rakuEscExclamation", "\\\\\\@1<!\\\\!"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
489 \ ["Comma", ",", ",", "rakuEscComma", "\\\\\\@1<!\\\\,"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
490 \ ["Dollar", "\\$", "\\$", "rakuEscDollar", "\\\\\\@1<!\\\\\\$"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
491 \ ]
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
492 let s:bracketing_delims = [
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
493 \ ["Curly", "{", "}", "rakuEscCloseCurly", "\\%(\\\\\\@1<!\\\\}\\|{[^}]*}\\)"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
494 \ ["Angle", "<", ">", "rakuEscCloseAngle", "\\%(\\\\\\@1<!\\\\>\\|<[^>]*>\\)"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
495 \ ["French", "«", "»", "rakuEscCloseFrench", "\\%(\\\\\\@1<!\\\\»\\|«[^»]*»\\)"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
496 \ ["Bracket", "\\\[", "]", "rakuEscCloseBracket", "\\%(\\\\\\@1<!\\\\]\\|\\[^\\]]*]\\)"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
497 \ ["Paren", "\\s\\@1<=(", ")", "rakuEscCloseParen", "\\%(\\\\\\@1<!\\\\)\\|([^)]*)\\)"],
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
498 \ ]
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
499 let s:all_delims = s:plain_delims + s:bracketing_delims
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
500
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
501 for [s:name, s:start_delim, s:end_delim, s:end_group, s:skip] in s:all_delims
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
502 exec "syn region rakuStringQ matchgroup=rakuQuote start=\"".s:start_delim."\" end=\"".s:end_delim."\" contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
503 exec "syn region rakuStringQ_q matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contains=@rakuInterp_q,".s:end_group." contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
504 exec "syn region rakuStringQ_qww matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contains=@rakuInterp_q,rakuStringSQ,rakuStringDQ".s:end_group." contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
505 exec "syn region rakuStringQ_qq matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contains=@rakuInterp_qq,".s:end_group." contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
506 exec "syn region rakuStringQ_to matchgroup=rakuQuote start=\"".s:start_delim."\\z([^".s:end_delim."]\\+\\)".s:end_delim."\" end=\"^\\s*\\z1$\" contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
507 exec "syn region rakuStringQ_qto matchgroup=rakuQuote start=\"".s:start_delim."\\z([^".s:end_delim."]\\+\\)".s:end_delim."\" skip=\"".s:skip."\" end=\"^\\s*\\z1$\" contains=@rakuInterp_q,".s:end_group." contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
508 exec "syn region rakuStringQ_qqto matchgroup=rakuQuote start=\"".s:start_delim."\\z(\[^".s:end_delim."]\\+\\)".s:end_delim."\" skip=\"".s:skip."\" end=\"^\\s*\\z1$\" contains=@rakuInterp_qq,".s:end_group." contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
509
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
510 if exists("raku_embedded_pir") || exists("raku_extended_all")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
511 exec "syn region rakuStringQ_PIR matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contains=@rakuPIR,".s:end_group." contained"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
512 endif
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
513 endfor
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
514 unlet s:name s:start_delim s:end_delim s:end_group s:skip s:plain_delims s:all_delims
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
515
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
516 " :key
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
517 syn match rakuOperator display ":\@1<!::\@!!\?" nextgroup=rakuKey,rakuStringAngleFixed,rakuStringAngles,rakuStringFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
518 syn match rakuKey display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)" contained nextgroup=rakuStringAngleFixed,rakuStringAngles,rakuStringFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
519
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
520 " Regexes and grammars
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
521
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
522 syn match rakuRegexName display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\?" nextgroup=rakuRegexBlockCrap skipwhite skipempty contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
523 syn match rakuRegexBlockCrap "[^{]*" nextgroup=rakuRegexBlock skipwhite skipempty transparent contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
524
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
525 syn region rakuRegexBlock
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
526 \ matchgroup=rakuNormal
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
527 \ start="{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
528 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
529 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
530 \ contains=@rakuRegexen,@rakuVariables
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
531
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
532 " Perl 6 regex bits
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
533
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
534 syn cluster rakuRegexen
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
535 \ add=rakuRxMeta
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
536 \ add=rakuRxEscape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
537 \ add=rakuEscCodePoint
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
538 \ add=rakuEscHex
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
539 \ add=rakuEscOct
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
540 \ add=rakuEscNull
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
541 \ add=rakuRxAnchor
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
542 \ add=rakuRxCapture
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
543 \ add=rakuRxGroup
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
544 \ add=rakuRxAlternation
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
545 \ add=rakuRxBoundary
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
546 \ add=rakuRxAdverb
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
547 \ add=rakuRxAdverbArg
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
548 \ add=rakuRxStorage
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
549 \ add=rakuRxAssertion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
550 \ add=rakuRxAssertGroup
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
551 \ add=rakuRxQuoteWords
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
552 \ add=rakuRxClosure
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
553 \ add=rakuRxStringSQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
554 \ add=rakuRxStringDQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
555 \ add=rakuComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
556 \ add=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
557 \ add=rakuMatchVarSigil
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
558
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
559 syn match rakuRxMeta display contained ".\%([A-Za-z_\xC0-\xFF0-9]\|\s\)\@1<!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
560 syn match rakuRxAnchor display contained "[$^]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
561 syn match rakuRxEscape display contained "\\\S"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
562 syn match rakuRxCapture display contained "[()]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
563 syn match rakuRxAlternation display contained "|"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
564 syn match rakuRxRange display contained "\.\."
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
565
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
566 " misc escapes
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
567 syn match rakuEscOctOld display "\\[1-9]\d\{1,2}" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
568 syn match rakuEscNull display "\\0\d\@!" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
569 syn match rakuEscCodePoint display "\\[cC]" contained nextgroup=rakuCodePoint
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
570 syn match rakuEscHex display "\\[xX]" contained nextgroup=rakuHexSequence
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
571 syn match rakuEscOct display "\\o" contained nextgroup=rakuOctSequence
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
572 syn match rakuEscQQ display "\\qq" contained nextgroup=rakuQQSequence
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
573 syn match rakuEscOpenCurly display "\\{" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
574 syn match rakuEscHash display "\\#" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
575 syn match rakuEscBackSlash display "\\\\" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
576
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
577 syn region rakuQQSequence
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
578 \ matchgroup=rakuEscape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
579 \ start="\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
580 \ skip="\[[^\]]*]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
581 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
582 \ contained transparent
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
583 \ contains=@rakuInterp_qq
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
584
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
585 syn match rakuCodePoint display "\%(\d\+\|\S\)" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
586 syn region rakuCodePoint
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
587 \ matchgroup=rakuEscape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
588 \ start="\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
589 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
590 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
591
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
592 syn match rakuHexSequence display "\x\+" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
593 syn region rakuHexSequence
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
594 \ matchgroup=rakuEscape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
595 \ start="\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
596 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
597 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
598
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
599 syn match rakuOctSequence display "\o\+" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
600 syn region rakuOctSequence
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
601 \ matchgroup=rakuEscape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
602 \ start="\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
603 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
604 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
605
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
606 " $<match>, @<match>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
607 syn region rakuMatchVarSigil
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
608 \ matchgroup=rakuVariable
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
609 \ start="[$@]\%(<<\@!\)\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
610 \ end=">\@1<="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
611 \ contains=rakuMatchVar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
612
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
613 syn region rakuMatchVar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
614 \ matchgroup=rakuTwigil
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
615 \ start="<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
616 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
617 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
618
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
619 syn region rakuRxClosure
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
620 \ matchgroup=rakuNormal
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
621 \ start="{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
622 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
623 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
624 \ containedin=rakuRxClosure
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
625 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
626 syn region rakuRxGroup
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
627 \ matchgroup=rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
628 \ start="\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
629 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
630 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
631 \ contains=@rakuRegexen,@rakuVariables,rakuMatchVarSigil
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
632 syn region rakuRxAssertion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
633 \ matchgroup=rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
634 \ start="<\%(?\?\%(before\|after\)\|\%(\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)=\)\|[+?*]\)\?"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
635 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
636 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
637 \ contains=@rakuRegexen,rakuIdentifier,@rakuVariables,rakuRxCharClass,rakuRxAssertCall
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
638 syn region rakuRxAssertGroup
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
639 \ matchgroup=rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
640 \ start="<\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)=\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
641 \ skip="\\\@1<!\\]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
642 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
643 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
644 syn match rakuRxAssertCall display "\%(::\|\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\)" contained nextgroup=rakuRxAssertArgs
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
645 syn region rakuRxAssertArgs
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
646 \ start="("
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
647 \ end=")"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
648 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
649 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
650 syn region rakuRxAssertArgs
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
651 \ start=":"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
652 \ end="\ze>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
653 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
654 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
655 syn match rakuRxBoundary display contained "\%([«»]\|<<\|>>\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
656 syn region rakuRxCharClass
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
657 \ matchgroup=rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
658 \ start="\%(<[-!+?]\?\)\@2<=\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
659 \ skip="\\]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
660 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
661 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
662 \ contains=rakuRxRange,rakuRxEscape,rakuEscHex,rakuEscOct,rakuEscCodePoint,rakuEscNull
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
663 syn region rakuRxQuoteWords
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
664 \ matchgroup=rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
665 \ start="<\s"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
666 \ end="\s\?>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
667 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
668 syn region rakuRxAdverb
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
669 \ start="\ze\z(:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
670 \ end="\z1\zs"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
671 \ contained keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
672 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
673 syn region rakuRxAdverbArg
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
674 \ start="\%(:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\)\@<=("
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
675 \ skip="([^)]\{-})"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
676 \ end=")"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
677 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
678 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
679 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
680 syn region rakuRxStorage
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
681 \ matchgroup=rakuOperator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
682 \ start="\%(^\s*\)\@<=:\%(my\>\|temp\>\)\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
683 \ end="$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
684 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
685 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
686 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
687
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
688 " 'string' inside a regex
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
689 syn region rakuRxStringSQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
690 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
691 \ start="'"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
692 \ skip="\\\@1<!\\'"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
693 \ end="'"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
694 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
695 \ contains=rakuEscQuote,rakuEscBackSlash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
696
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
697 " "string" inside a regex
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
698 syn region rakuRxStringDQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
699 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
700 \ start=+"+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
701 \ skip=+\\\@1<!\\"+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
702 \ end=+"+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
703 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
704 \ contains=rakuEscDoubleQuote,rakuEscBackSlash,@rakuInterp_qq
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
705
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
706 " $!, $var, $!var, $::var, $package::var $*::package::var, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
707 " Thus must come after the matches for the "$" regex anchor, but before
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
708 " the match for the $ regex delimiter
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
709 syn cluster rakuVariables
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
710 \ add=rakuVarSlash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
711 \ add=rakuVarExclam
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
712 \ add=rakuVarMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
713 \ add=rakuVarNum
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
714 \ add=rakuVariable
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
715
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
716 syn match rakuBareSigil display "[@$%&]\%(\s*\%([,)}=]\|where\>\)\)\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
717 syn match rakuVarSlash display "\$/"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
718 syn match rakuVarExclam display "\$!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
719 syn match rakuVarMatch display "\$¢"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
720 syn match rakuVarNum display "\$\d\+"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
721 syn match rakuVariable display "self"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
722 syn match rakuVariable display "[@$%&]\?[@&$%]\$*\%(::\|\%(\%([.^*?=!~]\|:\@1<!::\@!\)[A-Za-z_\xC0-\xFF]\)\|[A-Za-z_\xC0-\xFF]\)\@=" nextgroup=rakuTwigil,rakuVarName,rakuPackageScope
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
723 syn match rakuVarName display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)" nextgroup=rakuPostHyperOp contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
724 syn match rakuClose display "[\])]" transparent nextgroup=rakuPostHyperOp
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
725 syn match rakuPostHyperOp display "\%(»\|>>\)" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
726 syn match rakuTwigil display "\%([.^*?=!~]\|:\@1<!::\@!\)[A-Za-z_\xC0-\xFF]\@=" nextgroup=rakuPackageScope,rakuVarName contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
727 syn match rakuPackageScope display "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\?::" nextgroup=rakuPackageScope,rakuVarName contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
728
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
729 " Perl 6 regex regions
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
730
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
731 syn match rakuMatchStart_m display "\.\@1<!\<\%(mm\?\|rx\)\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\)\@!" skipwhite skipempty nextgroup=rakuMatchAdverbs_m
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
732 syn match rakuMatchStart_s display "\.\@1<!\<[sS]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\)\@!" skipwhite skipempty nextgroup=rakuMatchAdverbs_s
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
733 syn match rakuMatchStart_tr display "\.\@1<!\<tr\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\)\@!" skipwhite skipempty nextgroup=rakuMatchAdverbs_tr
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
734 syn match rakuMatchAdverbs_m "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
735 syn match rakuMatchAdverbs_s "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuSubstitution
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
736 syn match rakuMatchAdverbs_tr "\%(\_s*:!\?\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\%(([^)]*)\)\?\)*" contained transparent skipwhite skipempty nextgroup=rakuTransliteration
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
737
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
738 " /foo/
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
739 syn region rakuMatchBare
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
740 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
741 \ start="/\@1<!\%(\%(\_^\|[!\[,=~|&/:({]\|\^\?fff\?\^\?\|=>\|\<\%(if\|unless\|while\|when\|where\|so\)\)\s*\)\@<=/[/=]\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
742 \ skip="\\/"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
743 \ end="/"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
744 \ contains=@rakuRegexen,rakuVariable,rakuVarExclam,rakuVarMatch,rakuVarNum
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
745
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
746 " m/foo/, m$foo$, m!foo!, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
747 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
748 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
749 \ start=+\z([/!$,|`"]\)+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
750 \ skip="\\\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
751 \ end="\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
752 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
753 \ contains=@rakuRegexen,rakuVariable,rakuVarNum
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
754
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
755 " m<foo>, m«foo», m{foo}, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
756 for [s:name, s:start_delim, s:end_delim, s:end_group, s:skip] in s:bracketing_delims
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
757 exec "syn region rakuMatch matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contained keepend contains=@rakuRegexen,@rakuVariables"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
758 endfor
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
759 unlet s:name s:start_delim s:end_delim s:end_group s:skip
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
760
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
761 " Substitutions
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
762
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
763 " s/foo//, s$foo$$, s!foo!!, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
764 syn region rakuSubstitution
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
765 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
766 \ start=+\z([/!$,|`"]\)+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
767 \ skip="\\\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
768 \ end="\z1"me=e-1
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
769 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
770 \ contains=@rakuRegexen,rakuVariable,rakuVarNum
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
771 \ nextgroup=rakuReplacement
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
772
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
773 syn region rakuReplacement
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
774 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
775 \ start="\z(.\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
776 \ skip="\\\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
777 \ end="\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
778 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
779 \ contains=@rakuInterp_qq
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
780
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
781 " s<foo><bar>, s«foo»«bar», s{foo}{bar}, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
782 for [s:name, s:start_delim, s:end_delim, s:end_group, s:skip] in s:bracketing_delims
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
783 exec "syn region rakuSubstitution matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contained keepend contains=@rakuRegexen,@rakuVariables nextgroup=rakuRepl".s:name
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
784 exec "syn region rakuRepl".s:name." matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contained keepend contains=@rakuInterp_qq"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
785 endfor
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
786 unlet s:name s:start_delim s:end_delim s:end_group s:skip
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
787
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
788 " Transliteration
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
789
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
790 " tr/foo/bar/, tr|foo|bar, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
791 syn region rakuTransliteration
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
792 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
793 \ start=+\z([/!$,|`"]\)+
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
794 \ skip="\\\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
795 \ end="\z1"me=e-1
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
796 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
797 \ contains=rakuRxRange
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
798 \ nextgroup=rakuTransRepl
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
799
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
800 syn region rakuTransRepl
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
801 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
802 \ start="\z(.\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
803 \ skip="\\\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
804 \ end="\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
805 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
806 \ contains=@rakuInterp_qq,rakuRxRange
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
807
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
808 " tr<foo><bar>, tr«foo»«bar», tr{foo}{bar}, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
809 for [s:name, s:start_delim, s:end_delim, s:end_group, s:skip] in s:bracketing_delims
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
810 exec "syn region rakuTransliteration matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contained keepend contains=rakuRxRange nextgroup=rakuTransRepl".s:name
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
811 exec "syn region rakuTransRepl".s:name." matchgroup=rakuQuote start=\"".s:start_delim."\" skip=\"".s:skip."\" end=\"".s:end_delim."\" contained keepend contains=@rakuInterp_qq,rakuRxRange"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
812 endfor
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
813 unlet s:name s:start_delim s:end_delim s:end_group s:skip s:bracketing_delims
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
814
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
815 if exists("raku_perl5_regexes") || exists("raku_extended_all")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
816
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
817 " Perl 5 regex regions
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
818
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
819 syn cluster rakuRegexP5Base
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
820 \ add=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
821 \ add=rakuRxP5Oct
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
822 \ add=rakuRxP5Hex
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
823 \ add=rakuRxP5EscMeta
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
824 \ add=rakuRxP5CodePoint
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
825 \ add=rakuRxP5Prop
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
826
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
827 " normal regex stuff
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
828 syn cluster rakuRegexP5
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
829 \ add=@rakuRegexP5Base
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
830 \ add=rakuRxP5Quantifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
831 \ add=rakuRxP5Meta
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
832 \ add=rakuRxP5QuoteMeta
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
833 \ add=rakuRxP5ParenMod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
834 \ add=rakuRxP5Verb
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
835 \ add=rakuRxP5Count
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
836 \ add=rakuRxP5Named
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
837 \ add=rakuRxP5ReadRef
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
838 \ add=rakuRxP5WriteRef
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
839 \ add=rakuRxP5CharClass
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
840 \ add=rakuRxP5Anchor
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
841
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
842 " inside character classes
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
843 syn cluster rakuRegexP5Class
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
844 \ add=@rakuRegexP5Base
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
845 \ add=rakuRxP5Posix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
846 \ add=rakuRxP5Range
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
847
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
848 syn match rakuRxP5Escape display contained "\\\S"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
849 syn match rakuRxP5CodePoint display contained "\\c\S\@=" nextgroup=rakuRxP5CPId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
850 syn match rakuRxP5CPId display contained "\S"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
851 syn match rakuRxP5Oct display contained "\\\%(\o\{1,3}\)\@=" nextgroup=rakuRxP5OctSeq
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
852 syn match rakuRxP5OctSeq display contained "\o\{1,3}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
853 syn match rakuRxP5Anchor display contained "[\^$]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
854 syn match rakuRxP5Hex display contained "\\x\%({\x\+}\|\x\{1,2}\)\@=" nextgroup=rakuRxP5HexSeq
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
855 syn match rakuRxP5HexSeq display contained "\x\{1,2}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
856 syn region rakuRxP5HexSeq
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
857 \ matchgroup=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
858 \ start="{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
859 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
860 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
861 syn region rakuRxP5Named
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
862 \ matchgroup=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
863 \ start="\%(\\N\)\@2<={"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
864 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
865 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
866 syn match rakuRxP5Quantifier display contained "\%([+*]\|(\@1<!?\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
867 syn match rakuRxP5ReadRef display contained "\\[1-9]\d\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
868 syn match rakuRxP5ReadRef display contained "\[A-Za-z_\xC0-\xFF0-9]<\@=" nextgroup=rakuRxP5ReadRefId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
869 syn region rakuRxP5ReadRefId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
870 \ matchgroup=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
871 \ start="<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
872 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
873 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
874 syn match rakuRxP5WriteRef display contained "\\g\%(\d\|{\)\@=" nextgroup=rakuRxP5WriteRefId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
875 syn match rakuRxP5WriteRefId display contained "\d\+"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
876 syn region rakuRxP5WriteRefId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
877 \ matchgroup=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
878 \ start="{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
879 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
880 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
881 syn match rakuRxP5Prop display contained "\\[pP]\%(\a\|{\)\@=" nextgroup=rakuRxP5PropId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
882 syn match rakuRxP5PropId display contained "\a"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
883 syn region rakuRxP5PropId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
884 \ matchgroup=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
885 \ start="{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
886 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
887 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
888 syn match rakuRxP5Meta display contained "[(|).]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
889 syn match rakuRxP5ParenMod display contained "(\@1<=?\@=" nextgroup=rakuRxP5Mod,rakuRxP5ModName,rakuRxP5Code
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
890 syn match rakuRxP5Mod display contained "?\%(<\?=\|<\?!\|[#:|]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
891 syn match rakuRxP5Mod display contained "?-\?[impsx]\+"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
892 syn match rakuRxP5Mod display contained "?\%([-+]\?\d\+\|R\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
893 syn match rakuRxP5Mod display contained "?(DEFINE)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
894 syn match rakuRxP5Mod display contained "?\%(&\|P[>=]\)" nextgroup=rakuRxP5ModDef
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
895 syn match rakuRxP5ModDef display contained "\h\w*"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
896 syn region rakuRxP5ModName
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
897 \ matchgroup=rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
898 \ start="?'"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
899 \ end="'"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
900 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
901 syn region rakuRxP5ModName
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
902 \ matchgroup=rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
903 \ start="?P\?<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
904 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
905 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
906 syn region rakuRxP5Code
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
907 \ matchgroup=rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
908 \ start="??\?{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
909 \ end="})\@="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
910 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
911 \ contains=TOP
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
912 syn match rakuRxP5EscMeta display contained "\\[?*.{}()[\]|\^$]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
913 syn match rakuRxP5Count display contained "\%({\d\+\%(,\%(\d\+\)\?\)\?}\)\@=" nextgroup=rakuRxP5CountId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
914 syn region rakuRxP5CountId
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
915 \ matchgroup=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
916 \ start="{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
917 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
918 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
919 syn match rakuRxP5Verb display contained "(\@1<=\*\%(\%(PRUNE\|SKIP\|THEN\)\%(:[^)]*\)\?\|\%(MARK\|\):[^)]*\|COMMIT\|F\%(AIL\)\?\|ACCEPT\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
920 syn region rakuRxP5QuoteMeta
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
921 \ matchgroup=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
922 \ start="\\Q"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
923 \ end="\\E"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
924 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
925 \ contains=@rakuVariables,rakuEscBackSlash
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
926 syn region rakuRxP5CharClass
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
927 \ matchgroup=rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
928 \ start="\[\^\?"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
929 \ skip="\\]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
930 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
931 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
932 \ contains=@rakuRegexP5Class
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
933 syn region rakuRxP5Posix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
934 \ matchgroup=rakuRxP5Escape
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
935 \ start="\[:"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
936 \ end=":]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
937 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
938 syn match rakuRxP5Range display contained "-"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
939
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
940 " m:P5//
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
941 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
942 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
943 \ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@2<!\<m\s*:P\%(erl\)\?5\s*\)\@<=/"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
944 \ skip="\\/"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
945 \ end="/"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
946 \ contains=@rakuRegexP5,rakuVariable,rakuVarExclam,rakuVarMatch,rakuVarNum
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
947
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
948 " m:P5!!
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
949 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
950 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
951 \ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@2<!\<m\s*:P\%(erl\)\?5\s*\)\@<=!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
952 \ skip="\\!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
953 \ end="!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
954 \ contains=@rakuRegexP5,rakuVariable,rakuVarSlash,rakuVarMatch,rakuVarNum
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
955
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
956 " m:P5$$, m:P5||, etc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
957 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
958 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
959 \ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@2<!\<m\s*:P\%(erl\)\?5\s*\)\@<=\z([\"'`|,$]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
960 \ skip="\\\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
961 \ end="\z1"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
962 \ contains=@rakuRegexP5,@rakuVariables
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
963
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
964 " m:P5 ()
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
965 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
966 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
967 \ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@2<!\<m\s*:P\%(erl\)\?5\s\+\)\@<=()\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
968 \ skip="\\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
969 \ end=")"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
970 \ contains=@rakuRegexP5,@rakuVariables
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
971
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
972 " m:P5[]
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
973 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
974 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
975 \ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@2<!\<m\s*:P\%(erl\)\?5\s*\)\@<=[]\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
976 \ skip="\\]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
977 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
978 \ contains=@rakuRegexP5,@rakuVariables
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
979
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
980 " m:P5{}
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
981 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
982 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
983 \ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@2<!\<m\s*:P\%(erl\)\?5\s*\)\@<={}\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
984 \ skip="\\}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
985 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
986 \ contains=@rakuRegexP5,rakuVariables
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
987
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
988 " m:P5<>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
989 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
990 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
991 \ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@2<!\<m\s*:P\%(erl\)\?5\s*\)\@<=<>\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
992 \ skip="\\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
993 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
994 \ contains=@rakuRegexP5,rakuVariables
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
995
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
996 " m:P5«»
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
997 syn region rakuMatch
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
998 \ matchgroup=rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
999 \ start="\%(\%(::\|[$@%&][.!^:*?]\?\|\.\)\@2<!\<m\s*:P\%(erl\)\?5\s*\)\@<=«»\@!"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1000 \ skip="\\»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1001 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1002 \ contains=@rakuRegexP5,rakuVariables
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1003
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1004 endif
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1005
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1006 " Comments
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1007
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1008 syn match rakuAttention display "\<\%(ACHTUNG\|ATTN\|ATTENTION\|FIXME\|NB\|TODO\|TBD\|WTF\|XXX\|NOTE\)" contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1009
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1010 " normal end-of-line comment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1011 syn match rakuComment display "#.*" contains=rakuAttention
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1012
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1013 " Multiline comments. Arbitrary numbers of opening brackets are allowed,
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1014 " but we only define regions for 1 to 3
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1015 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1016 \ start="#[`|=]("
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1017 \ skip="([^)]*)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1018 \ end=")"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1019 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1020 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1021 \ start="#[`|=]\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1022 \ skip="\[[^\]]*]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1023 \ end="]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1024 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1025 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1026 \ start="#[`|=]{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1027 \ skip="{[^}]*}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1028 \ end="}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1029 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1030 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1031 \ start="#[`|=]<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1032 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1033 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1034 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1035 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1036 \ start="#[`|=]«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1037 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1038 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1039 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1040
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1041 " Comments with double and triple delimiters
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1042 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1043 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1044 \ start="#[`|=](("
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1045 \ skip="((\%([^)\|))\@!]\)*))"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1046 \ end="))"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1047 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1048 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1049 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1050 \ start="#[`|=]((("
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1051 \ skip="(((\%([^)]\|)\%())\)\@!\)*)))"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1052 \ end=")))"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1053 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1054
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1055 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1056 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1057 \ start="#[`|=]\[\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1058 \ skip="\[\[\%([^\]]\|]]\@!\)*]]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1059 \ end="]]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1060 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1061 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1062 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1063 \ start="#[`|=]\[\[\["
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1064 \ skip="\[\[\[\%([^\]]\|]\%(]]\)\@!\)*]]]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1065 \ end="]]]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1066 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1067
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1068 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1069 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1070 \ start="#[`|=]{{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1071 \ skip="{{\%([^}]\|}}\@!\)*}}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1072 \ end="}}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1073 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1074 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1075 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1076 \ start="#[`|=]{{{"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1077 \ skip="{{{\%([^}]\|}\%(}}\)\@!\)*}}}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1078 \ end="}}}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1079 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1080
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1081 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1082 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1083 \ start="#[`|=]<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1084 \ skip="<<\%([^>]\|>>\@!\)*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1085 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1086 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1087 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1088 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1089 \ start="#[`|=]<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1090 \ skip="<<<\%([^>]\|>\%(>>\)\@!\)*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1091 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1092 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1093
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1094 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1095 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1096 \ start="#[`|=]««"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1097 \ skip="««\%([^»]\|»»\@!\)*»»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1098 \ end="»»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1099 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1100 syn region rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1101 \ matchgroup=rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1102 \ start="#[`|=]«««"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1103 \ skip="«««\%([^»]\|»\%(»»\)\@!\)*»»»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1104 \ end="»»»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1105 \ contains=rakuAttention,rakuBracketComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1106
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1107 syn match rakuShebang display "\%^#!.*"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1108
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1109 " => autoquoting
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1110 syn match rakuStringAuto display "\.\@1<!\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\ze\%(p5\)\@2<![RSXZ]\@1<!=>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1111 syn match rakuStringAuto display "\.\@1<!\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\ze\s\+=>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1112 syn match rakuStringAuto display "\.\@1<!\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)p5\ze=>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1113
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1114 " Pod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1115
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1116 " Abbreviated blocks (implicit code forbidden)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1117 syn region rakuPodAbbrRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1118 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1119 \ start="^\s*\zs=\ze\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1120 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1121 \ contains=rakuPodAbbrNoCodeType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1122 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1123
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1124 syn region rakuPodAbbrNoCodeType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1125 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1126 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1127 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1128 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1129 \ contains=rakuPodName,rakuPodAbbrNoCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1130
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1131 syn match rakuPodName contained ".\+" contains=@rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1132 syn match rakuPodComment contained ".\+"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1133
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1134 syn region rakuPodAbbrNoCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1135 \ start="^"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1136 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1137 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1138 \ contains=@rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1139
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1140 " Abbreviated blocks (everything is code)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1141 syn region rakuPodAbbrRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1142 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1143 \ start="^\s*\zs=\zecode\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1144 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1145 \ contains=rakuPodAbbrCodeType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1146 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1147
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1148 syn region rakuPodAbbrCodeType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1149 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1150 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1151 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1152 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1153 \ contains=rakuPodName,rakuPodAbbrCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1154
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1155 syn region rakuPodAbbrCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1156 \ start="^"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1157 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1158 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1159
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1160 " Abbreviated blocks (everything is a comment)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1161 syn region rakuPodAbbrRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1162 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1163 \ start="^=\zecomment\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1164 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1165 \ contains=rakuPodAbbrCommentType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1166 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1167
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1168 syn region rakuPodAbbrCommentType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1169 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1170 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1171 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1172 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1173 \ contains=rakuPodComment,rakuPodAbbrNoCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1174
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1175 " Abbreviated blocks (implicit code allowed)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1176 syn region rakuPodAbbrRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1177 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1178 \ start="^=\ze\%(pod\|item\|nested\|\u\+\)\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1179 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1180 \ contains=rakuPodAbbrType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1181 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1182
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1183 syn region rakuPodAbbrType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1184 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1185 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1186 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1187 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1188 \ contains=rakuPodName,rakuPodAbbr
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1189
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1190 syn region rakuPodAbbr
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1191 \ start="^"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1192 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1193 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1194 \ contains=@rakuPodFormat,rakuPodImplicitCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1195
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1196 " Abbreviated block to end-of-file
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1197 syn region rakuPodAbbrRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1198 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1199 \ start="^=\zeEND\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1200 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1201 \ contains=rakuPodAbbrEOFType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1202 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1203
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1204 syn region rakuPodAbbrEOFType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1205 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1206 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1207 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1208 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1209 \ contains=rakuPodName,rakuPodAbbrEOF
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1210
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1211 syn region rakuPodAbbrEOF
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1212 \ start="^"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1213 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1214 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1215 \ contains=@rakuPodNestedBlocks,@rakuPodFormat,rakuPodImplicitCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1216
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1217 " Directives
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1218 syn region rakuPodDirectRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1219 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1220 \ start="^=\%(config\|use\)\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1221 \ end="^\ze\%([^=]\|=[A-Za-z_\xC0-\xFF]\|\s*$\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1222 \ contains=rakuPodDirectArgRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1223 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1224
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1225 syn region rakuPodDirectArgRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1226 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1227 \ start="\S\+"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1228 \ end="^\ze\%([^=]\|=[A-Za-z_\xC0-\xFF]\|\s*$\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1229 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1230 \ contains=rakuPodDirectConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1231
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1232 syn region rakuPodDirectConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1233 \ start=""
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1234 \ end="^\ze\%([^=]\|=[A-Za-z_\xC0-\xFF]\|\s*$\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1235 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1236 \ contains=@rakuPodConfig
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1237
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1238 " =encoding is a special directive
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1239 syn region rakuPodDirectRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1240 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1241 \ start="^=encoding\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1242 \ end="^\ze\%([^=]\|=[A-Za-z_\xC0-\xFF]\|\s*$\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1243 \ contains=rakuPodEncodingArgRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1244 \ keepend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1245
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1246 syn region rakuPodEncodingArgRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1247 \ matchgroup=rakuPodName
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1248 \ start="\S\+"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1249 \ end="^\ze\%([^=]\|=[A-Za-z_\xC0-\xFF]\|\s*$\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1250 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1251
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1252 " Paragraph blocks (implicit code forbidden)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1253 syn region rakuPodParaRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1254 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1255 \ start="^\s*\zs=for\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1256 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1257 \ contains=rakuPodParaNoCodeTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1258 \ keepend extend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1259
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1260 syn region rakuPodParaNoCodeTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1261 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1262 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1263 \ end="^\s*\zs\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1264 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1265 \ contains=rakuPodParaNoCode,rakuPodParaConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1266
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1267 syn region rakuPodParaConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1268 \ start=""
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1269 \ end="^\ze\%([^=]\|=[A-Za-z_\xC0-\xFF]\@1<!\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1270 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1271 \ contains=@rakuPodConfig
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1272
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1273 syn region rakuPodParaNoCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1274 \ start="^[^=]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1275 \ end="^\s*\zs\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1276 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1277 \ contains=@rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1278
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1279 " Paragraph blocks (everything is code)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1280 syn region rakuPodParaRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1281 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1282 \ start="^\s*\zs=for\>\ze\s*code\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1283 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1284 \ contains=rakuPodParaCodeTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1285 \ keepend extend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1286
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1287 syn region rakuPodParaCodeTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1288 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1289 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1290 \ end="^\s*\zs\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1291 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1292 \ contains=rakuPodParaCode,rakuPodParaConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1293
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1294 syn region rakuPodParaCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1295 \ start="^[^=]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1296 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1297 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1298
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1299 " Paragraph blocks (implicit code allowed)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1300 syn region rakuPodParaRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1301 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1302 \ start="^\s*\zs=for\>\ze\s*\%(pod\|item\|nested\|\u\+\)\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1303 \ end="^\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1304 \ contains=rakuPodParaTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1305 \ keepend extend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1306
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1307 syn region rakuPodParaTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1308 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1309 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1310 \ end="^\s*\zs\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1311 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1312 \ contains=rakuPodPara,rakuPodParaConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1313
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1314 syn region rakuPodPara
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1315 \ start="^[^=]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1316 \ end="^\s*\zs\ze\%(\s*$\|=[A-Za-z_\xC0-\xFF]\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1317 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1318 \ contains=@rakuPodFormat,rakuPodImplicitCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1319
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1320 " Paragraph block to end-of-file
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1321 syn region rakuPodParaRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1322 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1323 \ start="^=for\>\ze\s\+END\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1324 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1325 \ contains=rakuPodParaEOFTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1326 \ keepend extend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1327
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1328 syn region rakuPodParaEOFTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1329 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1330 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1331 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1332 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1333 \ contains=rakuPodParaEOF,rakuPodParaConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1334
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1335 syn region rakuPodParaEOF
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1336 \ start="^[^=]"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1337 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1338 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1339 \ contains=@rakuPodNestedBlocks,@rakuPodFormat,rakuPodImplicitCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1340
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1341 " Delimited blocks (implicit code forbidden)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1342 syn region rakuPodDelimRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1343 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1344 \ start="^\z(\s*\)\zs=begin\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1345 \ end="^\z1\zs=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1346 \ contains=rakuPodDelimNoCodeTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1347 \ keepend extend skipwhite
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1348 \ nextgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1349
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1350 syn region rakuPodDelimNoCodeTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1351 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1352 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1353 \ end="^\s*\zs\ze=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1354 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1355 \ contains=rakuPodDelimNoCode,rakuPodDelimConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1356
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1357 syn region rakuPodDelimConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1358 \ start=""
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1359 \ end="^\s*\zs\ze\%([^=]\|=[A-Za-z_\xC0-\xFF]\|\s*$\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1360 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1361 \ contains=@rakuPodConfig
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1362
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1363 syn region rakuPodDelimNoCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1364 \ start="^"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1365 \ end="^\s*\zs\ze=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1366 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1367 \ contains=@rakuPodNestedBlocks,@rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1368
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1369 " Delimited blocks (everything is code)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1370 syn region rakuPodDelimRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1371 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1372 \ start="^\z(\s*\)\zs=begin\>\ze\s*code\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1373 \ end="^\z1\zs=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1374 \ contains=rakuPodDelimCodeTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1375 \ keepend extend skipwhite
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1376 \ nextgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1377
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1378 syn region rakuPodDelimCodeTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1379 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1380 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1381 \ end="^\s*\zs\ze=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1382 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1383 \ contains=rakuPodDelimCode,rakuPodDelimConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1384
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1385 syn region rakuPodDelimCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1386 \ start="^"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1387 \ end="^\s*\zs\ze=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1388 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1389 \ contains=@rakuPodNestedBlocks
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1390
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1391 " Delimited blocks (implicit code allowed)
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1392 syn region rakuPodDelimRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1393 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1394 \ start="^\z(\s*\)\zs=begin\>\ze\s*\%(pod\|item\|nested\|\u\+\)\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1395 \ end="^\z1\zs=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1396 \ contains=rakuPodDelimTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1397 \ keepend extend skipwhite
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1398 \ nextgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1399
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1400 syn region rakuPodDelimTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1401 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1402 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1403 \ end="^\s*\zs\ze=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1404 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1405 \ contains=rakuPodDelim,rakuPodDelimConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1406
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1407 syn region rakuPodDelim
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1408 \ start="^"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1409 \ end="^\s*\zs\ze=end\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1410 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1411 \ contains=@rakuPodNestedBlocks,@rakuPodFormat,rakuPodImplicitCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1412
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1413 " Delimited block to end-of-file
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1414 syn region rakuPodDelimRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1415 \ matchgroup=rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1416 \ start="^=begin\>\ze\s\+END\>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1417 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1418 \ extend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1419 \ contains=rakuPodDelimEOFTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1420
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1421 syn region rakuPodDelimEOFTypeRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1422 \ matchgroup=rakuPodType
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1423 \ start="\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1424 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1425 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1426 \ contains=rakuPodDelimEOF,rakuPodDelimConfigRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1427
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1428 syn region rakuPodDelimEOF
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1429 \ start="^"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1430 \ end="\%$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1431 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1432 \ contains=@rakuPodNestedBlocks,@rakuPodFormat,rakuPodImplicitCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1433
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1434 syn cluster rakuPodConfig
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1435 \ add=rakuPodConfigOperator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1436 \ add=rakuPodExtraConfig
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1437 \ add=rakuStringAuto
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1438 \ add=rakuPodAutoQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1439 \ add=rakuStringSQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1440
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1441 syn region rakuPodParens
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1442 \ start="("
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1443 \ end=")"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1444 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1445 \ contains=rakuNumber,rakuStringSQ
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1446
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1447 syn match rakuPodAutoQuote display contained "=>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1448 syn match rakuPodConfigOperator display contained ":!\?" nextgroup=rakuPodConfigOption
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1449 syn match rakuPodConfigOption display contained "[^[:space:](<]\+" nextgroup=rakuPodParens,rakuStringAngle
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1450 syn match rakuPodExtraConfig display contained "^="
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1451 syn match rakuPodVerticalBar display contained "|"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1452 syn match rakuPodColon display contained ":"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1453 syn match rakuPodSemicolon display contained ";"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1454 syn match rakuPodComma display contained ","
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1455 syn match rakuPodImplicitCode display contained "^\s.*"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1456 syn match rakuPodType display contained "\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1457
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1458 " These may appear inside delimited blocks
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1459 syn cluster rakuPodNestedBlocks
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1460 \ add=rakuPodAbbrRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1461 \ add=rakuPodDirectRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1462 \ add=rakuPodParaRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1463 \ add=rakuPodDelimRegion
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1464
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1465 " Pod formatting codes
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1466
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1467 syn cluster rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1468 \ add=rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1469 \ add=rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1470 \ add=rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1471 \ add=rakuPodFormatFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1472
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1473 " Balanced angles found inside formatting codes. Ensures proper nesting.
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1474
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1475 syn region rakuPodFormatAnglesOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1476 \ matchgroup=rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1477 \ start="<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1478 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1479 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1480 \ transparent contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1481 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatAnglesOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1482
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1483 syn region rakuPodFormatAnglesTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1484 \ matchgroup=rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1485 \ start="<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1486 \ skip="<<[^>]*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1487 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1488 \ transparent contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1489 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatAnglesOne,rakuPodFormatAnglesTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1490
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1491 syn region rakuPodFormatAnglesThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1492 \ matchgroup=rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1493 \ start="<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1494 \ skip="<<<[^>]*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1495 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1496 \ transparent contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1497 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatAnglesOne,rakuPodFormatAnglesTwo,rakuPodFormatAnglesThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1498
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1499 syn region rakuPodFormatAnglesFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1500 \ matchgroup=rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1501 \ start="«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1502 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1503 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1504 \ transparent contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1505 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatAnglesOne,rakuPodFormatAnglesTwo,rakuPodFormatAnglesThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1506
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1507 " All formatting codes
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1508
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1509 syn region rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1510 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1511 \ start="\u<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1512 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1513 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1514 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1515 \ contains=rakuPodFormatAnglesOne,rakuPodFormatFrench,rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1516
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1517 syn region rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1518 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1519 \ start="\u<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1520 \ skip="<<[^>]*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1521 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1522 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1523 \ contains=rakuPodFormatAnglesTwo,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1524
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1525 syn region rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1526 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1527 \ start="\u<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1528 \ skip="<<<[^>]*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1529 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1530 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1531 \ contains=rakuPodFormatAnglesThree,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1532
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1533 syn region rakuPodFormatFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1534 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1535 \ start="\u«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1536 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1537 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1538 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1539 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1540
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1541 " C<> and V<> don't allow nested formatting formatting codes
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1542
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1543 syn region rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1544 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1545 \ start="[CV]<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1546 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1547 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1548 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1549 \ contains=rakuPodFormatAnglesOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1550
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1551 syn region rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1552 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1553 \ start="[CV]<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1554 \ skip="<<[^>]*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1555 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1556 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1557 \ contains=rakuPodFormatAnglesTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1558
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1559 syn region rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1560 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1561 \ start="[CV]<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1562 \ skip="<<<[^>]*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1563 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1564 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1565 \ contains=rakuPodFormatAnglesThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1566
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1567 syn region rakuPodFormatFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1568 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1569 \ start="[CV]«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1570 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1571 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1572 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1573 \ contains=rakuPodFormatAnglesFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1574
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1575 " L<> can have a "|" separator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1576
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1577 syn region rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1578 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1579 \ start="L<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1580 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1581 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1582 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1583 \ contains=rakuPodFormatAnglesOne,rakuPodFormatFrench,rakuPodFormatOne,rakuPodVerticalBar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1584
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1585 syn region rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1586 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1587 \ start="L<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1588 \ skip="<<[^>]*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1589 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1590 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1591 \ contains=rakuPodFormatAnglesTwo,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodVerticalBar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1592
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1593 syn region rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1594 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1595 \ start="L<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1596 \ skip="<<<[^>]*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1597 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1598 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1599 \ contains=rakuPodFormatAnglesThree,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodVerticalBar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1600
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1601 syn region rakuPodFormatFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1602 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1603 \ start="L«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1604 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1605 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1606 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1607 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodVerticalBar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1608
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1609 " E<> can have a ";" separator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1610
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1611 syn region rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1612 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1613 \ start="E<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1614 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1615 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1616 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1617 \ contains=rakuPodFormatAnglesOne,rakuPodFormatFrench,rakuPodFormatOne,rakuPodSemiColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1618
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1619 syn region rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1620 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1621 \ start="E<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1622 \ skip="<<[^>]*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1623 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1624 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1625 \ contains=rakuPodFormatAnglesTwo,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodSemiColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1626
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1627 syn region rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1628 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1629 \ start="E<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1630 \ skip="<<<[^>]*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1631 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1632 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1633 \ contains=rakuPodFormatAnglesThree,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodSemiColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1634
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1635 syn region rakuPodFormatFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1636 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1637 \ start="E«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1638 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1639 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1640 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1641 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodSemiColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1642
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1643 " M<> can have a ":" separator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1644
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1645 syn region rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1646 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1647 \ start="M<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1648 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1649 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1650 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1651 \ contains=rakuPodFormatAnglesOne,rakuPodFormatFrench,rakuPodFormatOne,rakuPodColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1652
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1653 syn region rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1654 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1655 \ start="M<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1656 \ skip="<<[^>]*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1657 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1658 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1659 \ contains=rakuPodFormatAnglesTwo,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1660
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1661 syn region rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1662 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1663 \ start="M<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1664 \ skip="<<<[^>]*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1665 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1666 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1667 \ contains=rakuPodFormatAnglesThree,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1668
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1669 syn region rakuPodFormatFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1670 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1671 \ start="M«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1672 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1673 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1674 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1675 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1676
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1677 " D<> can have "|" and ";" separators
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1678
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1679 syn region rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1680 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1681 \ start="D<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1682 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1683 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1684 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1685 \ contains=rakuPodFormatAnglesOne,rakuPodFormatFrench,rakuPodFormatOne,rakuPodVerticalBar,rakuPodSemiColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1686
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1687 syn region rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1688 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1689 \ start="D<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1690 \ skip="<<[^>]*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1691 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1692 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1693 \ contains=rakuPodFormatAngleTwo,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodVerticalBar,rakuPodSemiColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1694
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1695 syn region rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1696 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1697 \ start="D<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1698 \ skip="<<<[^>]*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1699 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1700 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1701 \ contains=rakuPodFormatAnglesThree,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodVerticalBar,rakuPodSemiColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1702
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1703 syn region rakuPodFormatFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1704 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1705 \ start="D«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1706 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1707 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1708 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1709 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodVerticalBar,rakuPodSemiColon
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1710
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1711 " X<> can have "|", "," and ";" separators
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1712
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1713 syn region rakuPodFormatOne
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1714 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1715 \ start="X<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1716 \ skip="<[^>]*>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1717 \ end=">"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1718 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1719 \ contains=rakuPodFormatAnglesOne,rakuPodFormatFrench,rakuPodFormatOne,rakuPodVerticalBar,rakuPodSemiColon,rakuPodComma
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1720
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1721 syn region rakuPodFormatTwo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1722 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1723 \ start="X<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1724 \ skip="<<[^>]*>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1725 \ end=">>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1726 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1727 \ contains=rakuPodFormatAnglesTwo,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodVerticalBar,rakuPodSemiColon,rakuPodComma
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1728
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1729 syn region rakuPodFormatThree
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1730 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1731 \ start="X<<<"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1732 \ skip="<<<[^>]*>>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1733 \ end=">>>"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1734 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1735 \ contains=rakuPodFormatAnglesThree,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodVerticalBar,rakuPodSemiColon,rakuPodComma
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1736
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1737 syn region rakuPodFormatFrench
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1738 \ matchgroup=rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1739 \ start="X«"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1740 \ skip="«[^»]*»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1741 \ end="»"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1742 \ contained
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1743 \ contains=rakuPodFormatAnglesFrench,rakuPodFormatFrench,rakuPodFormatOne,rakuPodFormatTwo,rakuPodFormatThree,rakuPodVerticalBar,rakuPodSemiColon,rakuPodComma
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1744
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1745 " Define the default highlighting.
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1746 " For version 5.7 and earlier: only when not done already
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1747 " For version 5.8 and later: only when an item doesn't have highlighting yet
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1748 if version >= 508 || !exists("did_raku_syntax_inits")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1749 if version < 508
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1750 let did_raku_syntax_inits = 1
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1751 command -nargs=+ HiLink hi link <args>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1752 else
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1753 command -nargs=+ HiLink hi def link <args>
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1754 endif
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1755
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1756 HiLink rakuEscOctOld rakuError
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1757 HiLink rakuPackageTwigil rakuTwigil
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1758 HiLink rakuStringAngle rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1759 HiLink rakuStringAngleFixed rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1760 HiLink rakuStringFrench rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1761 HiLink rakuStringAngles rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1762 HiLink rakuStringSQ rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1763 HiLink rakuStringDQ rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1764 HiLink rakuStringQ rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1765 HiLink rakuStringQ_q rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1766 HiLink rakuStringQ_qww rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1767 HiLink rakuStringQ_qq rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1768 HiLink rakuStringQ_to rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1769 HiLink rakuStringQ_qto rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1770 HiLink rakuStringQ_qqto rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1771 HiLink rakuRxStringSQ rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1772 HiLink rakuRxStringDQ rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1773 HiLink rakuReplacement rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1774 HiLink rakuReplCurly rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1775 HiLink rakuReplAngle rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1776 HiLink rakuReplFrench rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1777 HiLink rakuReplBracket rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1778 HiLink rakuReplParen rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1779 HiLink rakuTransliteration rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1780 HiLink rakuTransRepl rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1781 HiLink rakuTransReplCurly rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1782 HiLink rakuTransReplAngle rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1783 HiLink rakuTransReplFrench rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1784 HiLink rakuTransReplBracket rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1785 HiLink rakuTransReplParen rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1786 HiLink rakuStringAuto rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1787 HiLink rakuKey rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1788 HiLink rakuMatch rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1789 HiLink rakuSubstitution rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1790 HiLink rakuMatchBare rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1791 HiLink rakuRegexBlock rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1792 HiLink rakuRxP5CharClass rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1793 HiLink rakuRxP5QuoteMeta rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1794 HiLink rakuRxCharClass rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1795 HiLink rakuRxQuoteWords rakuString
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1796 HiLink rakuReduceOp rakuOperator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1797 HiLink rakuSetOp rakuOperator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1798 HiLink rakuRSXZOp rakuOperator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1799 HiLink rakuHyperOp rakuOperator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1800 HiLink rakuPostHyperOp rakuOperator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1801 HiLink rakuQuoteQ rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1802 HiLink rakuQuoteQ_q rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1803 HiLink rakuQuoteQ_qww rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1804 HiLink rakuQuoteQ_qq rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1805 HiLink rakuQuoteQ_to rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1806 HiLink rakuQuoteQ_qto rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1807 HiLink rakuQuoteQ_qqto rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1808 HiLink rakuQuoteQ_PIR rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1809 HiLink rakuMatchStart_m rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1810 HiLink rakuMatchStart_s rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1811 HiLink rakuMatchStart_tr rakuQuote
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1812 HiLink rakuBareSigil rakuVariable
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1813 HiLink rakuRxRange rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1814 HiLink rakuRxAnchor rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1815 HiLink rakuRxBoundary rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1816 HiLink rakuRxP5Anchor rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1817 HiLink rakuCodePoint rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1818 HiLink rakuRxMeta rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1819 HiLink rakuRxP5Range rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1820 HiLink rakuRxP5CPId rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1821 HiLink rakuRxP5Posix rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1822 HiLink rakuRxP5Mod rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1823 HiLink rakuRxP5HexSeq rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1824 HiLink rakuRxP5OctSeq rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1825 HiLink rakuRxP5WriteRefId rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1826 HiLink rakuHexSequence rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1827 HiLink rakuOctSequence rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1828 HiLink rakuRxP5Named rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1829 HiLink rakuRxP5PropId rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1830 HiLink rakuRxP5Quantifier rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1831 HiLink rakuRxP5CountId rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1832 HiLink rakuRxP5Verb rakuStringSpecial
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1833 HiLink rakuRxAssertGroup rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1834 HiLink rakuEscape rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1835 HiLink rakuEscNull rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1836 HiLink rakuEscHash rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1837 HiLink rakuEscQQ rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1838 HiLink rakuEscQuote rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1839 HiLink rakuEscDoubleQuote rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1840 HiLink rakuEscBackTick rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1841 HiLink rakuEscForwardSlash rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1842 HiLink rakuEscVerticalBar rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1843 HiLink rakuEscExclamation rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1844 HiLink rakuEscDollar rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1845 HiLink rakuEscOpenCurly rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1846 HiLink rakuEscCloseCurly rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1847 HiLink rakuEscCloseBracket rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1848 HiLink rakuEscCloseAngle rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1849 HiLink rakuEscCloseFrench rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1850 HiLink rakuEscBackSlash rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1851 HiLink rakuEscCodePoint rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1852 HiLink rakuEscOct rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1853 HiLink rakuEscHex rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1854 HiLink rakuRxEscape rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1855 HiLink rakuRxCapture rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1856 HiLink rakuRxAlternation rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1857 HiLink rakuRxP5 rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1858 HiLink rakuRxP5ReadRef rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1859 HiLink rakuRxP5Oct rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1860 HiLink rakuRxP5Hex rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1861 HiLink rakuRxP5EscMeta rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1862 HiLink rakuRxP5Meta rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1863 HiLink rakuRxP5Escape rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1864 HiLink rakuRxP5CodePoint rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1865 HiLink rakuRxP5WriteRef rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1866 HiLink rakuRxP5Prop rakuStringSpecial2
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1867
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1868 HiLink rakuProperty Tag
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1869 HiLink rakuAttention Todo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1870 HiLink rakuType Type
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1871 HiLink rakuError Error
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1872 HiLink rakuBlockLabel Label
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1873 HiLink rakuNormal Normal
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1874 HiLink rakuIdentifier Normal
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1875 HiLink rakuPackage Normal
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1876 HiLink rakuPackageScope Normal
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1877 HiLink rakuNumber Number
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1878 HiLink rakuOctNumber Number
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1879 HiLink rakuBinNumber Number
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1880 HiLink rakuHexNumber Number
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1881 HiLink rakuDecNumber Number
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1882 HiLink rakuString String
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1883 HiLink rakuRepeat Repeat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1884 HiLink rakuPragma Keyword
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1885 HiLink rakuPreDeclare Keyword
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1886 HiLink rakuDeclare Keyword
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1887 HiLink rakuDeclareRegex Keyword
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1888 HiLink rakuVarStorage Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1889 HiLink rakuFlowControl Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1890 HiLink rakuOctBase Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1891 HiLink rakuBinBase Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1892 HiLink rakuHexBase Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1893 HiLink rakuDecBase Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1894 HiLink rakuTwigil Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1895 HiLink rakuStringSpecial2 Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1896 HiLink rakuVersion Special
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1897 HiLink rakuComment Comment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1898 HiLink rakuBracketComment Comment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1899 HiLink rakuInclude Include
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1900 HiLink rakuShebang PreProc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1901 HiLink rakuClosureTrait PreProc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1902 HiLink rakuOperator Operator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1903 HiLink rakuContext Operator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1904 HiLink rakuQuote Delimiter
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1905 HiLink rakuTypeConstraint PreCondit
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1906 HiLink rakuException Exception
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1907 HiLink rakuVariable Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1908 HiLink rakuVarSlash Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1909 HiLink rakuVarNum Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1910 HiLink rakuVarExclam Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1911 HiLink rakuVarMatch Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1912 HiLink rakuVarName Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1913 HiLink rakuMatchVar Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1914 HiLink rakuRxP5ReadRefId Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1915 HiLink rakuRxP5ModDef Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1916 HiLink rakuRxP5ModName Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1917 HiLink rakuConditional Conditional
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1918 HiLink rakuStringSpecial SpecialChar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1919
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1920 HiLink rakuPodAbbr rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1921 HiLink rakuPodAbbrEOF rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1922 HiLink rakuPodAbbrNoCode rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1923 HiLink rakuPodAbbrCode rakuPodCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1924 HiLink rakuPodPara rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1925 HiLink rakuPodParaEOF rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1926 HiLink rakuPodParaNoCode rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1927 HiLink rakuPodParaCode rakuPodCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1928 HiLink rakuPodDelim rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1929 HiLink rakuPodDelimEOF rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1930 HiLink rakuPodDelimNoCode rakuPod
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1931 HiLink rakuPodDelimCode rakuPodCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1932 HiLink rakuPodImplicitCode rakuPodCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1933 HiLink rakuPodExtraConfig rakuPodPrefix
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1934 HiLink rakuPodVerticalBar rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1935 HiLink rakuPodColon rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1936 HiLink rakuPodSemicolon rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1937 HiLink rakuPodComma rakuPodFormatCode
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1938 HiLink rakuPodFormatOne rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1939 HiLink rakuPodFormatTwo rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1940 HiLink rakuPodFormatThree rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1941 HiLink rakuPodFormatFrench rakuPodFormat
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1942
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1943 HiLink rakuPodType Type
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1944 HiLink rakuPodConfigOption String
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1945 HiLink rakuPodCode PreProc
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1946 HiLink rakuPod Comment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1947 HiLink rakuPodComment Comment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1948 HiLink rakuPodAutoQuote Operator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1949 HiLink rakuPodConfigOperator Operator
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1950 HiLink rakuPodPrefix Statement
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1951 HiLink rakuPodName Identifier
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1952 HiLink rakuPodFormatCode SpecialChar
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1953 HiLink rakuPodFormat SpecialComment
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1954
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1955 delcommand HiLink
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1956 endif
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1957
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1958 if exists("raku_fold") || exists("raku_extended_all")
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1959 setl foldmethod=syntax
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1960 syn region rakuBlockFold
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1961 \ start="^\z(\s*\)\%(my\|our\|augment\|multi\|proto\|only\)\?\s*\%(\%([A-Za-z_\xC0-\xFF]\%([A-Za-z_\xC0-\xFF0-9]\|[-'][A-Za-z_\xC0-\xFF]\@=\)*\)\s\+\)\?\<\%(CATCH\|try\|ENTER\|LEAVE\|CHECK\|INIT\|BEGIN\|END\|KEEP\|UNDO\|PRE\|POST\|module\|package\|enum\|subset\|class\|sub\%(method\)\?\|multi\|method\|slang\|grammar\|regex\|token\|rule\)\>[^{]\+\%({\s*\%(#.*\)\?\)\?$"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1962 \ end="^\z1}"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1963 \ transparent fold keepend extend
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1964 endif
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1965
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1966 let b:current_syntax = "raku"
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1967
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1968 let &cpo = s:keepcpo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1969 unlet s:keepcpo
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1970
5bda4653aced Update runtime files
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1971 " vim:ts=8:sts=4:sw=4:expandtab:ft=vim