forked from solstice/solstice
42 lines
1.3 KiB
VimL
42 lines
1.3 KiB
VimL
" Vim highlight file for Solstice (.sols)
|
|
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" Keywords
|
|
syn keyword solsticeConditional if
|
|
syn keyword solsticeRepeat while
|
|
syn keyword solsticeKeyword def struct return
|
|
syn keyword solsticeType int string bool double char
|
|
syn keyword solsticeBoolean true false
|
|
|
|
" Built-in functions
|
|
syn keyword solsticeBuiltin puts print println input
|
|
|
|
" Data Types
|
|
syn match solsticeNumber "\d\+\(\.\d\+\)\="
|
|
syn region solsticeString start=/"/ end=/"/
|
|
syn match solsticeCharacter /'[^']'/
|
|
|
|
" Operators
|
|
syn match solsticeOperator "==\|!=\|>=\|<=\|++\|--\|+\=\|-\=\|\*=\|\/="
|
|
syn match solsticeOperator "[><=+\-*/]"
|
|
|
|
" Delimiters
|
|
syn match solsticeDelimiter "[{()}]"
|
|
|
|
hi def link solsticeConditional Conditional
|
|
hi def link solsticeRepeat Repeat
|
|
hi def link solsticeKeyword Keyword
|
|
hi def link solsticeType Type
|
|
hi def link solsticeBoolean Boolean
|
|
hi def link solsticeBuiltin Function
|
|
hi def link solsticeNumber Number
|
|
hi def link solsticeString String
|
|
hi def link solsticeCharacter Character
|
|
hi def link solsticeOperator Operator
|
|
hi def link solsticeDelimiter Delimiter
|
|
|
|
let b:current_syntax = "solstice"
|