summaryrefslogtreecommitdiff
path: root/config/nvim/syntax/HeavenCfg.vim
blob: 3297f8e4440642690830460256c4c3fd1f4a4808 (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
function! DefineKeywords(keywords)
  for keyword in a:keywords
    execute 'syntax keyword HeavenCfgKeyword '. keyword
  endfor
  hi def link HeavenCfgKeyword Keyword
endfunction

function! DefineSpecial(keywords)
  for keyword in a:keywords
    execute 'syntax keyword HeavenCfgSpecial '. keyword
  endfor
  hi def link HeavenCfgSpecial Special
endfunction

call DefineKeywords( ['DEF', 'I32', 'F32', 'STR', 'BYTES', 'U8', 'CLR', 'VEC2', 'VEC3' ] )

call DefineSpecial( ['map', 'mat'] )

syntax match HeavenCfgVar /\<\w\+\>/
syntax match HeavenCfgString /"[^"]*"/
syntax match HeavenCfgNum /\v\d+(\.\d+)?([eE][+-]?\d+)?/
hi def link HeavenCfgNum Number
hi def link HeavenCfgString String
hi def link HeavenCfgVar Variable