arctic/share/vim/syntax/arctic.vim

43 lines
1.3 KiB
VimL

" Description: ARCTIC syntax file
" Language: ARCTIC (2024)
" Maintainer: Louis Burke
if exists("b:current_syntax") || version < 700
finish
endif
let b:current_syntax = "arctic"
syntax match arcticComment "\v#.*$"
highlight link arcticComment Comment
syntax region arcticEmbed start=/'/ end=/'/
highlight link arcticEmbed Character
syntax region arcticSection start=/"/ end=/"/
highlight link arcticSection PreProc
syntax region arcticData keepend start=/\c"data"/ end=/"/ contains=arcticData.*,arcticLabel,arcticSection
syntax region arcticCode keepend start=/\c"code"/ end=/"/ contains=arcticCode.*,arcticLabel,arcticCall,arcticConstant,arcticSection
syntax match arcticDataImmediate "\v[][a-zA-Z0-9_]([^ ]|\\ )*"
highlight link arcticDataImmediate Statement
syntax match arcticDataOperator "\v[-.+*/%\|;&^!?()]"
highlight link arcticDataOperator Operator
syntax match arcticLabel "\v:[^ ]*"
highlight link arcticLabel Label
syntax match arcticCall "\v\@[^ ]*"
highlight link arcticCall Function
syntax match arcticConstant "\v\$[^ ]*"
highlight link arcticConstant Constant
syntax match arcticCodeImmediate "\v[][0EFGHLMPQTdou@<{=}>,`]([^ ]|\\ )*"
highlight link arcticCodeImmediate Statement
syntax match arcticCodeOperator "\v[-123456789ABCDIJKNORSUVWXYZabcefghijklmnpqrstvwxyz_.+*/%\|;&^!?()]"
highlight link arcticCodeOperator Operator