-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgsx.vim
More file actions
50 lines (39 loc) · 1.88 KB
/
gsx.vim
File metadata and controls
50 lines (39 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
" Vim syntax file
" Language: gsx
" Maintainer: Abderrahim Indjaren <aindjare@proton.me>
" Last Change: 2025 Aug 29
syntax clear
if exists("b:current_syntax")
finish
endif
runtime! syntax/html.vim
let b:current_syntax = "gsx"
syntax case match
syntax keyword gsxKeyword in
syntax match gsxScope /\v\w+\ze::/ containedin=gsxComment
syntax match gsxCall /\v\w+!/ containedin=gsxComment
syntax match gsxIdentifier /\w\+\(!\|::\)\@!\>/ containedin=gsxComment
syntax match gsxParamsSeparator /=/ containedin=gsxComment
syntax match gsxArrayOpen /\[/ containedin=gsxArray
syntax match gsxArrayClose /\]/ containedin=gsxArray
syntax match gsxArraySeparator /,/ containedin=gsxArray
syntax match gsxDestructureSeparator /:/ containedin=gsxArray
syntax region gsxArray start="\[*" end="*\]" oneline
syntax match gsxNumber /[-]\<[0-9]\+\>/ contained
syntax region gsxChar start=+\%(L\|U\|u8\)\='+ skip=+\\\\\|\\'+ end=+'+ oneline contained
syntax region gsxString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ oneline contained
syntax region gsxComment start=/<!--\s*gsx:\s*/ end='-->' contains=gsxKeyword,gsxChar,gsxString,gsxIdentifier,gsxCall,gsxScope,gsxNumber,gsxParamsSeparator,gsxArraySeparator,gsxArray oneline
syntax cluster gsxNormal contains=gsxParamsSeparator,gsxArraySeparator
syntax cluster gsxArraySpecial contains=gsxArrayOpen,gsxArrayClose
syntax cluster htmlPreProc add=gsxComment
syntax cluster htmlTop add=gsxComment
highlight default link gsxComment Comment
highlight default link gsxNumber Number
highlight default link gsxString String
highlight default link gsxChar Character
highlight default link gsxCall Function
highlight default link gsxScope Special
highlight default link gsxKeyword Special
highlight default link gsxIdentifier Macro
highlight default link gsxNormal Normal
highlight default link gsxArraySpecial SpecialComment