summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authornavewindre <boneyaard@gmail.com>2024-10-12 13:02:24 +0200
committernavewindre <boneyaard@gmail.com>2024-10-12 13:02:24 +0200
commit65b505c0810107fa80ecb8a482133b6caa2f25d7 (patch)
tree6e711ec28e4abedf939dad096c57b3742fb6d852 /config
parent3c6c468c7b9a482bc7df34a36c1c4c0ce188fb93 (diff)
fffff
Diffstat (limited to 'config')
-rw-r--r--config/nvim/ftdetect/HeavenCfg.vim2
-rw-r--r--config/nvim/ftdetect/HolyC.vim1
-rw-r--r--config/nvim/queries/javascript/injections.scm2
-rw-r--r--config/nvim/syntax/HolyC.vim36
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