codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: Jess3" Maintainer: Paul Baleme <pbaleme@mail.com>4" Last change: September 14, 20005" Based on lisp.vim by : Dr. Charles E. Campbell, Jr.6 7" quit when a syntax file was already loaded8if exists("b:current_syntax")9 finish10endif11 12setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_13 14" Lists15syn match jessSymbol ![^()'`,"; \t]\+! contained16syn match jessBarSymbol !|..\{-}|! contained17syn region jessList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=jessAtom,jessBQList,jessConcat,jessDeclaration,jessList,jessNumber,jessSymbol,jessSpecial,jessFunc,jessKey,jessAtomMark,jessString,jessComment,jessBarSymbol,jessAtomBarSymbol,jessVar18syn region jessBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=jessAtom,jessBQList,jessConcat,jessDeclaration,jessList,jessNumber,jessSpecial,jessSymbol,jessFunc,jessKey,jessVar,jessAtomMark,jessString,jessComment,jessBarSymbol,jessAtomBarSymbol19 20" Atoms21syn match jessAtomMark "'"22syn match jessAtom "'("me=e-1 contains=jessAtomMark nextgroup=jessAtomList23syn match jessAtom "'[^ \t()]\+" contains=jessAtomMark24syn match jessAtomBarSymbol !'|..\{-}|! contains=jessAtomMark25syn region jessAtom start=+'"+ skip=+\\"+ end=+"+26syn region jessAtomList matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contained contains=jessAtomList,jessAtomNmbr0,jessString,jessComment,jessAtomBarSymbol27syn match jessAtomNmbr "\<[0-9]\+" contained28 29" Standard jess Functions and Macros30syn keyword jessFunc * + ** - / < > <= >= <> =31syn keyword jessFunc long longp32syn keyword jessFunc abs agenda and33syn keyword jessFunc assert assert-string bag34syn keyword jessFunc batch bind bit-and35syn keyword jessFunc bit-not bit-or bload36syn keyword jessFunc bsave build call37syn keyword jessFunc clear clear-storage close38syn keyword jessFunc complement$ context count-query-results39syn keyword jessFunc create$40syn keyword jessFunc delete$ div41syn keyword jessFunc do-backward-chaining e42syn keyword jessFunc engine eq eq*43syn keyword jessFunc eval evenp exit44syn keyword jessFunc exp explode$ external-addressp45syn keyword jessFunc fact-slot-value facts fetch46syn keyword jessFunc first$ float floatp47syn keyword jessFunc foreach format gensym*48syn keyword jessFunc get get-fact-duplication49syn keyword jessFunc get-member get-multithreaded-io50syn keyword jessFunc get-reset-globals get-salience-evaluation51syn keyword jessFunc halt if implode$52syn keyword jessFunc import insert$ integer53syn keyword jessFunc integerp intersection$ jess-version-number54syn keyword jessFunc jess-version-string length$55syn keyword jessFunc lexemep list-function$ load-facts56syn keyword jessFunc load-function load-package log57syn keyword jessFunc log10 lowcase matches58syn keyword jessFunc max member$ min59syn keyword jessFunc mod modify multifieldp60syn keyword jessFunc neq new not61syn keyword jessFunc nth$ numberp oddp62syn keyword jessFunc open or pi63syn keyword jessFunc ppdeffunction ppdefglobal ddpefrule64syn keyword jessFunc printout random read65syn keyword jessFunc readline replace$ reset66syn keyword jessFunc rest$ retract retract-string67syn keyword jessFunc return round rules68syn keyword jessFunc run run-query run-until-halt69syn keyword jessFunc save-facts set set-fact-duplication70syn keyword jessFunc set-factory set-member set-multithreaded-io71syn keyword jessFunc set-node-index-hash set-reset-globals72syn keyword jessFunc set-salience-evaluation set-strategy73syn keyword jessFunc setgen show-deffacts show-deftemplates74syn keyword jessFunc show-jess-listeners socket75syn keyword jessFunc sqrt store str-cat76syn keyword jessFunc str-compare str-index str-length77syn keyword jessFunc stringp sub-string subseq$78syn keyword jessFunc subsetp sym-cat symbolp79syn keyword jessFunc system throw time80syn keyword jessFunc try undefadvice undefinstance81syn keyword jessFunc undefrule union$ unwatch82syn keyword jessFunc upcase view watch83syn keyword jessFunc while84syn match jessFunc "\<c[ad]\+r\>"85 86" jess Keywords (modifiers)87syn keyword jessKey defglobal deffunction defrule88syn keyword jessKey deffacts89syn keyword jessKey defadvice defclass definstance90 91" Standard jess Variables92syn region jessVar start="?" end="[^a-zA-Z0-9]"me=e-193 94" Strings95syn region jessString start=+"+ skip=+\\"+ end=+"+96 97" Shared with Declarations, Macros, Functions98"syn keyword jessDeclaration99 100syn match jessNumber "[0-9]\+"101 102syn match jessSpecial "\*[a-zA-Z_][a-zA-Z_0-9-]*\*"103syn match jessSpecial !#|[^()'`,"; \t]\+|#!104syn match jessSpecial !#x[0-9a-fA-F]\+!105syn match jessSpecial !#o[0-7]\+!106syn match jessSpecial !#b[01]\+!107syn match jessSpecial !#\\[ -\~]!108syn match jessSpecial !#[':][^()'`,"; \t]\+!109syn match jessSpecial !#([^()'`,"; \t]\+)!110 111syn match jessConcat "\s\.\s"112syntax match jessParenError ")"113 114" Comments115syn match jessComment ";.*$"116 117" synchronization118syn sync lines=100119 120" Define the default highlighting.121" Only when an item doesn't have highlighting yet122 123hi def link jessAtomNmbr jessNumber124hi def link jessAtomMark jessMark125 126hi def link jessAtom Identifier127hi def link jessAtomBarSymbol Special128hi def link jessBarSymbol Special129hi def link jessComment Comment130hi def link jessConcat Statement131hi def link jessDeclaration Statement132hi def link jessFunc Statement133hi def link jessKey Type134hi def link jessMark Delimiter135hi def link jessNumber Number136hi def link jessParenError Error137hi def link jessSpecial Type138hi def link jessString String139hi def link jessVar Identifier140 141 142let b:current_syntax = "jess"143 144" vim: ts=18145 