xref: /vim-8.2.3635/runtime/syntax/latte.vim (revision f37506f6)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:	Latte
3071d4279SBram Moolenaar" Maintainer:	Nick Moffitt, <[email protected]>
4071d4279SBram Moolenaar" Last Change:	14 June, 2000
5071d4279SBram Moolenaar"
6071d4279SBram Moolenaar" Notes:
7071d4279SBram Moolenaar" I based this on the TeX and Scheme syntax files (but mostly scheme).
8071d4279SBram Moolenaar" See http://www.latte.org for info on the language.
9071d4279SBram Moolenaar
1089bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1189bcfda6SBram Moolenaarif exists("b:current_syntax")
12071d4279SBram Moolenaar  finish
13071d4279SBram Moolenaarendif
14071d4279SBram Moolenaar
15071d4279SBram Moolenaarsyn match latteError "[{}\\]"
16071d4279SBram Moolenaarsyn match latteOther "\\{"
17071d4279SBram Moolenaarsyn match latteOther "\\}"
18071d4279SBram Moolenaarsyn match latteOther "\\\\"
19071d4279SBram Moolenaar
20071d4279SBram Moolenaarsetlocal iskeyword=33,43,45,48-57,63,65-90,95,97-122,_
21071d4279SBram Moolenaar
22071d4279SBram Moolenaarsyn region latteVar matchgroup=SpecialChar start=!\\[A-Za-z_]!rs=s+1 end=![^A-Za-z0-9?!+_-]!me=e-1 contains=ALLBUT,latteNumber,latteOther
23071d4279SBram Moolenaarsyn region latteVar matchgroup=SpecialChar start=!\\[=\&][A-Za-z_]!rs=s+2 end=![^A-Za-z0-9?!+_-]!me=e-1 contains=ALLBUT,latteNumber,latteOther
24071d4279SBram Moolenaarsyn region latteString	start=+\\"+ skip=+\\\\"+ end=+\\"+
25071d4279SBram Moolenaar
26071d4279SBram Moolenaarsyn region latteGroup	matchgroup=Delimiter start="{" skip="\\[{}]" matchgroup=Delimiter end="}" contains=ALLBUT,latteSyntax
27071d4279SBram Moolenaar
28071d4279SBram Moolenaarsyn region latteUnquote matchgroup=Delimiter start="\\,{" skip="\\[{}]" matchgroup=Delimiter end="}" contains=ALLBUT,latteSyntax
29071d4279SBram Moolenaarsyn region latteSplice matchgroup=Delimiter start="\\,@{" skip="\\[{}]" matchgroup=Delimiter end="}" contains=ALLBUT,latteSyntax
30071d4279SBram Moolenaarsyn region latteQuote matchgroup=Delimiter start="\\'{" skip="\\[{}]" matchgroup=Delimiter end="}"
31071d4279SBram Moolenaarsyn region latteQuote matchgroup=Delimiter start="\\`{" skip="\\[{}]" matchgroup=Delimiter end="}" contains=latteUnquote,latteSplice
32071d4279SBram Moolenaar
33071d4279SBram Moolenaarsyn match  latteOperator   '\\/'
34071d4279SBram Moolenaarsyn match  latteOperator   '='
35071d4279SBram Moolenaar
36071d4279SBram Moolenaarsyn match  latteComment	"\\;.*$"
37071d4279SBram Moolenaar
38071d4279SBram Moolenaar" This was gathered by slurping in the index.
39071d4279SBram Moolenaar
40071d4279SBram Moolenaarsyn keyword latteSyntax __FILE__ __latte-version__ contained
41071d4279SBram Moolenaarsyn keyword latteSyntax _bal-tag _pre _tag add and append apply back contained
42071d4279SBram Moolenaarsyn keyword latteSyntax caar cadr car cdar cddr cdr ceil compose contained
43071d4279SBram Moolenaarsyn keyword latteSyntax concat cons def defmacro divide downcase contained
44071d4279SBram Moolenaarsyn keyword latteSyntax empty? equal? error explode file-contents contained
45071d4279SBram Moolenaarsyn keyword latteSyntax floor foreach front funcall ge?  getenv contained
46071d4279SBram Moolenaarsyn keyword latteSyntax greater-equal? greater? group group? gt? html contained
47071d4279SBram Moolenaarsyn keyword latteSyntax if include lambda le? length less-equal? contained
48071d4279SBram Moolenaarsyn keyword latteSyntax less? let lmap load-file load-library lt?  macro contained
49071d4279SBram Moolenaarsyn keyword latteSyntax member?  modulo multiply not nth operator? contained
50071d4279SBram Moolenaarsyn keyword latteSyntax or ordinary quote process-output push-back contained
51071d4279SBram Moolenaarsyn keyword latteSyntax push-front quasiquote quote random rdc reverse contained
52071d4279SBram Moolenaarsyn keyword latteSyntax set!  snoc splicing unquote strict-html4 contained
53071d4279SBram Moolenaarsyn keyword latteSyntax string-append string-ge?  string-greater-equal? contained
54071d4279SBram Moolenaarsyn keyword latteSyntax string-greater?  string-gt?  string-le? contained
55071d4279SBram Moolenaarsyn keyword latteSyntax string-less-equal?  string-less?  string-lt? contained
56071d4279SBram Moolenaarsyn keyword latteSyntax string?  subseq substr subtract  contained
57071d4279SBram Moolenaarsyn keyword latteSyntax upcase useless warn while zero?  contained
58071d4279SBram Moolenaar
59071d4279SBram Moolenaar
60071d4279SBram Moolenaar" If it's good enough for scheme...
61071d4279SBram Moolenaar
62071d4279SBram Moolenaarsyn sync match matchPlace grouphere NONE "^[^ \t]"
63071d4279SBram Moolenaar" ... i.e. synchronize on a line that starts at the left margin
64071d4279SBram Moolenaar
65071d4279SBram Moolenaar" Define the default highlighting.
6689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
67071d4279SBram Moolenaar
68*f37506f6SBram Moolenaarhi def link latteSyntax		Statement
69*f37506f6SBram Moolenaarhi def link latteVar			Function
70071d4279SBram Moolenaar
71*f37506f6SBram Moolenaarhi def link latteString		String
72*f37506f6SBram Moolenaarhi def link latteQuote			String
73071d4279SBram Moolenaar
74*f37506f6SBram Moolenaarhi def link latteDelimiter		Delimiter
75*f37506f6SBram Moolenaarhi def link latteOperator		Operator
76071d4279SBram Moolenaar
77*f37506f6SBram Moolenaarhi def link latteComment		Comment
78*f37506f6SBram Moolenaarhi def link latteError			Error
79071d4279SBram Moolenaar
80071d4279SBram Moolenaar
81071d4279SBram Moolenaarlet b:current_syntax = "latte"
82