Index: misc/grammalecte.sublime-syntax
==================================================================
--- misc/grammalecte.sublime-syntax
+++ misc/grammalecte.sublime-syntax
@@ -108,19 +108,31 @@
1: keyword.textprocessor.group
- match: '=>>'
scope: keyword.disambiguator
# Tokens
- - match: '>\w+'
+ - match: '(>)\w+'
scope: string.lemma
+ captures:
+ 1: keyword.valid
- - match: '~(?!(?:\d+(?::\d+|)|)>>)[^\s]+'
+ - match: '(~)(?!(?:\d+(?::\d+|)|)>>)[^\s]+'
scope: string.regex
+ captures:
+ 1: keyword.valid
+
+ - match: '(@)([^@][^\s¬]+)'
+ scope: string.morph
+ captures:
+ 1: keyword.valid
+ 2: string.morph.pattern
- - match: '@[^@][^\s]+'
+ - match: '(¬)(\S+)'
scope: string.morph
-
+ captures:
+ 1: keyword.invalid
+ 2: string.morph.antipattern
# Escaped chars
- match: '\\(?:\d+|w|d|b|n|s|t)'
scope: constant.character.escape
Index: misc/grammalecte.tmTheme
==================================================================
--- misc/grammalecte.tmTheme
+++ misc/grammalecte.tmTheme
@@ -291,10 +291,41 @@
foreground
#A0A0A0
+
+ name
+ Keyword Valid
+ scope
+ keyword.valid
+ settings
+
+ fontStyle
+ bold
+ foreground
+ hsl(150, 100%, 80%)
+ background
+ hsl(150, 100%, 20%)
+
+
+
+ name
+ Keyword Invalid
+ scope
+ keyword.invalid
+ settings
+
+ fontStyle
+ bold
+ foreground
+ hsl(0, 100%, 80%)
+ background
+ hsl(0, 100%, 20%)
+
+
+
name
Rule options
scope
rule.options
@@ -375,13 +406,13 @@
scope
string.lemma
settings
foreground
- #FF3030
+ hsl(210, 100%, 80%)
background
- #402020
+ hsl(210, 100%, 15%)
name
String regex
@@ -388,26 +419,39 @@
scope
string.regex
settings
foreground
- #30FF30
- background
- #204020
-
-
-
- name
- String morph
- scope
- string.morph
- settings
-
- foreground
- #8080FF
- background
- #202080
+ hsl(60, 100%, 80%)
+ background
+ hsl(60, 100%, 10%)
+
+
+
+ name
+ String morph pattern
+ scope
+ string.morph.pattern
+ settings
+
+ foreground
+ hsl(150, 80%, 90%)
+ background
+ hsl(150, 80%, 10%)
+
+
+
+ name
+ String morph antipattern
+ scope
+ string.morph.antipattern
+ settings
+
+ foreground
+ hsl(0, 80%, 90%)
+ background
+ hsl(0, 80%, 10%)