blob: 1a76e6c7f588773d5088e5b26984b47e282c426e [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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020011" quit when a syntax file was already loaded
12if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +000013 finish
14endif
15
16if !exists("main_syntax")
17 let main_syntax = 'lite'
18endif
19
20if main_syntax == 'lite'
21 if exists("lite_sql_query")
22 if lite_sql_query == 1
23 syn include @liteSql <sfile>:p:h/sql.vim
24 unlet b:current_syntax
25 endif
26 endif
27endif
28
29if main_syntax == 'msql'
30 if exists("msql_sql_query")
31 if msql_sql_query == 1
32 syn include @liteSql <sfile>:p:h/sql.vim
33 unlet b:current_syntax
34 endif
35 endif
36endif
37
38syn cluster liteSql remove=sqlString,sqlComment
39
40syn case match
41
42" Internal Variables
43syn keyword liteIntVar ERRMSG contained
44
45" Comment
46syn region liteComment start="/\*" end="\*/" contains=liteTodo
47
48" Function names
49syn keyword liteFunctions echo printf fprintf open close read
50syn keyword liteFunctions readln readtok
51syn keyword liteFunctions split strseg chop tr sub substr
52syn keyword liteFunctions test unlink umask chmod mkdir chdir rmdir
53syn keyword liteFunctions rename truncate link symlink stat
54syn keyword liteFunctions sleep system getpid getppid kill
55syn keyword liteFunctions time ctime time2unixtime unixtime2year
56syn keyword liteFunctions unixtime2year unixtime2month unixtime2day
57syn keyword liteFunctions unixtime2hour unixtime2min unixtime2sec
58syn keyword liteFunctions strftime
59syn keyword liteFunctions getpwnam getpwuid
60syn keyword liteFunctions gethostbyname gethostbyaddress
61syn keyword liteFunctions urlEncode setContentType includeFile
62syn keyword liteFunctions msqlConnect msqlClose msqlSelectDB
63syn keyword liteFunctions msqlQuery msqlStoreResult msqlFreeResult
64syn keyword liteFunctions msqlFetchRow msqlDataSeek msqlListDBs
65syn keyword liteFunctions msqlListTables msqlInitFieldList msqlListField
66syn keyword liteFunctions msqlFieldSeek msqlNumRows msqlEncode
67syn keyword liteFunctions exit fatal typeof
68syn keyword liteFunctions crypt addHttpHeader
69
70" Conditional
71syn keyword liteConditional if else
72
73" Repeat
74syn keyword liteRepeat while
75
76" Operator
77syn keyword liteStatement break return continue
78
79" Operator
80syn match liteOperator "[-+=#*]"
81syn match liteOperator "/[^*]"me=e-1
82syn match liteOperator "\$"
83syn match liteRelation "&&"
84syn match liteRelation "||"
85syn match liteRelation "[!=<>]="
86syn match liteRelation "[<>]"
87
88" Identifier
89syn match liteIdentifier "$\h\w*" contains=liteIntVar,liteOperator
90syn match liteGlobalIdentifier "@\h\w*" contains=liteIntVar
91
92" Include
93syn keyword liteInclude load
94
95" Define
96syn keyword liteDefine funct
97
98" Type
99syn keyword liteType int uint char real
100
101" String
102syn region liteString keepend matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=liteIdentifier,liteSpecialChar,@liteSql
103
104" Number
105syn match liteNumber "-\=\<\d\+\>"
106
107" Float
108syn match liteFloat "\(-\=\<\d+\|-\=\)\.\d\+\>"
109
110" SpecialChar
111syn match liteSpecialChar "\\[abcfnrtv\\]" contained
112
113syn match liteParentError "[)}\]]"
114
115" Todo
116syn keyword liteTodo TODO Todo todo contained
117
118" dont syn #!...
119syn match liteExec "^#!.*$"
120
121" Parents
122syn cluster liteInside contains=liteComment,liteFunctions,liteIdentifier,liteGlobalIdentifier,liteConditional,liteRepeat,liteStatement,liteOperator,liteRelation,liteType,liteString,liteNumber,liteFloat,liteParent
123
124syn region liteParent matchgroup=Delimiter start="(" end=")" contains=@liteInside
125syn region liteParent matchgroup=Delimiter start="{" end="}" contains=@liteInside
126syn region liteParent matchgroup=Delimiter start="\[" end="\]" contains=@liteInside
127
128" sync
129if main_syntax == 'lite'
130 if exists("lite_minlines")
131 exec "syn sync minlines=" . lite_minlines
132 else
133 syn sync minlines=100
134 endif
135endif
136
137" Define the default highlighting.
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200138" Only when an item doesn't have highlighting yet
139command -nargs=+ HiLink hi def link <args>
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200141HiLink liteComment Comment
142HiLink liteString String
143HiLink liteNumber Number
144HiLink liteFloat Float
145HiLink liteIdentifier Identifier
146HiLink liteGlobalIdentifier Identifier
147HiLink liteIntVar Identifier
148HiLink liteFunctions Function
149HiLink liteRepeat Repeat
150HiLink liteConditional Conditional
151HiLink liteStatement Statement
152HiLink liteType Type
153HiLink liteInclude Include
154HiLink liteDefine Define
155HiLink liteSpecialChar SpecialChar
156HiLink liteParentError liteError
157HiLink liteError Error
158HiLink liteTodo Todo
159HiLink liteOperator Operator
160HiLink liteRelation Operator
Bram Moolenaar071d4272004-06-13 20:20:40 +0000161
Bram Moolenaar89bcfda2016-08-30 23:26:57 +0200162delcommand HiLink
Bram Moolenaar071d4272004-06-13 20:20:40 +0000163
164let b:current_syntax = "lite"
165
166if main_syntax == 'lite'
167 unlet main_syntax
168endif
169
170" vim: ts=8