xref: /Universal-ctags/optlib/scss.ctags (revision e1f93342dbc1f3c184bc845f384d7f74d5c7dc57)
1#
2## This one is derrived from https://gist.githubusercontent.com/Roy-Orbison/71bc81f488f85adaeacfb76a7967eda0/raw/5eed9f1ef75c0921123651d419b3944a155f438f/scss.ctags
3#
4# Copyright 2019 Roy-Orbison
5#
6# Permission is hereby granted, free of charge, to any person obtaining a copy
7# of this software and associated documentation files (the "Software"), to deal
8# in the Software without restriction, including without limitation the rights
9# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10# copies of the Software, and to permit persons to whom the Software is
11# furnished to do so, subject to the following conditions:
12#
13# The above copyright notice and this permission notice shall be included in
14# all copies or substantial portions of the Software.
15#
16# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22# SOFTWARE.
23#
24--langdef=SCSS
25--map-SCSS=+.scss
26
27--kinddef-SCSS=m,mixin,mixins
28--kinddef-SCSS=f,function,functions
29--kinddef-SCSS=v,variable,variables
30--kinddef-SCSS=c,class,classes
31--kinddef-SCSS=P,placeholder,placeholder classes
32--kinddef-SCSS=i,id,identities
33# --kinddef-SCSS=p,pseudo,pseudos
34--kinddef-SCSS=z,parameter,function parameters
35
36--_tabledef-SCSS=toplevel
37--_tabledef-SCSS=comment
38--_tabledef-SCSS=interp
39--_tabledef-SCSS=args
40--_tabledef-SCSS=map
41--_tabledef-SCSS=strs
42--_tabledef-SCSS=strd
43
44--_mtable-regex-SCSS=toplevel/\/\/[^\n]*\n?//
45--_mtable-regex-SCSS=toplevel/\/\*//{tenter=comment}
46--_mtable-regex-SCSS=toplevel/#\{//{tenter=interp}
47--_mtable-regex-SCSS=toplevel/'///{tenter=strs}
48--_mtable-regex-SCSS=toplevel/"///{tenter=strd}
49--_mtable-regex-SCSS=toplevel/[ \t]([A-Za-z0-9_-]+)[ \t]*:[^\n]*\n?//
50--_mtable-regex-SCSS=toplevel/@mixin[ \t]+([A-Za-z0-9_-]+)/\1/m/{tenter=args}
51--_mtable-regex-SCSS=toplevel/@function[ \t]+([A-Za-z0-9_-]+)/\1/f/{tenter=args}
52--_mtable-regex-SCSS=toplevel/@each[ \t]+\$([A-Za-z0-9_-]+)[ \t]in[ \t]+/\1/v/
53--_mtable-regex-SCSS=toplevel/@for[ \t]+\$([A-Za-z0-9_-]+)[ \t]from[ \t]+.*[ \t]+(to|through)[ \t]+[^{]+/\1/v/
54--_mtable-regex-SCSS=toplevel/@[^\n]+\n?//
55--_mtable-regex-SCSS=toplevel/:[^{;]+;\n?//
56--_mtable-regex-SCSS=toplevel/:[^\n;{]+\n//
57# --_mtable-regex-SCSS=toplevel/::?([A-Za-z0-9_-]+)[ \t]*[,({]/\1/p/
58--_mtable-regex-SCSS=toplevel/::?([A-Za-z0-9_-]+)[ \t]*[,({]//
59--_mtable-regex-SCSS=toplevel/:[^\n{]+[;{]\n?//
60--_mtable-regex-SCSS=toplevel/\$([A-Za-z0-9_-]+)[ \t]*:[ \t]*\(/\1/v/{tenter=map}
61--_mtable-regex-SCSS=toplevel/\$([A-Za-z0-9_-]+)[ \t]*:[^\n]*\n?/\1/v/
62--_mtable-regex-SCSS=toplevel/([.][A-Za-z0-9_:-]+)/\1/c/
63--_mtable-regex-SCSS=toplevel/(%[A-Za-z0-9_:-]+)/\1/P/
64--_mtable-regex-SCSS=toplevel/#([A-Za-z0-9_:-]+)/\1/i/
65--_mtable-regex-SCSS=toplevel/.//
66--_mtable-regex-SCSS=comment/\*\///{tleave}
67--_mtable-regex-SCSS=comment/.//
68--_mtable-regex-SCSS=interp/\}//{tleave}
69--_mtable-regex-SCSS=interp/.//
70--_mtable-regex-SCSS=args/\{//{tleave}
71--_mtable-regex-SCSS=args/#\{//{tenter=interp}
72--_mtable-regex-SCSS=args/\$([A-Za-z0-9_-]+)[ \t]*(:([ \t]*\$)?|[,)])/\1/z/
73--_mtable-regex-SCSS=args/.//
74--_mtable-regex-SCSS=map/\/\/[^\n]*\n?//
75--_mtable-regex-SCSS=map/\/\*//{tenter=comment}
76--_mtable-regex-SCSS=map/#\{//{tenter=interp}
77--_mtable-regex-SCSS=map/\)//{tleave}
78--_mtable-regex-SCSS=map/([A-Za-z0-9_-]+)[ \t]*:/\1/v/
79--_mtable-regex-SCSS=map/'///{tenter=strs}
80--_mtable-regex-SCSS=map/"///{tenter=strd}
81--_mtable-regex-SCSS=map/.//
82--_mtable-regex-SCSS=strs/'///{tleave}
83--_mtable-regex-SCSS=strs/#\{//{tenter=interp}
84--_mtable-regex-SCSS=strs/[^'#\\]+//
85--_mtable-regex-SCSS=strs/\\?.//
86--_mtable-regex-SCSS=strd/"///{tleave}
87--_mtable-regex-SCSS=strd/#\{//{tenter=interp}
88--_mtable-regex-SCSS=strd/[^"#\\]+//
89--_mtable-regex-SCSS=strd/\\?.//
90