-
-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathscss.scm
122 lines (105 loc) · 2.46 KB
/
scss.scm
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
;; import css.scm
;; https://github.com/serenadeai/tree-sitter-scss/blob/master/src/grammar.json
;; curl https://raw.githubusercontent.com/serenadeai/tree-sitter-scss/c478c6868648eff49eb04a4df90d703dc45b312a/src/node-types.json \
;; | jq '[.[] | select(.type =="stylesheet") | .children.types[] | select(.type !="declaration") | .type ]'
[
(apply_statement)
(at_rule)
(charset_statement)
(debug_statement)
(each_statement)
(error_statement)
(for_statement)
(forward_statement)
(function_statement)
(if_statement)
(import_statement)
(include_statement)
(keyframes_statement)
(media_statement)
(mixin_statement)
(namespace_statement)
(placeholder)
(rule_set)
(supports_statement)
(use_statement)
(warn_statement)
(while_statement)
] @statement
(single_line_comment) @comment @textFragment
(if_statement) @ifStatement
(if_statement
(if_clause
(condition) @condition
)
) @_.domain
(mixin_statement
(name) @functionName @name
) @namedFunction @functionName.domain @name.domain
(function_statement
(name) @functionName @name
) @namedFunction @functionName.domain @name.domain
(declaration
(variable_name) @name
) @_.domain
;;!! replace-text($image, $color: red)
;;! ^^^^^^ ^^^^^^^^^^^
(
(parameters
(_)? @_.leading.endOf
.
(_) @argumentOrParameter
.
(_)? @_.trailing.startOf
)
(#insertion-delimiter! @argumentOrParameter ", ")
)
(_
(parameters
.
"(" @argumentOrParameter.iteration.start.endOf
")" @argumentOrParameter.iteration.end.startOf
.
)
) @argumentOrParameter.iteration.domain
(parameters
.
"(" @name.iteration.start.endOf @value.iteration.start.endOf
")" @name.iteration.end.startOf @value.iteration.end.startOf
.
) @name.iteration.domain @value.iteration.domain
;;!! foo($foo: 123)
;;! ^^^^ ^^^
(
(parameter
(variable_name) @name
(default_value)? @value
) @_.domain
(#not-eq? @_.domain "")
)
(stylesheet) @namedFunction.iteration @functionName.iteration
(block
.
"{" @namedFunction.iteration.start.endOf @functionName.iteration.start.endOf
"}" @namedFunction.iteration.end.startOf @functionName.iteration.end.startOf
.
)
(binary_expression
[
"<"
"<="
">"
">="
] @disqualifyDelimiter
)
;;!! @include rtl(float, left, right);
;;! ^^^^^^^^^^^^^^^^^^^^^^^
(include_statement
(identifier) @value.start
(arguments) @value.end
) @_.domain
;;!! @return 123
;;! ^^^
(return_statement
(_) @value
) @_.domain