comparison runtime/syntax/chaiscript.vim @ 2152:b9e314fe473f

Updated runtime files.
author Bram Moolenaar <bram@zimbu.org>
date Fri, 14 May 2010 23:24:24 +0200
parents
children d46f974fd69e
comparison
equal deleted inserted replaced
2151:ae22c450546c 2152:b9e314fe473f
1 " Vim syntax file
2 " Language: ChaiScript
3 " Maintainer: Jason Turner <lefticus 'at' gmail com>
4
5 " Quit when a (custom) syntax file was already loaded
6 if exists("b:current_syntax")
7 finish
8 end
9
10 syn case match
11
12 " syncing method
13 syn sync fromstart
14
15 " Strings
16 syn region chaiscriptString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=chaiscriptSpecial,chaiscriptEval,@Spell
17
18 " Escape characters
19 syn match chaiscriptSpecial contained "\\[\\abfnrtv\'\"]\|\\\d\{,3}"
20
21 " String evals
22 syn region chaiscriptEval contained start="${" end="}"
23
24 " integer number
25 syn match chaiscriptNumber "\<\d\+\>"
26
27 " floating point number, with dot, optional exponent
28 syn match chaiscriptFloat "\<\d\+\.\d*\%(e[-+]\=\d\+\)\=\>"
29
30 " floating point number, starting with a dot, optional exponent
31 syn match chaiscriptFloat "\.\d\+\%(e[-+]\=\d\+\)\=\>"
32
33 " floating point number, without dot, with exponent
34 syn match chaiscriptFloat "\<\d\+e[-+]\=\d\+\>"
35
36 " Hex strings
37 syn match chaiscriptNumber "\<0x\x\+\>"
38
39 " Binary strings
40 syn match chaiscriptNumber "\<0b[01]\+\>"
41
42 " Various language features
43 syn keyword chaiscriptCond if else
44 syn keyword chaiscriptRepeat while for do
45 syn keyword chaiscriptStatement break continue return
46 syn keyword chaiscriptExceptions try catch throw
47
48 "Keyword
49 syn keyword chaiscriptKeyword def true false attr
50
51 "Built in types
52 syn keyword chaiscriptType fun var
53
54 "Built in funcs, keep it simple
55 syn keyword chaiscriptFunc eval throw
56
57 "Let's treat all backtick operator function lookups as built in too
58 syn region chaiscriptFunc matchgroup=chaiscriptFunc start="`" end="`"
59
60 " Account for the "[1..10]" syntax, treating it as an operator
61 " Intentionally leaving out all of the normal, well known operators
62 syn match chaiscriptOperator "\.\."
63
64 " Guard seperator as an operator
65 syn match chaiscriptOperator ":"
66
67 " Comments
68 syn match chaiscriptComment "//.*$" contains=@Spell
69 syn region chaiscriptComment matchgroup=chaiscriptComment start="/\*" end="\*/" contains=@Spell
70
71
72
73 hi def link chaiscriptExceptions Exception
74 hi def link chaiscriptKeyword Keyword
75 hi def link chaiscriptStatement Statement
76 hi def link chaiscriptRepeat Repeat
77 hi def link chaiscriptString String
78 hi def link chaiscriptNumber Number
79 hi def link chaiscriptFloat Float
80 hi def link chaiscriptOperator Operator
81 hi def link chaiscriptConstant Constant
82 hi def link chaiscriptCond Conditional
83 hi def link chaiscriptFunction Function
84 hi def link chaiscriptComment Comment
85 hi def link chaiscriptTodo Todo
86 hi def link chaiscriptError Error
87 hi def link chaiscriptSpecial SpecialChar
88 hi def link chaiscriptFunc Identifier
89 hi def link chaiscriptType Type
90 hi def link chaiscriptEval Special
91
92 let b:current_syntax = "chaiscript"
93
94 " vim: nowrap sw=2 sts=2 ts=8 noet