summaryrefslogtreecommitdiff
path: root/config/nvim/syntax
diff options
context:
space:
mode:
Diffstat (limited to 'config/nvim/syntax')
-rw-r--r--config/nvim/syntax/HeavenCfg.vim24
1 files changed, 24 insertions, 0 deletions
diff --git a/config/nvim/syntax/HeavenCfg.vim b/config/nvim/syntax/HeavenCfg.vim
new file mode 100644
index 0000000..3297f8e
--- /dev/null
+++ b/config/nvim/syntax/HeavenCfg.vim
@@ -0,0 +1,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