Mercurial > vim
comparison runtime/syntax/falcon.vim @ 2596:fae782ef63dd
Runtime file updates.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 30 Sep 2010 21:47:56 +0200 |
parents | |
children | 2b11ac90d9e9 |
comparison
equal
deleted
inserted
replaced
2595:bf9579ab26e5 | 2596:fae782ef63dd |
---|---|
1 " Vim syntax file | |
2 " Language: Falcon | |
3 " Maintainer: Steven Oliver <oliver.steven@gmail.com> | |
4 " Website: http://github.com/steveno/vim-files/blob/master/syntax/falcon.vim | |
5 " Credits: Thanks the ruby.vim authors, I borrowed a lot! | |
6 " ------------------------------------------------------------------------------- | |
7 " GetLatestVimScripts: 2745 1 :AutoInstall: falcon.vim | |
8 | |
9 " When wanted, highlight the trailing whitespace. | |
10 if exists("c_space_errors") | |
11 if !exists("c_no_trail_space_error") | |
12 syn match falconSpaceError "\s\+$" | |
13 endif | |
14 | |
15 if !exists("c_no_tab_space_error") | |
16 syn match falconSpaceError " \+\t"me=e-1 | |
17 endif | |
18 endif | |
19 | |
20 " Symbols | |
21 syn match falconSymbol "\(;\|,\|\.\)" | |
22 syn match falconSymbolOther "\(#\|@\)" display | |
23 | |
24 " Operators | |
25 syn match falconOperator "\(+\|-\|\*\|/\|=\|<\|>\|\*\*\|!=\|\~=\)" | |
26 syn match falconOperator "\(<=\|>=\|=>\|\.\.\|<<\|>>\|\"\)" | |
27 | |
28 " Clusters | |
29 syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@falconStringSpecial fold | |
30 syn case match | |
31 | |
32 " Keywords | |
33 syn keyword falconKeyword all allp any anyp as attributes brigade cascade catch choice class const | |
34 syn keyword falconKeyword continue def directive do list dropping enum eq eval exit export from function | |
35 syn keyword falconKeyword give global has hasnt in init innerfunc lambda launch launch len List list | |
36 syn keyword falconKeyword load notin object pass print printl provides raise return self sender static to | |
37 syn keyword falconKeyword try xamp | |
38 | |
39 " Error Type Keywords | |
40 syn keyword falconKeyword CloneError CodeError Error InterruprtedError IoError MathError | |
41 syn keyword falconKeyword ParamError RangeError SyntaxError TraceStep TypeError | |
42 | |
43 " Todo | |
44 syn keyword falconTodo DEBUG FIXME NOTE TODO XXX | |
45 | |
46 " Conditionals | |
47 syn keyword falconConditional and case default else end if iff | |
48 syn keyword falconConditional elif or not switch select | |
49 syn match falconConditional "end\s\if" | |
50 | |
51 " Loops | |
52 syn keyword falconRepeat break for loop forfirst forlast formiddle while | |
53 | |
54 " Booleans | |
55 syn keyword falconBool true false | |
56 | |
57 " Constants | |
58 syn keyword falconConst PI E nil | |
59 | |
60 " Comments | |
61 syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)" | |
62 syn region falconComment start="/\*" end="\*/" contains=@falconCommentGroup,falconSpaceError,falconTodo | |
63 syn region falconCommentL start="//" end="$" keepend contains=@falconCommentGroup,falconSpaceError,falconTodo | |
64 syn match falconSharpBang "\%^#!.*" display | |
65 syn sync ccomment falconComment | |
66 | |
67 " Numbers | |
68 syn match falconNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal | |
69 syn match falconNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal | |
70 syn match falconHexadecimal contained "\<0x\x\+\>" | |
71 syn match falconOctal contained "\<0\o\+\>" | |
72 syn match falconIntLiteral contained "[+-]\<d\+\(\d\+\)\?\>" | |
73 syn match falconFloatLiteral contained "[+-]\=\d\+\.\d*" | |
74 syn match falconFloatLiteral contained "[+-]\=\d*\.\d*" | |
75 | |
76 " Includes | |
77 syn keyword falconInclude load import | |
78 | |
79 " Expression Substitution and Backslash Notation | |
80 syn match falconStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display | |
81 syn match falconStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display | |
82 syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold | |
83 | |
84 " Normal String and Shell Command Output | |
85 syn region falconString matchgroup=falconStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold | |
86 syn region falconString matchgroup=falconStringDelimiter start="'" end="'" skip="\\\\\|\\'" fold | |
87 syn region falconString matchgroup=falconStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=falconStringEscape fold | |
88 | |
89 " Generalized Single Quoted String, Symbol and Array of Strings | |
90 syn region falconString matchgroup=falconStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold | |
91 syn region falconString matchgroup=falconStringDelimiter start="%[qw]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape | |
92 syn region falconString matchgroup=falconStringDelimiter start="%[qw]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape | |
93 syn region falconString matchgroup=falconStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape | |
94 syn region falconString matchgroup=falconStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape | |
95 syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold | |
96 syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape | |
97 syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape | |
98 syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape | |
99 syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape | |
100 | |
101 " Generalized Double Quoted String and Array of Strings and Shell Command Output | |
102 syn region falconString matchgroup=falconStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold | |
103 syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold | |
104 syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=falconStringEscape,falconDelimEscape fold | |
105 syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=falconStringEscape,falconDelimEscape fold | |
106 syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=falconStringEscape,falconDelimEscape fold | |
107 syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=falconStringEscape,falconDelimEscape fold | |
108 | |
109 syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<\z(\h\w*\)\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend | |
110 syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<"\z([^"]*\)"\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend | |
111 syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<'\z([^']*\)'\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ fold keepend | |
112 syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<`\z([^`]*\)`\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend | |
113 | |
114 syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-\z(\h\w*\)\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend | |
115 syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-"\z([^"]*\)"\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend | |
116 syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ fold keepend | |
117 syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend | |
118 | |
119 " Syntax Synchronizing | |
120 syn sync minlines=10 maxlines=100 | |
121 | |
122 " Define the default highlighting | |
123 if !exists("did_falcon_syn_inits") | |
124 command -nargs=+ HiLink hi def link <args> | |
125 | |
126 HiLink falconKeyword Keyword | |
127 HiLink falconCommentString String | |
128 HiLink falconTodo Todo | |
129 HiLink falconConditional Keyword | |
130 HiLink falconRepeat Repeat | |
131 HiLink falconcommentSkip Comment | |
132 HiLink falconComment Comment | |
133 HiLink falconCommentL Comment | |
134 HiLink falconConst Constant | |
135 HiLink falconOperator Operator | |
136 HiLink falconSymbol Normal | |
137 HiLink falconSpaceError Error | |
138 HiLink falconHexadecimal Number | |
139 HiLink falconOctal Number | |
140 HiLink falconIntLiteral Number | |
141 HiLink falconFloatLiteral Float | |
142 HiLink falconStringEscape Special | |
143 HiLink falconStringDelimiter Delimiter | |
144 HiLink falconString String | |
145 HiLink falconBool Constant | |
146 HiLink falconSharpBang PreProc | |
147 HiLink falconInclude Include | |
148 HiLink falconSymbol Constant | |
149 HiLink falconSymbolOther Delimiter | |
150 delcommand HiLink | |
151 endif | |
152 | |
153 let b:current_syntax = "falcon" | |
154 | |
155 " vim: set sw=4 sts=4 et tw=80 : |