162 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	Jess
 | |
| " Maintainer:	Paul Baleme <pbaleme@mail.com>
 | |
| " Last change:	September 14, 2000
 | |
| " Based on lisp.vim by : Dr. Charles E. Campbell, Jr.
 | |
| 
 | |
| " For version 5.x: Clear all syntax items
 | |
| " For version 6.x: Quit when a syntax file was already loaded
 | |
| if version < 600
 | |
|   syntax clear
 | |
| elseif exists("b:current_syntax")
 | |
|   finish
 | |
| endif
 | |
| 
 | |
| if version < 600
 | |
|   set iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
 | |
| else
 | |
|   setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
 | |
| endif
 | |
| 
 | |
| " Lists
 | |
| syn match	jessSymbol	![^()'`,"; \t]\+!	contained
 | |
| syn match	jessBarSymbol	!|..\{-}|!		contained
 | |
| syn 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,jessVar
 | |
| syn 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,jessAtomBarSymbol
 | |
| 
 | |
| " Atoms
 | |
| syn match	jessAtomMark	"'"
 | |
| syn match	jessAtom	"'("me=e-1	contains=jessAtomMark	nextgroup=jessAtomList
 | |
| syn match	jessAtom	"'[^ \t()]\+"	contains=jessAtomMark
 | |
| syn match	jessAtomBarSymbol	!'|..\{-}|!	contains=jessAtomMark
 | |
| syn region	jessAtom	start=+'"+	skip=+\\"+ end=+"+
 | |
| syn region	jessAtomList	matchgroup=Special start="("	skip="|.\{-}|" matchgroup=Special end=")"	contained contains=jessAtomList,jessAtomNmbr0,jessString,jessComment,jessAtomBarSymbol
 | |
| syn match	jessAtomNmbr	"\<[0-9]\+"			contained
 | |
| 
 | |
| " Standard jess Functions and Macros
 | |
| syn keyword jessFunc    *   +   **	-   /   <   >   <=  >=  <>  =
 | |
| syn keyword jessFunc    long	    longp
 | |
| syn keyword jessFunc    abs	    agenda	      and
 | |
| syn keyword jessFunc    assert	    assert-string       bag
 | |
| syn keyword jessFunc    batch	    bind	      bit-and
 | |
| syn keyword jessFunc    bit-not	    bit-or	      bload
 | |
| syn keyword jessFunc    bsave	    build	      call
 | |
| syn keyword jessFunc    clear	    clear-storage       close
 | |
| syn keyword jessFunc    complement$     context	      count-query-results
 | |
| syn keyword jessFunc    create$
 | |
| syn keyword jessFunc    delete$	    div
 | |
| syn keyword jessFunc    do-backward-chaining	      e
 | |
| syn keyword jessFunc    engine	    eq	      eq*
 | |
| syn keyword jessFunc    eval	    evenp	      exit
 | |
| syn keyword jessFunc    exp	    explode$	      external-addressp
 | |
| syn keyword jessFunc    fact-slot-value facts	      fetch
 | |
| syn keyword jessFunc    first$	    float	      floatp
 | |
| syn keyword jessFunc    foreach	    format	      gensym*
 | |
| syn keyword jessFunc    get	    get-fact-duplication
 | |
| syn keyword jessFunc    get-member	    get-multithreaded-io
 | |
| syn keyword jessFunc    get-reset-globals	      get-salience-evaluation
 | |
| syn keyword jessFunc    halt	    if	      implode$
 | |
| syn keyword jessFunc    import	    insert$	      integer
 | |
| syn keyword jessFunc    integerp	    intersection$       jess-version-number
 | |
| syn keyword jessFunc    jess-version-string	      length$
 | |
| syn keyword jessFunc    lexemep	    list-function$      load-facts
 | |
| syn keyword jessFunc    load-function   load-package	      log
 | |
| syn keyword jessFunc    log10	    lowcase	      matches
 | |
| syn keyword jessFunc    max	    member$	      min
 | |
| syn keyword jessFunc    mod	    modify	      multifieldp
 | |
| syn keyword jessFunc    neq	    new	      not
 | |
| syn keyword jessFunc    nth$	    numberp	      oddp
 | |
| syn keyword jessFunc    open	    or	      pi
 | |
| syn keyword jessFunc    ppdeffunction   ppdefglobal	      ddpefrule
 | |
| syn keyword jessFunc    printout	    random	      read
 | |
| syn keyword jessFunc    readline	    replace$	      reset
 | |
| syn keyword jessFunc    rest$	    retract	      retract-string
 | |
| syn keyword jessFunc    return	    round	      rules
 | |
| syn keyword jessFunc    run	    run-query	      run-until-halt
 | |
| syn keyword jessFunc    save-facts	    set	      set-fact-duplication
 | |
| syn keyword jessFunc    set-factory     set-member	      set-multithreaded-io
 | |
| syn keyword jessFunc    set-node-index-hash	      set-reset-globals
 | |
| syn keyword jessFunc    set-salience-evaluation	      set-strategy
 | |
| syn keyword jessFunc    setgen	    show-deffacts       show-deftemplates
 | |
| syn keyword jessFunc    show-jess-listeners	      socket
 | |
| syn keyword jessFunc    sqrt	    store	      str-cat
 | |
| syn keyword jessFunc    str-compare     str-index	      str-length
 | |
| syn keyword jessFunc    stringp	    sub-string	      subseq$
 | |
| syn keyword jessFunc    subsetp	    sym-cat	      symbolp
 | |
| syn keyword jessFunc    system	    throw	      time
 | |
| syn keyword jessFunc    try	    undefadvice	      undefinstance
 | |
| syn keyword jessFunc    undefrule	    union$	      unwatch
 | |
| syn keyword jessFunc    upcase	    view	      watch
 | |
| syn keyword jessFunc    while
 | |
| syn match   jessFunc	"\<c[ad]\+r\>"
 | |
| 
 | |
| " jess Keywords (modifiers)
 | |
| syn keyword jessKey	    defglobal	  deffunction	    defrule
 | |
| syn keyword jessKey	    deffacts
 | |
| syn keyword jessKey	    defadvice	  defclass	    definstance
 | |
| 
 | |
| " Standard jess Variables
 | |
| syn region	jessVar	start="?"	end="[^a-zA-Z0-9]"me=e-1
 | |
| 
 | |
| " Strings
 | |
| syn region	jessString	start=+"+	skip=+\\"+ end=+"+
 | |
| 
 | |
| " Shared with Declarations, Macros, Functions
 | |
| "syn keyword	jessDeclaration
 | |
| 
 | |
| syn match	jessNumber	"[0-9]\+"
 | |
| 
 | |
| syn match	jessSpecial	"\*[a-zA-Z_][a-zA-Z_0-9-]*\*"
 | |
| syn match	jessSpecial	!#|[^()'`,"; \t]\+|#!
 | |
| syn match	jessSpecial	!#x[0-9a-fA-F]\+!
 | |
| syn match	jessSpecial	!#o[0-7]\+!
 | |
| syn match	jessSpecial	!#b[01]\+!
 | |
| syn match	jessSpecial	!#\\[ -\~]!
 | |
| syn match	jessSpecial	!#[':][^()'`,"; \t]\+!
 | |
| syn match	jessSpecial	!#([^()'`,"; \t]\+)!
 | |
| 
 | |
| syn match	jessConcat	"\s\.\s"
 | |
| syntax match	jessParenError	")"
 | |
| 
 | |
| " Comments
 | |
| syn match	jessComment	";.*$"
 | |
| 
 | |
| " synchronization
 | |
| syn sync lines=100
 | |
| 
 | |
| " Define the default highlighting.
 | |
| " For version 5.7 and earlier: only when not done already
 | |
| " For version 5.8 and later: only when an item doesn't have highlighting yet
 | |
| if version >= 508 || !exists("did_jess_syntax_inits")
 | |
|   if version < 508
 | |
|     let did_jess_syntax_inits = 1
 | |
|     command -nargs=+ HiLink hi link <args>
 | |
|   else
 | |
|     command -nargs=+ HiLink hi def link <args>
 | |
|   endif
 | |
| 
 | |
|   HiLink jessAtomNmbr	jessNumber
 | |
|   HiLink jessAtomMark	jessMark
 | |
| 
 | |
|   HiLink jessAtom		Identifier
 | |
|   HiLink jessAtomBarSymbol	Special
 | |
|   HiLink jessBarSymbol	Special
 | |
|   HiLink jessComment	Comment
 | |
|   HiLink jessConcat	Statement
 | |
|   HiLink jessDeclaration	Statement
 | |
|   HiLink jessFunc		Statement
 | |
|   HiLink jessKey		Type
 | |
|   HiLink jessMark		Delimiter
 | |
|   HiLink jessNumber	Number
 | |
|   HiLink jessParenError	Error
 | |
|   HiLink jessSpecial	Type
 | |
|   HiLink jessString	String
 | |
|   HiLink jessVar		Identifier
 | |
| 
 | |
|   delcommand HiLink
 | |
| endif
 | |
| 
 | |
| let b:current_syntax = "jess"
 | |
| 
 | |
| " vim: ts=18
 |