xref: /vim-8.2.3635/runtime/syntax/lite.vim (revision f37506f6)
1" Vim syntax file
2" Language:	lite
3" Maintainer:	Lutz Eymers <[email protected]>
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" quit when a syntax file was already loaded
12if exists("b:current_syntax")
13  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.
138" Only when an item doesn't have highlighting yet
139
140hi 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
160
161
162let b:current_syntax = "lite"
163
164if main_syntax == 'lite'
165  unlet main_syntax
166endif
167
168" vim: ts=8
169