aboutsummaryrefslogtreecommitdiffstats
path: root/syntax/dome_key.vim
blob: 74088dbee13301305282b16d3172a4452b6d52ff (plain)
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
if exists('b:current_syntax')
	finish
endif

syntax region domeKeyComment display start="#" end="$" contains=@Spell
syntax region domeKeySpecialKey display start="<" end=">" contained contains=domeKeyTriggerKeyKeyword,domeKeySpecialKeyKeyword

syntax match domeKeyDefinitionTrigger "\c\(<\(Up\|Play\|Down\)>\)\+" contained contains=domeKeySpecialKey

syntax match domeKeyMapDefinitionStart "^\s*map" contains=domeKeyType nextgroup=domeKeyMapDefinitionTrigger skipwhite
syntax match domeKeyMapDefinitionTrigger "" contained contains=domeKeyDefinitionTrigger nextgroup=domeKeyMapDefinitionAction skipwhite
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
syntax keyword domeKeySpecialKeyKeyword contained Return Enter CR
syntax keyword domeKeySpecialKeyKeyword contained Del BS
syntax keyword domeKeySpecialKeyKeyword contained Esc
syntax keyword domeKeySpecialKeyKeyword contained CapsLock
syntax keyword domeKeySpecialKeyKeyword contained Tab Space
syntax keyword domeKeySpecialKeyKeyword contained VolumeUp VolumeDown Mute
syntax keyword domeKeySpecialKeyKeyword contained BrightnessUp BrightnessDown
syntax keyword domeKeySpecialKeyKeyword contained Help
syntax keyword domeKeySpecialKeyKeyword contained Power
syntax keyword domeKeySpecialKeyKeyword contained NumLock
syntax keyword domeKeySpecialKeyKeyword contained ContrastUp ContrastDown
syntax keyword domeKeySpecialKeyKeyword contained Eject
syntax keyword domeKeySpecialKeyKeyword contained VidMirror
syntax keyword domeKeySpecialKeyKeyword contained Play Next Previous Fast Rewind
syntax keyword domeKeySpecialKeyKeyword contained IlluminationUp IlluminationDown IlluminationToggle
syntax case match


highlight default link domeKeyComment Comment
highlight default link domeKeyType Statement
highlight default link domeKeySpecialKey Special
highlight default link domeKeyTriggerKeyKeyword domeKeySpecialKey
highlight default link domeKeySpecialKeyKeyword domeKeySpecialKey

" TODO:
" - Escaping only in actions
" - Don't highlight special keys inside command actions
" - Trigger keys are the only special keys after a map kind

let b:current_syntax = 'dome_key'