diff options
author | Teddy Wing | 2018-11-11 17:24:04 +0100 |
---|---|---|
committer | Teddy Wing | 2018-11-11 17:24:04 +0100 |
commit | 16882b77546ef3b6fd00a1b1efac72c3e6943adc (patch) | |
tree | 8c488d42632e618a617f63c0460759eef3826d2d /syntax | |
parent | bca03081f53e9e896b8e828b4de5bca8edb3b7d1 (diff) | |
download | vim-dome-key-16882b77546ef3b6fd00a1b1efac72c3e6943adc.tar.bz2 |
syntax/dome_key.vim: Add more detailed `map` highlighting
This only works for `map` definitions, but I'll be using what I've
learned here for the other map types.
* Only highlight `map` if it's on the start of a line
* Only highlight `<Up>`, `<Play>`, and `<Down>` in map triggers
* Highlight any special key in map actions
Diffstat (limited to 'syntax')
-rw-r--r-- | syntax/dome_key.vim | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/syntax/dome_key.vim b/syntax/dome_key.vim index 1d2a190..374e364 100644 --- a/syntax/dome_key.vim +++ b/syntax/dome_key.vim @@ -3,11 +3,21 @@ if exists('b:current_syntax') endif syntax region domeKeyComment display start="#" end="$" contains=@Spell -syntax region domeKeySpecialKey display start="<" end=">" contains=domeKeySpecialKeyKeyword +syntax region domeKeySpecialKey display start="<" end=">" contained contains=domeKeySpecialKeyKeyword -syntax keyword domeKeyType map cmd mode +" syntax match domeKeyMapDefinition "map\s+" contains=domeKeyMapDefinitionStart,domeKeyMapDefinitionTrigger,domeKeyMapDefinitionAction +" syntax match domeKeyMapDefinitionStart contained "map" contains=domeKeyType +" syntax region domeKeyMapDefinition start="^" end="$" contains=domeKeyMapDefinitionStart,domeKeyDefinitionTrigger,domeKeyMapDefinitionAction +syntax match domeKeyMapDefinitionStart "^\s*map" contains=domeKeyType nextgroup=domeKeyDefinitionTrigger skipwhite +syntax match domeKeyDefinitionTrigger "\c\(<\(Up\|Play\|Down\)>\)\+" contained contains=domeKeySpecialKey nextgroup=domeKeyMapDefinitionAction skipwhite +" syntax match domeKeyMapDefinitionAction "[^\n]" contained contains=domeKeySpecialKey +syntax match domeKeyMapDefinitionAction ".*$" contained contains=domeKeySpecialKey + +syntax keyword domeKeyType contained containedin=domeKeyMapDefinitionStart map cmd mode syntax case ignore +syntax keyword domeKeyTriggerKeyKeyword contained Up Play Down + syntax keyword domeKeySpecialKeyKeyword contained F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 syntax keyword domeKeySpecialKeyKeyword contained Left Right Down Up syntax keyword domeKeySpecialKeyKeyword contained Home End PageUp PageDown |