blob: 8abc51dea1dc25c8358394fb1bb4b98eeae720e6 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: lite
3" Maintainer: Lutz Eymers <ixtab@polzin.com>
4" URL: http://www.isp.de/data/lite.vim
5" Email: Subject: send syntax_vim.tgz
6" Last Change: 2001 Mai 01
7"
8" Options lite_sql_query = 1 for SQL syntax highligthing inside strings
9" lite_minlines = x to sync at least x lines backwards
10
11" For version 5.x: Clear all syntax items
12" For version 6.x: Quit when a syntax file was already loaded
13if version < 600
14 syntax clear
15elseif exists("b:current_syntax")
16 finish
17endif
18
19if !exists("main_syntax")
20 let main_syntax = 'lite'
21endif
22
23if main_syntax == 'lite'
24 if exists("lite_sql_query")
25 if lite_sql_query == 1
26 syn include @liteSql <sfile>:p:h/sql.vim
27 unlet b:current_syntax
28 endif
29 endif
30endif
31
32if main_syntax == 'msql'
33 if exists("msql_sql_query")
34 if msql_sql_query == 1
35 syn include @liteSql <sfile>:p:h/sql.vim
36 unlet b:current_syntax
37 endif
38 endif
39endif
40
41syn cluster liteSql remove=sqlString,sqlComment
42
43syn case match
44
45" Internal Variables
46syn keyword liteIntVar ERRMSG contained
47
48" Comment
49syn region liteComment start="/\*" end="\*/" contains=liteTodo
50
51" Function names
52syn keyword liteFunctions echo printf fprintf open close read
53syn keyword liteFunctions readln readtok
54syn keyword liteFunctions split strseg chop tr sub substr
55syn keyword liteFunctions test unlink umask chmod mkdir chdir rmdir
56syn keyword liteFunctions rename truncate link symlink stat
57syn keyword liteFunctions sleep system getpid getppid kill
58syn keyword liteFunctions time ctime time2unixtime unixtime2year
59syn keyword liteFunctions unixtime2year unixtime2month unixtime2day
60syn keyword liteFunctions unixtime2hour unixtime2min unixtime2sec
61syn keyword liteFunctions strftime
62syn keyword liteFunctions getpwnam getpwuid
63syn keyword liteFunctions gethostbyname gethostbyaddress
64syn keyword liteFunctions urlEncode setContentType includeFile
65syn keyword liteFunctions msqlConnect msqlClose msqlSelectDB
66syn keyword liteFunctions msqlQuery msqlStoreResult msqlFreeResult
67syn keyword liteFunctions msqlFetchRow msqlDataSeek msqlListDBs
68syn keyword liteFunctions msqlListTables msqlInitFieldList msqlListField
69syn keyword liteFunctions msqlFieldSeek msqlNumRows msqlEncode
70syn keyword liteFunctions exit fatal typeof
71syn keyword liteFunctions crypt addHttpHeader
72
73" Conditional
74syn keyword liteConditional if else
75
76" Repeat
77syn keyword liteRepeat while
78
79" Operator
80syn keyword liteStatement break return continue
81
82" Operator
83syn match liteOperator "[-+=#*]"
84syn match liteOperator "/[^*]"me=e-1
85syn match liteOperator "\$"
86syn match liteRelation "&&"
87syn match liteRelation "||"
88syn match liteRelation "[!=<>]="
89syn match liteRelation "[<>]"
90
91" Identifier
92syn match liteIdentifier "$\h\w*" contains=liteIntVar,liteOperator
93syn match liteGlobalIdentifier "@\h\w*" contains=liteIntVar
94
95" Include
96syn keyword liteInclude load
97
98" Define
99syn keyword liteDefine funct
100
101" Type
102syn keyword liteType int uint char real
103
104" String
105syn region liteString keepend matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=liteIdentifier,liteSpecialChar,@liteSql
106
107" Number
108syn match liteNumber "-\=\<\d\+\>"
109
110" Float
111syn match liteFloat "\(-\=\<\d+\|-\=\)\.\d\+\>"
112
113" SpecialChar
114syn match liteSpecialChar "\\[abcfnrtv\\]" contained
115
116syn match liteParentError "[)}\]]"
117
118" Todo
119syn keyword liteTodo TODO Todo todo contained
120
121" dont syn #!...
122syn match liteExec "^#!.*$"
123
124" Parents
125syn cluster liteInside contains=liteComment,liteFunctions,liteIdentifier,liteGlobalIdentifier,liteConditional,liteRepeat,liteStatement,liteOperator,liteRelation,liteType,liteString,liteNumber,liteFloat,liteParent
126
127syn region liteParent matchgroup=Delimiter start="(" end=")" contains=@liteInside
128syn region liteParent matchgroup=Delimiter start="{" end="}" contains=@liteInside
129syn region liteParent matchgroup=Delimiter start="\[" end="\]" contains=@liteInside
130
131" sync
132if main_syntax == 'lite'
133 if exists("lite_minlines")
134 exec "syn sync minlines=" . lite_minlines
135 else
136 syn sync minlines=100
137 endif
138endif
139
140" Define the default highlighting.
141" For version 5.7 and earlier: only when not done already
142" For version 5.8 and later: only when an item doesn't have highlighting yet
143if version >= 508 || !exists("did_lite_syn_inits")
144 if version < 508
145 let did_lite_syn_inits = 1
146 command -nargs=+ HiLink hi link <args>
147 else
148 command -nargs=+ HiLink hi def link <args>
149 endif
150
151 HiLink liteComment Comment
152 HiLink liteString String
153 HiLink liteNumber Number
154 HiLink liteFloat Float
155 HiLink liteIdentifier Identifier
156 HiLink liteGlobalIdentifier Identifier
157 HiLink liteIntVar Identifier
158 HiLink liteFunctions Function
159 HiLink liteRepeat Repeat
160 HiLink liteConditional Conditional
161 HiLink liteStatement Statement
162 HiLink liteType Type
163 HiLink liteInclude Include
164 HiLink liteDefine Define
165 HiLink liteSpecialChar SpecialChar
166 HiLink liteParentError liteError
167 HiLink liteError Error
168 HiLink liteTodo Todo
169 HiLink liteOperator Operator
170 HiLink liteRelation Operator
171
172 delcommand HiLink
173endif
174
175let b:current_syntax = "lite"
176
177if main_syntax == 'lite'
178 unlet main_syntax
179endif
180
181" vim: ts=8