blob: ec21f8d0186755f425f7254fe0ba8a04967a9080 (
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
57
58
59
|
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 fsKeyword select until
syn keyword fsStructure enum struct
syn keyword fsConstant nul dec hex str be le true false
syn match fsPrimitive "[su][1-9][0-9]*"
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 fsBinary "b[0-1x]\+"
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 fsKeyword Keyword
hi def link fsStructure Structure
hi def link fsPrimitive Type
hi def link fsConstant Constant
hi def link fsBinary Number
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
|