codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: LambdaProlog (Teyjus)3" Filenames: *.mod *.sig4" Maintainer: Markus Mottl <markus.mottl@gmail.com>5" URL: http://www.ocaml.info/vim/syntax/lprolog.vim6" Last Change: 2006 Feb 057" 2001 Apr 26 - Upgraded for new Vim version8" 2000 Jun 5 - Initial release9 10" quit when a syntax file was already loaded11if exists("b:current_syntax")12 finish13endif14 15" Lambda Prolog is case sensitive.16syn case match17 18syn match lprologBrackErr "\]"19syn match lprologParenErr ")"20 21syn cluster lprologContained contains=lprologTodo,lprologModuleName,lprologTypeNames,lprologTypeName22 23" Enclosing delimiters24syn region lprologEncl transparent matchgroup=lprologKeyword start="(" matchgroup=lprologKeyword end=")" contains=ALLBUT,@lprologContained,lprologParenErr25syn region lprologEncl transparent matchgroup=lprologKeyword start="\[" matchgroup=lprologKeyword end="\]" contains=ALLBUT,@lprologContained,lprologBrackErr26 27" General identifiers28syn match lprologIdentifier "\<\(\w\|[-+*/\\^<>=`'~?@#$&!_]\)*\>"29syn match lprologVariable "\<\(\u\|_\)\(\w\|[-+*/\\^<>=`'~?@#$&!]\)*\>"30 31syn match lprologOperator "/"32 33" Comments34syn region lprologComment start="/\*" end="\*/" contains=lprologComment,lprologTodo35syn region lprologComment start="%" end="$" contains=lprologTodo36syn keyword lprologTodo contained TODO FIXME XXX37 38syn match lprologInteger "\<\d\+\>"39syn match lprologReal "\<\(\d\+\)\=\.\d+\>"40syn region lprologString start=+"+ skip=+\\\\\|\\"+ end=+"+41 42" Clause definitions43syn region lprologClause start="^\w\+" end=":-\|\."44 45" Modules46syn region lprologModule matchgroup=lprologKeyword start="^\<module\>" matchgroup=lprologKeyword end="\."47 48" Types49syn match lprologKeyword "^\<type\>" skipwhite nextgroup=lprologTypeNames50syn region lprologTypeNames matchgroup=lprologBraceErr start="\<\w\+\>" matchgroup=lprologKeyword end="\." contained contains=lprologTypeName,lprologOperator51syn match lprologTypeName "\<\w\+\>" contained52 53" Keywords54syn keyword lprologKeyword end import accumulate accum_sig55syn keyword lprologKeyword local localkind closed sig56syn keyword lprologKeyword kind exportdef useonly57syn keyword lprologKeyword infixl infixr infix prefix58syn keyword lprologKeyword prefixr postfix postfixl59 60syn keyword lprologSpecial pi sigma is true fail halt stop not61 62" Operators63syn match lprologSpecial ":-"64syn match lprologSpecial "->"65syn match lprologSpecial "=>"66syn match lprologSpecial "\\"67syn match lprologSpecial "!"68 69syn match lprologSpecial ","70syn match lprologSpecial ";"71syn match lprologSpecial "&"72 73syn match lprologOperator "+"74syn match lprologOperator "-"75syn match lprologOperator "*"76syn match lprologOperator "\~"77syn match lprologOperator "\^"78syn match lprologOperator "<"79syn match lprologOperator ">"80syn match lprologOperator "=<"81syn match lprologOperator ">="82syn match lprologOperator "::"83syn match lprologOperator "="84 85syn match lprologOperator "\."86syn match lprologOperator ":"87syn match lprologOperator "|"88 89syn match lprologCommentErr "\*/"90 91syn sync minlines=5092syn sync maxlines=50093 94 95" Define the default highlighting.96" Only when an item doesn't have highlighting yet97 98hi def link lprologComment Comment99hi def link lprologTodo Todo100 101hi def link lprologKeyword Keyword102hi def link lprologSpecial Special103hi def link lprologOperator Operator104hi def link lprologIdentifier Normal105 106hi def link lprologInteger Number107hi def link lprologReal Number108hi def link lprologString String109 110hi def link lprologCommentErr Error111hi def link lprologBrackErr Error112hi def link lprologParenErr Error113 114hi def link lprologModuleName Special115hi def link lprologTypeName Identifier116 117hi def link lprologVariable Keyword118hi def link lprologAtom Normal119hi def link lprologClause Type120 121 122let b:current_syntax = "lprolog"123 124" vim: ts=8125 