Unnamed repository; edit this file 'description' to name the repository.
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
(comment) @comment

(
  doctype
  (("doctype") @keyword.storage.type)
  ((doctype_name) @type.enum.variant)
)

(tag_name) @constant

; Attributes
(id) @attribute
(class) @attribute
(attribute_name) @attribute

(quoted_attribute_value) @string

; Controls
(
  conditional
  ((keyword) @keyword.control.conditional)
)
(
  case
  ((keyword) @keyword.control)
  (
    when
    ((keyword) @keyword.control)
  )
)
(
  each
  ((keyword) @keyword.control.repeat)
)
(
  else
  ((keyword) @keyword.control.conditional)
)
(
  while
  ((keyword) @keyword.control.repeat)
)

; Mixins
(
  mixin_definition
  ((keyword) @keyword.function)
  ((mixin_name) @function.method)
)
(
  mixin_use
  (("+") @operator)
  ((mixin_name) @function.method)
)

; Includes
(
  include
  ((keyword) @keyword.directive)
  ((filename) @string.special.path)
)

; Inheritance
(
  extends
  ((keyword) @keyword.directive)
  ((filename) @string.special.path)
)
(
  block_definition
  ((keyword) @keyword.directive)
  ((block_name) @function.method)
)
(
  block_append
  ((keyword) @keyword.directive)
  ((block_name) @function.method)
)
(
  block_prepend
  ((keyword) @keyword.directive)
  ((block_name) @function.method)
)

; Filters
(
  filter
  (":" @function.macro)
  ((filter_name) @function.macro)
  ((content) @special)
)

; Inline JavaScript
(
  unbuffered_code
  (("-") @special)
)