go-snark/vim-syntax/syntax/go-snark-circuit.vim
vim-syntax/syntax/go-snark-circuit.vimRaw
1" Vim syntax file
2" Language: go-snark-circuit
3" URL: https://github.com/arnaucube/go-snark/blob/master/vim-syntax/syntax/go-snark-circuit.vim
4
5if !exists("main_syntax")
6 " quit when a syntax file was already loaded
7 if exists("b:current_syntax")
8 finish
9 endif
10 let main_syntax = 'go-snark-circuit'
11elseif exists("b:current_syntax") && b:current_syntax == "go-snark-circuit"
12 finish
13endif
14
15let s:cpo_save = &cpo
16set cpo&vim
17
18syn keyword goSnarkCircuitCommentTodo TODO FIXME XXX TBD contained
19syn match goSnarkCircuitLineComment "\/\/.*" contains=@Spell,goSnarkCircuitCommentTodo
20syn match goSnarkCircuitSpecialCharacter "'\\.'"
21syn match goSnarkCircuitNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
22syn match goSnarkCircuitOpSymbols "+\|-\|\*\|:\|)\|(\|="
23syn keyword goSnarkCircuitPrivatePublic private public
24syn keyword goSnarkCircuitOut out
25syn keyword goSnarkCircuitEquals equals
26syn keyword goSnarkCircuitFunction func
27syn match goSnarkCircuitFuncCall /\<\K\k*\ze\s*(/
28syn keyword goSnarkCircuitPrivate private nextgroup=goSnarkCircuitInputName skipwhite
29syn keyword goSnarkCircuitPublic public nextgroup=goSnarkCircuitInputName skipwhite
30syn match goSnarkCircuitInputName '\i\+' contained
31syn match goSnarkCircuitBraces "[{}\[\]]"
32syn match goSnarkCircuitParens "[()]"
33
34syn sync fromstart
35syn sync maxlines=100
36
37" Define the default highlighting.
38" Only when an item doesn't have highlighting yet
39hi def link goSnarkCircuitLineComment Comment
40hi def link goSnarkCircuitCommentTodo Todo
41hi def link goSnarkCircuitSpecialCharacter Special
42hi def link goSnarkCircuitNumber Number
43hi def link goSnarkCircuitOpSymbols Operator
44hi def link goSnarkCircuitFuncCall Function
45hi def link goSnarkCircuitEquals Identifier
46hi def link goSnarkCircuitFunction Keyword
47hi def link goSnarkCircuitBraces Function
48hi def link goSnarkCircuitPrivate Keyword
49hi def link goSnarkCircuitPublic Keyword
50hi def link goSnarkCircuitInputName Special
51hi def link goSnarkCircuitOut Special
52hi def link goSnarkCircuitPrivatePublic Keyword
53
54let b:current_syntax = "go-snark-circuit"
55if main_syntax == 'go-snark-circuit'
56 unlet main_syntax
57endif
58let &cpo = s:cpo_save
59unlet s:cpo_save
60
61" vim: ts=8