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
