-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathctags
299 lines (261 loc) · 17.1 KB
/
ctags
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
--exclude=.git
--exclude=.hg
--exclude=log
--exclude=tmp
--regex-Go=/func([ \t]+\([^)]+\))?[ \t]+([a-zA-Z0-9_]+)/\2/f,func/
--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/v,var/
--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\1/t,type/
--regex-markdown=/^#[ \t]+(.*)/\1/h,Heading1/
--regex-markdown=/^##[ \t]+(.*)/\1/i,Heading2/
--regex-markdown=/^###[ \t]+(.*)/\1/k,Heading3/
--langdef=coffee
--langmap=coffee:.coffee
--regex-coffee=/(^|=[ \t])*class ([A-Za-z]+\.)*([A-Za-z]+)( extends [A-Za-z_.]+)?$/\3/c,class/
--regex-coffee=/^[ \t]*(module\.)?(exports\.)?@?([A-Za-z_.]+):.*[-=]>.*$/\3/m,method/
--regex-coffee=/^[ \t]*(module\.)?(exports\.)?([A-Za-z_.]+)[ \t]+=.*[-=]>.*$/\3/p,function/
--regex-coffee=/^[ \t]*([A-Za-z_.]+)[ \t]+=[^->\n]*$/\1/v,variable/
--regex-coffee=/^[ \t]*@([A-Za-z_.]+)[ \t]+=[^->\n]*$/\1/f,field/
--regex-coffee=/^[ \t]*@([A-Za-z_.]+):[^->\n]*$/\1/f,field/
--regex-coffee=/^[ \t]*([A-Za-z_.]+):[^->\n]*$/\1/f,field/
--regex-coffee=/constructor:[ \t]+\([ \t]*@([A-Za-z_.]+)/\1/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){1}/\2/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){2}/\2/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){3}/\2/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){4}/\2/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){5}/\2/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){6}/\2/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){7}/\2/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){8}/\2/f,field/
--regex-coffee=/constructor:[ \t]+\(([ \t]*@[A-Za-z_.]+[^,)]*,[ \t]*@([A-Za-z_.]+)){9}/\2/f,field/
--langmap=css:.css
--langmap=css:+.sass
--langmap=css:+.styl
--langmap=css:+.less
--regex-css=/^[ \t]*\.([A-Za-z0-9_-]+)/.\1/c,class,classes/
--regex-css=/^[ \t]*#([A-Za-z0-9_-]+)/#\1/i,id,ids/
--regex-css=/^[ \t]*(([A-Za-z0-9_-]+[ \t\n,]+)+)\{/\1/t,tag,tags/
--regex-css=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/m,media,medias/
--langmap=scss:.scss
--regex-scss=/^[ \t]*@mixin ([A-Za-z0-9_-]+)/\1/m,mixin,mixins/
--regex-scss=/^[ \t]*\$([A-Za-z0-9_-]+)/\1/v,variable,variables/
--regex-scss=/^([A-Za-z0-9_-]*)*\.([A-Za-z0-9_-]+) *[,{]/\2/c,class,classes/
--regex-scss=/^[ \t]+\.([A-Za-z0-9_-]+) *[,{]/\1/c,class,classes/
--regex-scss=/^(.*)*\#([A-Za-z0-9_-]+) *[,{]/\2/i,id,ids/
--regex-scss=/^[ \t]*#([A-Za-z0-9_-]+)/\1/i,id,ids/
--regex-scss=/(^([A-Za-z0-9_-])*([A-Za-z0-9_-]+)) *[,|\{]/\1/t,tag,tags/
--regex-scss=/(^([^\/\/])*)[ \t]+([A-Za-z0-9_-]+)) *[,|\{]/\3/t,tag,tags/
--regex-scss=/(^(.*, *)([A-Za-z0-9_-]+)) *[,|\{]/\3/t,tag,tags/
--regex-scss=/(^[ \t]+([A-Za-z0-9_-]+)) *[,|\{]/\1/t,tag,tags/
--regex-scss=/^[ \t]*@media\s+([A-Za-z0-9_-]+)/\1/d,media,media/
--langmap=html:.htm.html
--regex-html=/<([a-zA-Z][a-zA-Z0-9]*)[^>]*[ \t]+class[ \t]*=[ \t]*'([^']+)'/\1.\2/c,class/
--regex-html=/<([a-zA-Z][a-zA-Z0-9]*)[^>]*[ \t]+class[ \t]*=[ \t]*"([^"]+)"/\1.\2/c,class/
--regex-html=/<([a-zA-Z][a-zA-Z0-9]*)[^>]*[ \t]+class[ \t]*=[ \t]*([A-Za-z][A-Za-z0-9_:.-]*)[ \t>]/\1.\2/c,class/
--regex-html=/id=\"([a-zA-Z0-9-]+)\"/\1/id,identifiers/
--regex-html=/^[ \t]*<([a-zA-Z]+)[ \t]*.*>/\1/t,tag,tags/
--regex-make=/^([^# \t]*):/\1/t,target/
# A ctags syntax file for vue components
# currently based on https://github.com/andbar-ru/ctags.d
--langdef=vue
--langmap=vue:.vue
--map-vue=+.vue
--kinddef-vue=t,tag,tags
--kinddef-vue=T,template,templates
--kinddef-vue=o,object,objects
--kinddef-vue=p,property,properties
--kinddef-vue=n,name,names
--kinddef-vue=f,function,functions
--kinddef-vue=e,event,events
--kinddef-vue=v,variable,variables
--kinddef-vue=s,style,styles
--kinddef-vue=i,import,imports
--kinddef-vue=E,export,exports
--mline-regex-Vue=/<template>\n((.|\n){1,}\n)<\/template>/T,template/{_guest=HTML,1start,1end}
# --mline-regex-Vue=/<script>\n((.|\n){1,}\n)<\/script>//{_guest=JavaScript,1start,1end}
--mline-regex-Vue=/<style([ ]{1,}[a-z]{1,})*>\n((.|\n){1,}\n)<\/style>/s,style/{_guest=CSS,2start,2end}
--_roledef-vue.p=watched,watched property
--_roledef-vue.p=prop,property as prop
--_roledef-vue.e=emitted,emitted event
--regex-vue=/^[ \t]*export[ \t]+(default)/\1/E,export/{scope=push}
# --regex-vue=/^export const ([[:alnum:]_]+)[^={]/\1/E,export/{scope=push}
--regex-vue=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,export,EXports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}function[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}\({[ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}function[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)/\1/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\2/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}var[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}let[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,export,exports/b
--regex-vue=/^[ \t]*export[ \t]\{1,\}default[ \t]\{1,\}const[ \t]\{1,\}\([A-Za-z0-9_$]\{1,\}\)[ \t]*[^,]\{1,\},[ \t]*\([A-Za-z0-9_$]\{1,\}\)[ \t]*,[ \t]*\([A-Za-z0-9_$]\{1,\}\)/\3/E,export,exports/b
--regex-vue=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/i,import,imports/b
--regex-vue=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\5/i,import,imports/b
--regex-vue=/^[ \t]*import[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)*\([A-Za-z0-9_]\{1,\}\),[ \t]*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\7/i,import,imports/b
--regex-vue=/^[ \t]*import[ \t]\{1,\}type[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/i,import,imports/b
--regex-vue=/^[ \t]*import[ \t]\{1,\}typeof[ \t]\{1,\}\([{][ \t]*\)*\([A-Za-z0-9_\*]*[ \t]as[ \t]\)\([A-Za-z0-9_]\{1,\}\)/\3/i,import,imports/b
--regex-vue=/^[ \t]*[A-Za-z0-9_]\{1,\}[ \t]as[ \t]\([A-Za-z0-9_]\{1,\}\)/\1/i,import,imports/b
--regex-vue=/^[ \t]*import[ \t]+\{[ \t]*([ \n\t]*([a-zA-Z0-9_])+([ \t\n]*)(,?[ \t\n]*))*[ \t]*\}/\1/i,import,imports/
--_tabledef-vue=toplevel
--_tabledef-vue=htmlComment
--_tabledef-vue=lineComment
--_tabledef-vue=blockComment
--_tabledef-vue=block
--_tabledef-vue=singleQuoteString
--_tabledef-vue=doubleQuoteString
--_tabledef-vue=toplevelTag
--_tabledef-vue=tag
--_tabledef-vue=template
--_tabledef-vue=style
--_tabledef-vue=script
--_tabledef-vue=component
--_tabledef-vue=components
--_tabledef-vue=dataBlock
--_tabledef-vue=propsObject
--_tabledef-vue=propsArray
--_tabledef-vue=data
--_tabledef-vue=computed
--_tabledef-vue=methods
--_tabledef-vue=watch
--_mtable-regex-vue=toplevel/<!--//{tenter=htmlComment}
--_mtable-regex-vue=toplevel/<template[^>]*>/template/t/{tenter=template}
--_mtable-regex-vue=toplevel/<style ?[^>]*>/style/t/{tenter=style}{_guest=css,0end,}{scope=set}
--_mtable-regex-vue=toplevel/<script[^>]*>//{tenter=script}
--_mtable-regex-vue=toplevel/<([[:alpha:]_][[:alnum:]_-]*)[^>]*>/\1/t/{tenter=toplevelTag}
--_mtable-regex-vue=toplevel/.//
--_mtable-regex-vue=template/<\/template>//{tleave}
--_mtable-regex-vue=template/<!--//{tenter=htmlComment}
--_mtable-regex-vue=template/<template[^>]*>//{tenter=template}
--_mtable-regex-vue=template/.//
--_mtable-regex-vue=style/<\/style>//{tleave}{_guest=,,0start}
--_mtable-regex-vue=style/\/\*//{tenter=blockComment}
--_mtable-regex-vue=style/'//{tenter=singleQuoteString}
--_mtable-regex-vue=style/"//{tenter=doubleQuoteString}
--_mtable-regex-vue=style/.//
--_mtable-regex-vue=script/<\/script>//{tleave}
--_mtable-regex-vue=script/\/\///{tenter=lineComment}
--_mtable-regex-vue=script/\/\*//{tenter=blockComment}
--_mtable-regex-vue=script/'//{tenter=singleQuoteString}
--_mtable-regex-vue=script/"//{tenter=doubleQuoteString}
# TODO: find better way to solve this...
#--_mtable-regex-vue=script/[^e][^x][^p][^o][^r][^t][^ ]const *([[:alpha:]_][[:alnum:]$_-]*)/\1/v/
--_mtable-regex-vue=script/const *([[:alpha:]_][[:alnum:]$_-]*)/\1/v/
--_mtable-regex-vue=script/var *([[:alpha:]_][[:alnum:]$_-]*)/\1/v/
--_mtable-regex-vue=script/let *([[:alpha:]_][[:alnum:]$_-]*)/\1/v/
--_mtable-regex-vue=script/\{//{tenter=block}
--_mtable-regex-vue=script/export default *(Vue\.extend\()?\{\n///{tenter=component}
--_mtable-regex-vue=script/.//
--_mtable-regex-vue=toplevelTag/<\/[^>]+>//{tleave}
--_mtable-regex-vue=toplevelTag/<!--//{tenter=htmlComment}
--_mtable-regex-vue=toplevelTag/<//{tenter=tag}
--_mtable-regex-vue=toplevelTag/.//
--_mtable-regex-vue=tag/>//{tleave}
--_mtable-regex-vue=tag/<!--//{tenter=htmlComment}
--_mtable-regex-vue=tag/.//
--_mtable-regex-vue=htmlComment/-->//{tleave}
--_mtable-regex-vue=htmlComment/.//
--_mtable-regex-vue=lineComment/\n//{tleave}
--_mtable-regex-vue=lineComment/.//
--_mtable-regex-vue=blockComment/\*\///{tleave}
--_mtable-regex-vue=blockComment/.//
--_mtable-regex-vue=singleQuoteString/\\\\'//{tleave}
--_mtable-regex-vue=singleQuoteString/\\'//
--_mtable-regex-vue=singleQuoteString/'//{tleave}
--_mtable-regex-vue=singleQuoteString/.//
--_mtable-regex-vue=doubleQuoteString/\\\\"//{tleave}
--_mtable-regex-vue=doubleQuoteString/\\"//
--_mtable-regex-vue=doubleQuoteString/"//{tleave}
--_mtable-regex-vue=doubleQuoteString/.//
--_mtable-regex-vue=component/\}//{tleave}
--_mtable-regex-vue=component/\/\///{tenter=lineComment}
--_mtable-regex-vue=component/\/\*//{tenter=blockComment}
--_mtable-regex-vue=component/['"]?name['"]?: *['"]([[:alpha:]_][[:alnum:]$_-]*)['"]/\1/n/
--_mtable-regex-vue=component/['"]?components['"]?: *\{/components/o/{tenter=components}{scope=set}
--_mtable-regex-vue=component/['"]?props['"]?: *\{/props/o/{tenter=propsObject}{scope=set}
--_mtable-regex-vue=component/['"]?props['"]?: *\[/props/o/{tenter=propsArray}{scope=set}
--_mtable-regex-vue=component/['"]?data['"]?:?[^(\n]*\( *\):? *\{/data/o/{tenter=data}{scope=set}
--_mtable-regex-vue=component/['"]?computed['"]?: *\{/computed/o/{tenter=computed}{scope=set}
--_mtable-regex-vue=component/['"]?methods['"]?: *\{/methods/o/{tenter=methods}{scope=set}
--_mtable-regex-vue=component/['"]?watch['"]?: *\{/watch/o/{tenter=watch}{scope=set}
--_mtable-regex-vue=component/['"]?([[:alnum:]$_-]+)['"]: (async )?function *\([^)]*\)/\1/f/
--_mtable-regex-vue=component/['"]?([[:alnum:]$_-]+)['"]?:? *(async )?\([^)]*\)/\1/f/
--_mtable-regex-vue=component/['"]?([[:alnum:]$_-]+)['"]?:/\1/p/
--_mtable-regex-vue=component/\{//{tenter=block}
--_mtable-regex-vue=component/'//{tenter=singleQuoteString}
--_mtable-regex-vue=component/"//{tenter=doubleQuoteString}
--_mtable-regex-vue=component/.//
--_mtable-regex-vue=block/\}//{tleave}
--_mtable-regex-vue=block/\/\///{tenter=lineComment}
--_mtable-regex-vue=block/\/\*//{tenter=blockComment}
--_mtable-regex-vue=block/\$on\(['"]([^'":]+:[^'"]+)['"]/\1/e/
--_mtable-regex-vue=block/\$emit\(['"]([^'":]+:[^'"]+)['"]/\1/e/{_role=emitted}
--_mtable-regex-vue=block/'//{tenter=singleQuoteString}
--_mtable-regex-vue=block/"//{tenter=doubleQuoteString}
--_mtable-regex-vue=block/\{//{tenter=block}
--_mtable-regex-vue=block/.//
--_mtable-regex-vue=components/\}//{tleave}
--_mtable-regex-vue=components/\/\///{tenter=lineComment}
--_mtable-regex-vue=components/\/\*//{tenter=blockComment}
--_mtable-regex-vue=components/\{//{tenter=block}
--_mtable-regex-vue=components/['"]?([[:alnum:]$_-]+)['"]?:/\1/o/{scope=ref}
--_mtable-regex-vue=components/'//{tenter=singleQuoteString}
--_mtable-regex-vue=components/"//{tenter=doubleQuoteString}
--_mtable-regex-vue=components/.//
--_mtable-regex-vue=watch/\}//{tleave}
--_mtable-regex-vue=watch/\/\///{tenter=lineComment}
--_mtable-regex-vue=watch/\/\*//{tenter=blockComment}
--_mtable-regex-vue=watch/\{//{tenter=block}
--_mtable-regex-vue=watch/['"]?([[:alnum:]$_-]+\.)?([[:alnum:]$_-]+)['"]?:?([^(\n]*\([^)]*\))?/\2/p/{scope=ref}{_role=watched}
--_mtable-regex-vue=watch/.//
--_mtable-regex-vue=propsObject/\}//{tleave}
--_mtable-regex-vue=propsObject/\/\///{tenter=lineComment}
--_mtable-regex-vue=propsObject/\/\*//{tenter=blockComment}
--_mtable-regex-vue=propsObject/['"]?([[:alnum:]$_-]+)['"]? *:/\1/p/{scope=ref}{_role=prop}
--_mtable-regex-vue=propsObject/\{//{tenter=block}
--_mtable-regex-vue=propsObject/.//
--_mtable-regex-vue=propsArray/\]//{tleave}
--_mtable-regex-vue=propsArray/\/\///{tenter=lineComment}
--_mtable-regex-vue=propsArray/\/\*//{tenter=blockComment}
--_mtable-regex-vue=propsArray/['"]([[:alnum:]$_-]+)['"]/\1/p/{scope=ref}{_role=prop}
--_mtable-regex-vue=propsArray/.//
--_mtable-regex-vue=data/\}//{tleave}
--_mtable-regex-vue=data/\/\///{tenter=lineComment}
--_mtable-regex-vue=data/\/\*//{tenter=blockComment}
--_mtable-regex-vue=data/return *\{//{tenter=dataBlock}
--_mtable-regex-vue=data/['"]?([[:alnum:]$_-]+)['"]?:/\1/p/{scope=ref}
--_mtable-regex-vue=data/.//
--_mtable-regex-vue=dataBlock/\}//{tleave}
--_mtable-regex-vue=dataBlock/\/\///{tenter=lineComment}
--_mtable-regex-vue=dataBlock/\/\*//{tenter=blockComment}
--_mtable-regex-vue=dataBlock/\{//{tenter=block}
--_mtable-regex-vue=dataBlock/['"]?([[:alnum:]$_-]+)['"]?:/\1/p/{scope=ref}
--_mtable-regex-vue=dataBlock/.//
--_mtable-regex-vue=computed/\}///{tleave}
--_mtable-regex-vue=computed/\/\///{tenter=lineComment}
--_mtable-regex-vue=computed/\/\*//{tenter=blockComment}
--_mtable-regex-vue=computed/\{//{tenter=block}
--_mtable-regex-vue=computed/['"]?([[:alnum:]$_-]+)['"]?:/\1/p/{scope=ref}
--_mtable-regex-vue=computed/['"]?([[:alnum:]$_-]+)['"]?:?[^(\n]*\( *\)/\1/p/{scope=ref}
--_mtable-regex-vue=computed/.//
--_mtable-regex-vue=methods/\}///{tleave}
--_mtable-regex-vue=methods/\/\///{tenter=lineComment}
--_mtable-regex-vue=methods/\/\*//{tenter=blockComment}
--_mtable-regex-vue=methods/\{//{tenter=block}
--_mtable-regex-vue=methods/['"]?([[:alnum:]$_-]+)['"]?:/\1/f/{scope=ref}
--_mtable-regex-vue=methods/(async *)?['"]?([[:alnum:]$_-]+)['"]?:?[^(\n]*\([^)]*\)/\2/f/{scope=ref}
--_mtable-regex-vue=methods/.//