From 1dcf16ef24c7ab3f82292ad9ae195febc6964f6a Mon Sep 17 00:00:00 2001 From: navewindre Date: Tue, 17 Sep 2024 07:20:56 +0200 Subject: ye --- config/nvim/ftdetect/HeavenCfg.vim | 1 + config/nvim/syntax/HeavenCfg.vim | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 config/nvim/ftdetect/HeavenCfg.vim create mode 100644 config/nvim/syntax/HeavenCfg.vim (limited to 'config/nvim') diff --git a/config/nvim/ftdetect/HeavenCfg.vim b/config/nvim/ftdetect/HeavenCfg.vim new file mode 100644 index 0000000..e8fac4b --- /dev/null +++ b/config/nvim/ftdetect/HeavenCfg.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.hmap,*.hcfg set filetype=HeavenCfg 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 -- cgit v1.2.3