xref: /vim-8.2.3635/runtime/syntax/lite.vim (revision 89bcfda6)
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
139command -nargs=+ HiLink hi def link <args>
140
141HiLink 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
161
162delcommand HiLink
163
164let b:current_syntax = "lite"
165
166if main_syntax == 'lite'
167  unlet main_syntax
168endif
169
170" vim: ts=8
171