diff options
Diffstat (limited to 'config/nvim')
| -rw-r--r-- | config/nvim/ftdetect/HeavenCfg.vim | 2 | ||||
| -rw-r--r-- | config/nvim/ftdetect/HolyC.vim | 1 | ||||
| -rw-r--r-- | config/nvim/queries/javascript/injections.scm | 2 | ||||
| -rw-r--r-- | config/nvim/syntax/HolyC.vim | 36 |
4 files changed, 39 insertions, 2 deletions
diff --git a/config/nvim/ftdetect/HeavenCfg.vim b/config/nvim/ftdetect/HeavenCfg.vim index e8fac4b..1131454 100644 --- a/config/nvim/ftdetect/HeavenCfg.vim +++ b/config/nvim/ftdetect/HeavenCfg.vim @@ -1 +1 @@ -au BufRead,BufNewFile *.hmap,*.hcfg set filetype=HeavenCfg +au BufRead,BufNewFile *.hmap,*.hcfg,*.hmf,*.hres set filetype=HeavenCfg diff --git a/config/nvim/ftdetect/HolyC.vim b/config/nvim/ftdetect/HolyC.vim new file mode 100644 index 0000000..849c34b --- /dev/null +++ b/config/nvim/ftdetect/HolyC.vim @@ -0,0 +1 @@ +au BufRead,BufNewFile *.hc,*.HC set filetype=HolyC diff --git a/config/nvim/queries/javascript/injections.scm b/config/nvim/queries/javascript/injections.scm index bd5f014..7c1e4e9 100644 --- a/config/nvim/queries/javascript/injections.scm +++ b/config/nvim/queries/javascript/injections.scm @@ -1,7 +1,7 @@ ((template_string (string_fragment) @injection.content) (#set! injection.language "sql") - (#match? @injection.content "^[ \t\r\n]*(SELECT|CREATE|INSERT|UPDATE|DELETE|ALTER|DROP)[ \t\r\n].*(TABLE|COLUMN|FROM|WHERE|VALUES)")) + (#match? @injection.content "^[ \t\r\n]*(SELECT|CREATE|INSERT|UPDATE|DELETE|ALTER|DROP|REPLACE)[ \t\r\n].*(TABLE|COLUMN|FROM|WHERE|VALUES|INTO)")) ((template_string (string_fragment) @injection.content) diff --git a/config/nvim/syntax/HolyC.vim b/config/nvim/syntax/HolyC.vim new file mode 100644 index 0000000..087626d --- /dev/null +++ b/config/nvim/syntax/HolyC.vim @@ -0,0 +1,36 @@ +function! DefineKeywords(keywords) + for keyword in a:keywords + execute 'syntax keyword HolyCKeyword '. keyword + endfor + hi def link HolyCKeyword Keyword +endfunction + +function! DefineSpecial(keywords) + for keyword in a:keywords + execute 'syntax keyword HolyCSpecial '. keyword + endfor + hi def link HolyCSpecial Special +endfunction + +function! DefineTypes(keywords) + for keyword in a:keywords + execute 'syntax keyword HolyCType '. keyword + endfor + hi def link HolyCType Type +endfunction + +call DefineTypes( [ 'U8', 'U16', 'U32', 'U64', 'I8', 'I16', 'I32', 'I64', 'F32', 'F64', 'Bool', 'U0' ] ) +call DefineSpecial( ['Main'] ) +call DefineKeywords( [ 'if', 'else', 'for', 'while', 'do', 'switch', 'case', 'break', 'continue', 'return', 'struct', 'union', 'typedef', 'enum', 'const', 'auto', 'static', 'extern', 'public', 'private', 'goto' ] ) + +syntax match HolyCVar /\<\w\+\>/ +syntax match HolyCFunction /\<\w\+\>\s*(\@=/ +syntax region HolyCFunctionBody start="(" end=")" contains=HolyCString,HolyCDelimiter,HolyCNum keepend +syntax match HolyCDelimiter /[()]/ containedin=HolyCFunctionBody +syntax match HolyCString /"[^"]*"/ +syntax match HolyCNum /\v\d+(\.\d+)?([eE][+-]?\d+)?/ +hi def link HolyCVar Variable +hi def link HolyCFunction Function +hi def link HolyCDelimiter Delimiter +hi def link HolyCString String +hi def link HolyCNum Number |
