-
-
Notifications
You must be signed in to change notification settings - Fork 84
/
Copy pathxml.scm
87 lines (74 loc) · 1.54 KB
/
xml.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
;; https://github.com/tree-sitter-grammars/tree-sitter-xml/blob/master/xml/src/grammar.json
;;!! <aaa>
;;! ^^^
;;! -----
(STag
(Name) @name
) @_.domain
;;!! </aaa>
;;! ^^^
;;! ------
(ETag
(Name) @name
) @_.domain
;;!! <aaa id="me">
;;! ^^^^^^^
(Attribute) @attribute
;;!! <aaa id="me">
;;! ^^ ^^^^
(Attribute
(Name) @collectionKey @value.leading.endOf
(AttValue) @value @collectionKey.trailing.startOf
) @_.domain
;;!! <aaa>
;;! ^^^^^
(STag) @attribute.iteration @collectionKey.iteration @value.iteration
;;!! <!-- comment -->
;;! ^^^^^^^^^^^^^^^^
(Comment) @comment @textFragment
;;!! <aaa id="me">
;;! ^^^^
(AttValue
.
_ @textFragment.start.endOf
_ @textFragment.end.startOf
.
) @string
;;!! <aaa>text</aaa>
;;! ^^^^
(CharData) @textFragment
;;!! <aaa>text</aaa>
;;! ^^^^^^^^^^^^^^^
;;! ^^^^
(element
(STag) @interior.start.endOf
(ETag) @interior.end.startOf
) @xmlElement @interior.domain
;;!! <aaa>text</aaa>
;;! ^^^^^ ^^^^^^
;;! ---------------
(element
(STag) @xmlStartTag
(ETag) @xmlEndTag
) @_.domain
(element
[
(STag)
(ETag)
] @xmlBothTags
(#allow-multiple! @xmlBothTags)
) @_.domain
(element
(STag) @xmlElement.iteration.start.endOf @xmlBothTags.iteration.start.endOf
(content
(element)
)
(ETag) @xmlElement.iteration.end.startOf @xmlBothTags.iteration.end.startOf
)
(_
(STag) @xmlStartTag.iteration.start.endOf @xmlEndTag.iteration.start.endOf
(content
(element)
)
(ETag) @xmlStartTag.iteration.end.startOf @xmlEndTag.iteration.end.startOf
)