@@ -24,6 +24,7 @@ variables:
24
24
any_word_chars : ' [^{{lex_delimit}}]*'
25
25
lit_word_start_chars : ^[\d\'\:@] # awoid: '2nd ''word ':word '@ref
26
26
lit_word_chars : ' [{{lit_word_start_chars}}]{{any_word_chars}}'
27
+ arrow_word_chars : ' [-<>]+'
27
28
refinement_chars : ' {{any_word_chars}}'
28
29
word_boundary : (?![^{{non_ident_chars}}])
29
30
words_control_conditional : (if|either|unless|case|switch)
@@ -52,6 +53,7 @@ contexts:
52
53
- include : match-money
53
54
- include : match-tuple
54
55
- include : match-pair
56
+ - include : match-arrow-word
55
57
- include : match-tag
56
58
- include : match-lit-word
57
59
- include : match-refinement
@@ -169,6 +171,8 @@ contexts:
169
171
- meta_scope : string.quoted.double.xml
170
172
- match : ' "'
171
173
pop : true
174
+ - match : ' <[^>]+>'
175
+ scope : entity.tag.rebol
172
176
173
177
# Note: the email literal in Red is EXTREMELY permissive.
174
178
# Note: this is actually ref! datatype: @name
@@ -532,6 +536,10 @@ contexts:
532
536
1 : keyword.operator.quote.rebol
533
537
2 : invalid.illegal.rebol
534
538
539
+ match-arrow-word :
540
+ - match : (<)({{arrow_word_chars}}){{word_boundary}}
541
+ scope : variable.other.rebol
542
+
535
543
match-refinement :
536
544
- match : (/)({{refinement_chars}}){{word_boundary}}
537
545
captures :
@@ -553,7 +561,7 @@ contexts:
553
561
scope : keyword.operator.logical.rebol
554
562
- match : ' (\+\+|--){{word_boundary}}'
555
563
scope : keyword.operator.assignment.augmented.rebol
556
- - match : \+|\-|\*|\*\*|/|//|<<|>>|&|\|
564
+ - match : ' ( \+|\-|\*|\*\*|/|//|<<|>>|&|\|){{word_boundary}} '
557
565
scope : keyword.operator.arithmetic.rebol
558
566
- include : match-keyword-bincode
559
567
- include : match-keyword-tests
0 commit comments