blob: 19c9945391aa01fb9166d432a8442b441cbde3f0 (
plain)
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
51
52
53
54
55
56
|
Language:
Author:
syntax clear
syn match fsBadContinuation contained "\\\s\+$"
syn keyword fsTodo contained TODO FIXME XXX
syn cluster fsCommentGroup contains=fsTodo,fsBadContinuation
syn region fsComment start="//" skip="\\$" end="$" keepend contains=@fsCommentGroup,@Spell
syn keyword fsStructure enum struct union
syn keyword fsType s8 s16 s32 s64
syn keyword fsType u8 u16 u32 u64
syn keyword fsConstant nul dec hex str
syn case ignore
syn match fsNumbers display transparent "\<\d\|\.\d" contains=fsNumber,fsFloat,fsOctalError,fsOctal
syn match fsNumbersCom display contained transparent "\<\d\|\.\d" contains=fsNumber,fsFloat,fsOctal
syn match fsNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
syn match fsNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
syn match fsOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=fsOctalZero
syn match fsOctalZero display contained "\<0"
syn match fsFloat display contained "\d\+f"
syn match fsFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
syn match fsFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
syn match fsFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>"
syn match fsOctalError display contained "0\o*[89]\d*"
syn case match
syn match fsSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
syn match fsString1 "'[^']*'" contains=fsSpecial
syn match fsString2 '"[^"]*"' contains=fsSpecial
syn match fsBlock "[{}]"
syn match fsBracket "[\[\]]"
syn match fsOperator display "[-+&|<>=!*\/~.,;:%&^?()]" contains=fsComment
hi def link fsTodo Todo
hi def link fsComment Comment
hi def link fsStructure Structure
hi def link fsType Type
hi def link fsConstant Constant
hi def link fsNumber Number
hi def link fsOctal Number
hi def link fsOctalZero PreProc
hi def link fsFloat Float
hi def link fsOctalError Error
hi def link fsString1 Character
hi def link fsString2 Character
hi def link fsSpecial SpecialChar
hi def link fsBlock Constant
hi def link fsBracket Constant
hi def link fsOperator Operator
|