blob: f6e41e7e188fcd2e9c7d19676d925d6b308ab3a6 [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"
Viktor Szépe3fc7a7e2023-08-23 21:20:00 +02008" Options lite_sql_query = 1 for SQL syntax highlighting inside strings
Bram Moolenaar071d4272004-06-13 20:20:40 +00009" 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
Bram Moolenaar071d4272004-06-13 20:20:40 +0000139
Bram Moolenaarf37506f2016-08-31 22:22:10 +0200140hi def link liteComment Comment
141hi def link liteString String
142hi def link liteNumber Number
143hi def link liteFloat Float
144hi def link liteIdentifier Identifier
145hi def link liteGlobalIdentifier Identifier
146hi def link liteIntVar Identifier
147hi def link liteFunctions Function
148hi def link liteRepeat Repeat
149hi def link liteConditional Conditional
150hi def link liteStatement Statement
151hi def link liteType Type
152hi def link liteInclude Include
153hi def link liteDefine Define
154hi def link liteSpecialChar SpecialChar
155hi def link liteParentError liteError
156hi def link liteError Error
157hi def link liteTodo Todo
158hi def link liteOperator Operator
159hi def link liteRelation Operator
Bram Moolenaar071d4272004-06-13 20:20:40 +0000160
Bram Moolenaar071d4272004-06-13 20:20:40 +0000161
162let b:current_syntax = "lite"
163
164if main_syntax == 'lite'
165 unlet main_syntax
166endif
167
168" vim: ts=8