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%)