diff options
Diffstat (limited to '.config/nvim/syntax')
| -rw-r--r-- | .config/nvim/syntax/ox.vim | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/.config/nvim/syntax/ox.vim b/.config/nvim/syntax/ox.vim new file mode 100644 index 0000000..c5abff4 --- /dev/null +++ b/.config/nvim/syntax/ox.vim @@ -0,0 +1,51 @@ +if exists("b:current_syntax") + finish +endif + +syn keyword oxTodo contained TODO FIXME HACK +syn match oxComment /\/\/.*$/ contains=oxTodo +syn region oxMComment start=/\/\*/ end=/\*\// + +syn keyword oxStatement return var break continue +syn keyword oxFunc fn +syn keyword oxRepeat for while +syn keyword oxDeclaration fn var +syn keyword oxStructure class enum +syn keyword oxConstants true false +syn keyword oxConditional if else +syn keyword oxStorageClass global local + +syn keyword oxOperator and or +syn match oxSymOperator /[+\-\*/%]|[\>\<\=\!]\=?/ + +syn match oxIdentifier /[A-z_]+[A-z0-9_]*/ + +syn match oxNumber /\<\d\+\>/ +syn match oxNumber /\<\d\+\.\d*\%([eE][-+]\=\d\+\)\=/ +syn match oxNumber /\.\d\+\%([eE][-+]\=\d\+\)\=\>/ +syn match oxNumber /\<\d\+[eE][-+]\=\d\+\>/ + +syn match oxEscape contained /\\[ntr\\\"']/ +syn match oxStringD /\".*\"/ contains=oxEscape +syn match oxStringS /\'.*\'/ contains=oxEscape +syn match oxType /(?<=\:)\s*[A-z_]+[A-z0-9_]*/ + +let b:current_syntax = "ox" + +hi def link oxComment Comment +hi def link oxMComment Comment +hi def link oxStatement Statement +hi def link oxFunc Function +hi def link oxDeclaration Statement +hi def link oxRepeat Repeat +hi def link oxIdentifier Identifier +hi def link oxNumber Number +hi def link oxStringD String +hi def link oxStringS String +hi def link oxConstants Constant +hi def link oxOperator Operator +hi def link oxSymOperator Operator +hi def link oxConditional Conditional +hi def link oxStructure Structure +hi def link oxStorageClass StorageClass +hi def link oxType Type |
