mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			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 |