Files
highground-fork/vim/syntax/solstice.vim

46 lines
1.1 KiB
VimL
Raw Normal View History

2025-12-22 20:38:02 +11:00
" Vim highlight file for Solstice (.sols)
if exists("b:current_syntax")
finish
endif
" Keywords
2026-04-10 19:37:41 +10:00
syn keyword solsKeyword puts if while def lambda return use struct ground
syn keyword solsBool true false
2025-12-22 20:38:02 +11:00
2026-04-10 19:37:41 +10:00
" Types
syn keyword solsType int double string char bool fun template object
2025-12-22 20:38:02 +11:00
2026-04-10 19:37:41 +10:00
" Strings and chars
syn region solsString start=/"/ skip=/\\"/ end=/"/
syn region solsChar start=/'/ skip=/\\'/ end=/'/
" Numbers
syn match solsFloat /\<[0-9]\+\.[0-9]*\>/
syn match solsInt /\<[0-9]\+\>/
2025-12-22 20:38:02 +11:00
" Operators
2026-04-10 19:37:41 +10:00
syn match solsOperator /+\|-\|\*\|\/\|=\|!\|>\|<\|+=\|-=\|\*=\|\/=\|++\|--\|==\|!=\|>=\|<=/
2025-12-22 20:38:02 +11:00
" Delimiters
2026-04-10 19:37:41 +10:00
syn match solsDelimiter /[{}(),;]/
" Comments
syn match solsComment /\/\/.*$/
syn match solsComment /#.*$/
" Highlight links
hi def link solsKeyword Keyword
hi def link solsBool Boolean
hi def link solsType Type
hi def link solsString String
hi def link solsChar Character
hi def link solsFloat Float
hi def link solsInt Number
hi def link solsOperator Operator
hi def link solsDelimiter Delimiter
hi def link solsComment Comment
2025-12-22 20:38:02 +11:00
let b:current_syntax = "solstice"
2026-04-10 19:37:41 +10:00