updated for version 7.0001
diff --git a/runtime/syntax/jess.vim b/runtime/syntax/jess.vim
new file mode 100644
index 0000000..243bab3
--- /dev/null
+++ b/runtime/syntax/jess.vim
@@ -0,0 +1,161 @@
+" 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