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