codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: Latte3" Maintainer: Nick Moffitt, <nick@zork.net>4" Last Change: 14 June, 20005"6" Notes:7" I based this on the TeX and Scheme syntax files (but mostly scheme).8" See http://www.latte.org for info on the language.9 10" quit when a syntax file was already loaded11if exists("b:current_syntax")12 finish13endif14 15syn match latteError "[{}\\]"16syn match latteOther "\\{"17syn match latteOther "\\}"18syn match latteOther "\\\\"19 20setlocal iskeyword=33,43,45,48-57,63,65-90,95,97-122,_21 22syn region latteVar matchgroup=SpecialChar start=!\\[A-Za-z_]!rs=s+1 end=![^A-Za-z0-9?!+_-]!me=e-1 contains=ALLBUT,latteNumber,latteOther23syn region latteVar matchgroup=SpecialChar start=!\\[=\&][A-Za-z_]!rs=s+2 end=![^A-Za-z0-9?!+_-]!me=e-1 contains=ALLBUT,latteNumber,latteOther24syn region latteString start=+\\"+ skip=+\\\\"+ end=+\\"+25 26syn region latteGroup matchgroup=Delimiter start="{" skip="\\[{}]" matchgroup=Delimiter end="}" contains=ALLBUT,latteSyntax27 28syn region latteUnquote matchgroup=Delimiter start="\\,{" skip="\\[{}]" matchgroup=Delimiter end="}" contains=ALLBUT,latteSyntax29syn region latteSplice matchgroup=Delimiter start="\\,@{" skip="\\[{}]" matchgroup=Delimiter end="}" contains=ALLBUT,latteSyntax30syn region latteQuote matchgroup=Delimiter start="\\'{" skip="\\[{}]" matchgroup=Delimiter end="}"31syn region latteQuote matchgroup=Delimiter start="\\`{" skip="\\[{}]" matchgroup=Delimiter end="}" contains=latteUnquote,latteSplice32 33syn match latteOperator '\\/'34syn match latteOperator '='35 36syn match latteComment "\\;.*$"37 38" This was gathered by slurping in the index.39 40syn keyword latteSyntax __FILE__ __latte-version__ contained41syn keyword latteSyntax _bal-tag _pre _tag add and append apply back contained42syn keyword latteSyntax caar cadr car cdar cddr cdr ceil compose contained43syn keyword latteSyntax concat cons def defmacro divide downcase contained44syn keyword latteSyntax empty? equal? error explode file-contents contained45syn keyword latteSyntax floor foreach front funcall ge? getenv contained46syn keyword latteSyntax greater-equal? greater? group group? gt? html contained47syn keyword latteSyntax if include lambda le? length less-equal? contained48syn keyword latteSyntax less? let lmap load-file load-library lt? macro contained49syn keyword latteSyntax member? modulo multiply not nth operator? contained50syn keyword latteSyntax or ordinary quote process-output push-back contained51syn keyword latteSyntax push-front quasiquote quote random rdc reverse contained52syn keyword latteSyntax set! snoc splicing unquote strict-html4 contained53syn keyword latteSyntax string-append string-ge? string-greater-equal? contained54syn keyword latteSyntax string-greater? string-gt? string-le? contained55syn keyword latteSyntax string-less-equal? string-less? string-lt? contained56syn keyword latteSyntax string? subseq substr subtract contained57syn keyword latteSyntax upcase useless warn while zero? contained58 59 60" If it's good enough for scheme...61 62syn sync match matchPlace grouphere NONE "^[^ \t]"63" ... i.e. synchronize on a line that starts at the left margin64 65" Define the default highlighting.66" Only when an item doesn't have highlighting yet67 68hi def link latteSyntax Statement69hi def link latteVar Function70 71hi def link latteString String72hi def link latteQuote String73 74hi def link latteDelimiter Delimiter75hi def link latteOperator Operator76 77hi def link latteComment Comment78hi def link latteError Error79 80 81let b:current_syntax = "latte"82 