43 lines
1.3 KiB
VimL
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
|