mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			543 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			543 lines
		
	
	
		
			33 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:    Lisp
 | |
| " Maintainer:  Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
 | |
| " Last Change: Oct 12, 2005
 | |
| " Version:     17a
 | |
| " URL:	       http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
 | |
| "
 | |
| "  Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
 | |
| "  taken from the HyperSpec
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| "  Load Once: {{{1
 | |
| " For vim-version 5.x: Clear all syntax items
 | |
| " For vim-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
 | |
|  setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
 | |
| else
 | |
|  set iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
 | |
| endif
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Clusters: {{{1
 | |
| syn cluster			 lispAtomCluster		  contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite
 | |
| syn cluster			 lispBaseListCluster		  contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispSymbol,lispVar,lispLeadWhite
 | |
| if exists("g:lisp_instring")
 | |
|  syn cluster			 lispListCluster		  contains=@lispBaseListCluster,lispString,lispInString,lispInStringString
 | |
| else
 | |
|  syn cluster			 lispListCluster		  contains=@lispBaseListCluster,lispString
 | |
| endif
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Lists: {{{1
 | |
| syn match			 lispSymbol			  contained			   ![^()'`,"; \t]\+!
 | |
| syn match			 lispBarSymbol			  contained			   !|..\{-}|!
 | |
| if exists("g:lisp_rainbow") && g:lisp_rainbow != 0
 | |
|  syn region lispParen0           matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen1 
 | |
|  syn region lispParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen2 
 | |
|  syn region lispParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen3 
 | |
|  syn region lispParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen4 
 | |
|  syn region lispParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen5 
 | |
|  syn region lispParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen6 
 | |
|  syn region lispParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen7 
 | |
|  syn region lispParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen8 
 | |
|  syn region lispParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen9 
 | |
|  syn region lispParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen0
 | |
| else
 | |
|  syn region			 lispList			  matchgroup=Delimiter start="("   skip="|.\{-}|"			    matchgroup=Delimiter end=")"	contains=@lispListCluster
 | |
|  syn region			 lispBQList			  matchgroup=PreProc   start="`("  skip="|.\{-}|"		    matchgroup=PreProc   end=")"		contains=@lispListCluster
 | |
| endif
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Atoms: {{{1
 | |
| syn match			 lispAtomMark			  "'"
 | |
| syn match			 lispAtom			  "'("me=e-1			   contains=lispAtomMark	    nextgroup=lispAtomList
 | |
| syn match			 lispAtom			  "'[^ \t()]\+"			   contains=lispAtomMark
 | |
| syn match			 lispAtomBarSymbol		  !'|..\{-}|!			   contains=lispAtomMark
 | |
| syn region			 lispAtom			  start=+'"+			   skip=+\\"+ end=+"+
 | |
| syn region			 lispAtomList			  contained			   matchgroup=Special start="("	    skip="|.\{-}|" matchgroup=Special end=")"			      contains=@lispAtomCluster,lispString
 | |
| syn match			 lispAtomNmbr			  contained			   "\<\d\+"
 | |
| syn match			 lispLeadWhite			  contained			   "^\s\+"
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Standard Lisp Functions and Macros: {{{1
 | |
| syn keyword lispFunc		 *				  find-method			   pprint-indent
 | |
| syn keyword lispFunc		 **				  find-package			   pprint-linear
 | |
| syn keyword lispFunc		 ***				  find-restart			   pprint-logical-block
 | |
| syn keyword lispFunc		 +				  find-symbol			   pprint-newline
 | |
| syn keyword lispFunc		 ++				  finish-output			   pprint-pop
 | |
| syn keyword lispFunc		 +++				  first				   pprint-tab
 | |
| syn keyword lispFunc		 -				  fixnum			   pprint-tabular
 | |
| syn keyword lispFunc		 /				  flet				   prin1
 | |
| syn keyword lispFunc		 //				  float				   prin1-to-string
 | |
| syn keyword lispFunc		 ///				  float-digits			   princ
 | |
| syn keyword lispFunc		 /=				  float-precision		   princ-to-string
 | |
| syn keyword lispFunc		 1+				  float-radix			   print
 | |
| syn keyword lispFunc		 1-				  float-sign			   print-not-readable
 | |
| syn keyword lispFunc		 <				  floating-point-inexact	   print-not-readable-object
 | |
| syn keyword lispFunc		 <=				  floating-point-invalid-operation print-object
 | |
| syn keyword lispFunc		 =				  floating-point-overflow	   print-unreadable-object
 | |
| syn keyword lispFunc		 >				  floating-point-underflow	   probe-file
 | |
| syn keyword lispFunc		 >=				  floatp			   proclaim
 | |
| syn keyword lispFunc		 abort				  floor				   prog
 | |
| syn keyword lispFunc		 abs				  fmakunbound			   prog*
 | |
| syn keyword lispFunc		 access				  force-output			   prog1
 | |
| syn keyword lispFunc		 acons				  format			   prog2
 | |
| syn keyword lispFunc		 acos				  formatter			   progn
 | |
| syn keyword lispFunc		 acosh				  fourth			   program-error
 | |
| syn keyword lispFunc		 add-method			  fresh-line			   progv
 | |
| syn keyword lispFunc		 adjoin				  fround			   provide
 | |
| syn keyword lispFunc		 adjust-array			  ftruncate			   psetf
 | |
| syn keyword lispFunc		 adjustable-array-p		  ftype				   psetq
 | |
| syn keyword lispFunc		 allocate-instance		  funcall			   push
 | |
| syn keyword lispFunc		 alpha-char-p			  function			   pushnew
 | |
| syn keyword lispFunc		 alphanumericp			  function-keywords		   putprop
 | |
| syn keyword lispFunc		 and				  function-lambda-expression	   quote
 | |
| syn keyword lispFunc		 append				  functionp			   random
 | |
| syn keyword lispFunc		 apply				  gbitp				   random-state
 | |
| syn keyword lispFunc		 applyhook			  gcd				   random-state-p
 | |
| syn keyword lispFunc		 apropos			  generic-function		   rassoc
 | |
| syn keyword lispFunc		 apropos-list			  gensym			   rassoc-if
 | |
| syn keyword lispFunc		 aref				  gentemp			   rassoc-if-not
 | |
| syn keyword lispFunc		 arithmetic-error		  get				   ratio
 | |
| syn keyword lispFunc		 arithmetic-error-operands	  get-decoded-time		   rational
 | |
| syn keyword lispFunc		 arithmetic-error-operation	  get-dispatch-macro-character	   rationalize
 | |
| syn keyword lispFunc		 array				  get-internal-real-time	   rationalp
 | |
| syn keyword lispFunc		 array-dimension		  get-internal-run-time		   read
 | |
| syn keyword lispFunc		 array-dimension-limit		  get-macro-character		   read-byte
 | |
| syn keyword lispFunc		 array-dimensions		  get-output-stream-string	   read-char
 | |
| syn keyword lispFunc		 array-displacement		  get-properties		   read-char-no-hang
 | |
| syn keyword lispFunc		 array-element-type		  get-setf-expansion		   read-delimited-list
 | |
| syn keyword lispFunc		 array-has-fill-pointer-p	  get-setf-method		   read-eval-print
 | |
| syn keyword lispFunc		 array-in-bounds-p		  get-universal-time		   read-from-string
 | |
| syn keyword lispFunc		 array-rank			  getf				   read-line
 | |
| syn keyword lispFunc		 array-rank-limit		  gethash			   read-preserving-whitespace
 | |
| syn keyword lispFunc		 array-row-major-index		  go				   read-sequence
 | |
| syn keyword lispFunc		 array-total-size		  graphic-char-p		   reader-error
 | |
| syn keyword lispFunc		 array-total-size-limit		  handler-bind			   readtable
 | |
| syn keyword lispFunc		 arrayp				  handler-case			   readtable-case
 | |
| syn keyword lispFunc		 ash				  hash-table			   readtablep
 | |
| syn keyword lispFunc		 asin				  hash-table-count		   real
 | |
| syn keyword lispFunc		 asinh				  hash-table-p			   realp
 | |
| syn keyword lispFunc		 assert				  hash-table-rehash-size	   realpart
 | |
| syn keyword lispFunc		 assoc				  hash-table-rehash-threshold	   reduce
 | |
| syn keyword lispFunc		 assoc-if			  hash-table-size		   reinitialize-instance
 | |
| syn keyword lispFunc		 assoc-if-not			  hash-table-test		   rem
 | |
| syn keyword lispFunc		 atan				  host-namestring		   remf
 | |
| syn keyword lispFunc		 atanh				  identity			   remhash
 | |
| syn keyword lispFunc		 atom				  if				   remove
 | |
| syn keyword lispFunc		 base-char			  if-exists			   remove-duplicates
 | |
| syn keyword lispFunc		 base-string			  ignorable			   remove-if
 | |
| syn keyword lispFunc		 bignum				  ignore			   remove-if-not
 | |
| syn keyword lispFunc		 bit				  ignore-errors			   remove-method
 | |
| syn keyword lispFunc		 bit-and			  imagpart			   remprop
 | |
| syn keyword lispFunc		 bit-andc1			  import			   rename-file
 | |
| syn keyword lispFunc		 bit-andc2			  in-package			   rename-package
 | |
| syn keyword lispFunc		 bit-eqv			  in-package			   replace
 | |
| syn keyword lispFunc		 bit-ior			  incf				   require
 | |
| syn keyword lispFunc		 bit-nand			  initialize-instance		   rest
 | |
| syn keyword lispFunc		 bit-nor			  inline			   restart
 | |
| syn keyword lispFunc		 bit-not			  input-stream-p		   restart-bind
 | |
| syn keyword lispFunc		 bit-orc1			  inspect			   restart-case
 | |
| syn keyword lispFunc		 bit-orc2			  int-char			   restart-name
 | |
| syn keyword lispFunc		 bit-vector			  integer			   return
 | |
| syn keyword lispFunc		 bit-vector-p			  integer-decode-float		   return-from
 | |
| syn keyword lispFunc		 bit-xor			  integer-length		   revappend
 | |
| syn keyword lispFunc		 block				  integerp			   reverse
 | |
| syn keyword lispFunc		 boole				  interactive-stream-p		   room
 | |
| syn keyword lispFunc		 boole-1			  intern			   rotatef
 | |
| syn keyword lispFunc		 boole-2			  internal-time-units-per-second   round
 | |
| syn keyword lispFunc		 boole-and			  intersection			   row-major-aref
 | |
| syn keyword lispFunc		 boole-andc1			  invalid-method-error		   rplaca
 | |
| syn keyword lispFunc		 boole-andc2			  invoke-debugger		   rplacd
 | |
| syn keyword lispFunc		 boole-c1			  invoke-restart		   safety
 | |
| syn keyword lispFunc		 boole-c2			  invoke-restart-interactively	   satisfies
 | |
| syn keyword lispFunc		 boole-clr			  isqrt				   sbit
 | |
| syn keyword lispFunc		 boole-eqv			  keyword			   scale-float
 | |
| syn keyword lispFunc		 boole-ior			  keywordp			   schar
 | |
| syn keyword lispFunc		 boole-nand			  labels			   search
 | |
| syn keyword lispFunc		 boole-nor			  lambda			   second
 | |
| syn keyword lispFunc		 boole-orc1			  lambda-list-keywords		   sequence
 | |
| syn keyword lispFunc		 boole-orc2			  lambda-parameters-limit	   serious-condition
 | |
| syn keyword lispFunc		 boole-set			  last				   set
 | |
| syn keyword lispFunc		 boole-xor			  lcm				   set-char-bit
 | |
| syn keyword lispFunc		 boolean			  ldb				   set-difference
 | |
| syn keyword lispFunc		 both-case-p			  ldb-test			   set-dispatch-macro-character
 | |
| syn keyword lispFunc		 boundp				  ldiff				   set-exclusive-or
 | |
| syn keyword lispFunc		 break				  least-negative-double-float	   set-macro-character
 | |
| syn keyword lispFunc		 broadcast-stream		  least-negative-long-float	   set-pprint-dispatch
 | |
| syn keyword lispFunc		 broadcast-stream-streams	  least-negative-normalized-double-float			    set-syntax-from-char
 | |
| syn keyword lispFunc		 built-in-class			  least-negative-normalized-long-float				    setf
 | |
| syn keyword lispFunc		 butlast			  least-negative-normalized-short-float				    setq
 | |
| syn keyword lispFunc		 byte				  least-negative-normalized-single-float			    seventh
 | |
| syn keyword lispFunc		 byte-position			  least-negative-short-float	   shadow
 | |
| syn keyword lispFunc		 byte-size			  least-negative-single-float	   shadowing-import
 | |
| syn keyword lispFunc		 call-arguments-limit		  least-positive-double-float	   shared-initialize
 | |
| syn keyword lispFunc		 call-method			  least-positive-long-float	   shiftf
 | |
| syn keyword lispFunc		 call-next-method		  least-positive-normalized-double-float			    short-float
 | |
| syn keyword lispFunc		 capitalize			  least-positive-normalized-long-float				    short-float-epsilon
 | |
| syn keyword lispFunc		 car				  least-positive-normalized-short-float				    short-float-negative-epsilon
 | |
| syn keyword lispFunc		 case				  least-positive-normalized-single-float			    short-site-name
 | |
| syn keyword lispFunc		 catch				  least-positive-short-float	   signal
 | |
| syn keyword lispFunc		 ccase				  least-positive-single-float	   signed-byte
 | |
| syn keyword lispFunc		 cdr				  length			   signum
 | |
| syn keyword lispFunc		 ceiling			  let				   simle-condition
 | |
| syn keyword lispFunc		 cell-error			  let*				   simple-array
 | |
| syn keyword lispFunc		 cell-error-name		  lisp				   simple-base-string
 | |
| syn keyword lispFunc		 cerror				  lisp-implementation-type	   simple-bit-vector
 | |
| syn keyword lispFunc		 change-class			  lisp-implementation-version	   simple-bit-vector-p
 | |
| syn keyword lispFunc		 char				  list				   simple-condition-format-arguments
 | |
| syn keyword lispFunc		 char-bit			  list*				   simple-condition-format-control
 | |
| syn keyword lispFunc		 char-bits			  list-all-packages		   simple-error
 | |
| syn keyword lispFunc		 char-bits-limit		  list-length			   simple-string
 | |
| syn keyword lispFunc		 char-code			  listen			   simple-string-p
 | |
| syn keyword lispFunc		 char-code-limit		  listp				   simple-type-error
 | |
| syn keyword lispFunc		 char-control-bit		  load				   simple-vector
 | |
| syn keyword lispFunc		 char-downcase			  load-logical-pathname-translations				    simple-vector-p
 | |
| syn keyword lispFunc		 char-equal			  load-time-value		   simple-warning
 | |
| syn keyword lispFunc		 char-font			  locally			   sin
 | |
| syn keyword lispFunc		 char-font-limit		  log				   single-flaot-epsilon
 | |
| syn keyword lispFunc		 char-greaterp			  logand			   single-float
 | |
| syn keyword lispFunc		 char-hyper-bit			  logandc1			   single-float-epsilon
 | |
| syn keyword lispFunc		 char-int			  logandc2			   single-float-negative-epsilon
 | |
| syn keyword lispFunc		 char-lessp			  logbitp			   sinh
 | |
| syn keyword lispFunc		 char-meta-bit			  logcount			   sixth
 | |
| syn keyword lispFunc		 char-name			  logeqv			   sleep
 | |
| syn keyword lispFunc		 char-not-equal			  logical-pathname		   slot-boundp
 | |
| syn keyword lispFunc		 char-not-greaterp		  logical-pathname-translations	   slot-exists-p
 | |
| syn keyword lispFunc		 char-not-lessp			  logior			   slot-makunbound
 | |
| syn keyword lispFunc		 char-super-bit			  lognand			   slot-missing
 | |
| syn keyword lispFunc		 char-upcase			  lognor			   slot-unbound
 | |
| syn keyword lispFunc		 char/=				  lognot			   slot-value
 | |
| syn keyword lispFunc		 char<				  logorc1			   software-type
 | |
| syn keyword lispFunc		 char<=				  logorc2			   software-version
 | |
| syn keyword lispFunc		 char=				  logtest			   some
 | |
| syn keyword lispFunc		 char>				  logxor			   sort
 | |
| syn keyword lispFunc		 char>=				  long-float			   space
 | |
| syn keyword lispFunc		 character			  long-float-epsilon		   special
 | |
| syn keyword lispFunc		 characterp			  long-float-negative-epsilon	   special-form-p
 | |
| syn keyword lispFunc		 check-type			  long-site-name		   special-operator-p
 | |
| syn keyword lispFunc		 cis				  loop				   speed
 | |
| syn keyword lispFunc		 class				  loop-finish			   sqrt
 | |
| syn keyword lispFunc		 class-name			  lower-case-p			   stable-sort
 | |
| syn keyword lispFunc		 class-of			  machine-instance		   standard
 | |
| syn keyword lispFunc		 clear-input			  machine-type			   standard-char
 | |
| syn keyword lispFunc		 clear-output			  machine-version		   standard-char-p
 | |
| syn keyword lispFunc		 close				  macro-function		   standard-class
 | |
| syn keyword lispFunc		 clrhash			  macroexpand			   standard-generic-function
 | |
| syn keyword lispFunc		 code-char			  macroexpand-1			   standard-method
 | |
| syn keyword lispFunc		 coerce				  macroexpand-l			   standard-object
 | |
| syn keyword lispFunc		 commonp			  macrolet			   step
 | |
| syn keyword lispFunc		 compilation-speed		  make-array			   storage-condition
 | |
| syn keyword lispFunc		 compile			  make-array			   store-value
 | |
| syn keyword lispFunc		 compile-file			  make-broadcast-stream		   stream
 | |
| syn keyword lispFunc		 compile-file-pathname		  make-char			   stream-element-type
 | |
| syn keyword lispFunc		 compiled-function		  make-concatenated-stream	   stream-error
 | |
| syn keyword lispFunc		 compiled-function-p		  make-condition		   stream-error-stream
 | |
| syn keyword lispFunc		 compiler-let			  make-dispatch-macro-character	   stream-external-format
 | |
| syn keyword lispFunc		 compiler-macro			  make-echo-stream		   streamp
 | |
| syn keyword lispFunc		 compiler-macro-function	  make-hash-table		   streamup
 | |
| syn keyword lispFunc		 complement			  make-instance			   string
 | |
| syn keyword lispFunc		 complex			  make-instances-obsolete	   string-capitalize
 | |
| syn keyword lispFunc		 complexp			  make-list			   string-char
 | |
| syn keyword lispFunc		 compute-applicable-methods	  make-load-form		   string-char-p
 | |
| syn keyword lispFunc		 compute-restarts		  make-load-form-saving-slots	   string-downcase
 | |
| syn keyword lispFunc		 concatenate			  make-method			   string-equal
 | |
| syn keyword lispFunc		 concatenated-stream		  make-package			   string-greaterp
 | |
| syn keyword lispFunc		 concatenated-stream-streams	  make-pathname			   string-left-trim
 | |
| syn keyword lispFunc		 cond				  make-random-state		   string-lessp
 | |
| syn keyword lispFunc		 condition			  make-sequence			   string-not-equal
 | |
| syn keyword lispFunc		 conjugate			  make-string			   string-not-greaterp
 | |
| syn keyword lispFunc		 cons				  make-string-input-stream	   string-not-lessp
 | |
| syn keyword lispFunc		 consp				  make-string-output-stream	   string-right-strim
 | |
| syn keyword lispFunc		 constantly			  make-symbol			   string-right-trim
 | |
| syn keyword lispFunc		 constantp			  make-synonym-stream		   string-stream
 | |
| syn keyword lispFunc		 continue			  make-two-way-stream		   string-trim
 | |
| syn keyword lispFunc		 control-error			  makunbound			   string-upcase
 | |
| syn keyword lispFunc		 copy-alist			  map				   string/=
 | |
| syn keyword lispFunc		 copy-list			  map-into			   string<
 | |
| syn keyword lispFunc		 copy-pprint-dispatch		  mapc				   string<=
 | |
| syn keyword lispFunc		 copy-readtable			  mapcan			   string=
 | |
| syn keyword lispFunc		 copy-seq			  mapcar			   string>
 | |
| syn keyword lispFunc		 copy-structure			  mapcon			   string>=
 | |
| syn keyword lispFunc		 copy-symbol			  maphash			   stringp
 | |
| syn keyword lispFunc		 copy-tree			  mapl				   structure
 | |
| syn keyword lispFunc		 cos				  maplist			   structure-class
 | |
| syn keyword lispFunc		 cosh				  mask-field			   structure-object
 | |
| syn keyword lispFunc		 count				  max				   style-warning
 | |
| syn keyword lispFunc		 count-if			  member			   sublim
 | |
| syn keyword lispFunc		 count-if-not			  member-if			   sublis
 | |
| syn keyword lispFunc		 ctypecase			  member-if-not			   subseq
 | |
| syn keyword lispFunc		 debug				  merge				   subsetp
 | |
| syn keyword lispFunc		 decf				  merge-pathname		   subst
 | |
| syn keyword lispFunc		 declaim			  merge-pathnames		   subst-if
 | |
| syn keyword lispFunc		 declaration			  method			   subst-if-not
 | |
| syn keyword lispFunc		 declare			  method-combination		   substitute
 | |
| syn keyword lispFunc		 decode-float			  method-combination-error	   substitute-if
 | |
| syn keyword lispFunc		 decode-universal-time		  method-qualifiers		   substitute-if-not
 | |
| syn keyword lispFunc		 defclass			  min				   subtypep
 | |
| syn keyword lispFunc		 defconstant			  minusp			   svref
 | |
| syn keyword lispFunc		 defgeneric			  mismatch			   sxhash
 | |
| syn keyword lispFunc		 define-compiler-macro		  mod				   symbol
 | |
| syn keyword lispFunc		 define-condition		  most-negative-double-float	   symbol-function
 | |
| syn keyword lispFunc		 define-method-combination	  most-negative-fixnum		   symbol-macrolet
 | |
| syn keyword lispFunc		 define-modify-macro		  most-negative-long-float	   symbol-name
 | |
| syn keyword lispFunc		 define-setf-expander		  most-negative-short-float	   symbol-package
 | |
| syn keyword lispFunc		 define-setf-method		  most-negative-single-float	   symbol-plist
 | |
| syn keyword lispFunc		 define-symbol-macro		  most-positive-double-float	   symbol-value
 | |
| syn keyword lispFunc		 defmacro			  most-positive-fixnum		   symbolp
 | |
| syn keyword lispFunc		 defmethod			  most-positive-long-float	   synonym-stream
 | |
| syn keyword lispFunc		 defpackage			  most-positive-short-float	   synonym-stream-symbol
 | |
| syn keyword lispFunc		 defparameter			  most-positive-single-float	   sys
 | |
| syn keyword lispFunc		 defsetf			  muffle-warning		   system
 | |
| syn keyword lispFunc		 defstruct			  multiple-value-bind		   t
 | |
| syn keyword lispFunc		 deftype			  multiple-value-call		   tagbody
 | |
| syn keyword lispFunc		 defun				  multiple-value-list		   tailp
 | |
| syn keyword lispFunc		 defvar				  multiple-value-prog1		   tan
 | |
| syn keyword lispFunc		 delete				  multiple-value-seteq		   tanh
 | |
| syn keyword lispFunc		 delete-duplicates		  multiple-value-setq		   tenth
 | |
| syn keyword lispFunc		 delete-file			  multiple-values-limit		   terpri
 | |
| syn keyword lispFunc		 delete-if			  name-char			   the
 | |
| syn keyword lispFunc		 delete-if-not			  namestring			   third
 | |
| syn keyword lispFunc		 delete-package			  nbutlast			   throw
 | |
| syn keyword lispFunc		 denominator			  nconc				   time
 | |
| syn keyword lispFunc		 deposit-field			  next-method-p			   trace
 | |
| syn keyword lispFunc		 describe			  nil				   translate-logical-pathname
 | |
| syn keyword lispFunc		 describe-object		  nintersection			   translate-pathname
 | |
| syn keyword lispFunc		 destructuring-bind		  ninth				   tree-equal
 | |
| syn keyword lispFunc		 digit-char			  no-applicable-method		   truename
 | |
| syn keyword lispFunc		 digit-char-p			  no-next-method		   truncase
 | |
| syn keyword lispFunc		 directory			  not				   truncate
 | |
| syn keyword lispFunc		 directory-namestring		  notany			   two-way-stream
 | |
| syn keyword lispFunc		 disassemble			  notevery			   two-way-stream-input-stream
 | |
| syn keyword lispFunc		 division-by-zero		  notinline			   two-way-stream-output-stream
 | |
| syn keyword lispFunc		 do				  nreconc			   type
 | |
| syn keyword lispFunc		 do*				  nreverse			   type-error
 | |
| syn keyword lispFunc		 do-all-symbols			  nset-difference		   type-error-datum
 | |
| syn keyword lispFunc		 do-exeternal-symbols		  nset-exclusive-or		   type-error-expected-type
 | |
| syn keyword lispFunc		 do-external-symbols		  nstring			   type-of
 | |
| syn keyword lispFunc		 do-symbols			  nstring-capitalize		   typecase
 | |
| syn keyword lispFunc		 documentation			  nstring-downcase		   typep
 | |
| syn keyword lispFunc		 dolist				  nstring-upcase		   unbound-slot
 | |
| syn keyword lispFunc		 dotimes			  nsublis			   unbound-slot-instance
 | |
| syn keyword lispFunc		 double-float			  nsubst			   unbound-variable
 | |
| syn keyword lispFunc		 double-float-epsilon		  nsubst-if			   undefined-function
 | |
| syn keyword lispFunc		 double-float-negative-epsilon	  nsubst-if-not			   unexport
 | |
| syn keyword lispFunc		 dpb				  nsubstitute			   unintern
 | |
| syn keyword lispFunc		 dribble			  nsubstitute-if		   union
 | |
| syn keyword lispFunc		 dynamic-extent			  nsubstitute-if-not		   unless
 | |
| syn keyword lispFunc		 ecase				  nth				   unread
 | |
| syn keyword lispFunc		 echo-stream			  nth-value			   unread-char
 | |
| syn keyword lispFunc		 echo-stream-input-stream	  nthcdr			   unsigned-byte
 | |
| syn keyword lispFunc		 echo-stream-output-stream	  null				   untrace
 | |
| syn keyword lispFunc		 ed				  number			   unuse-package
 | |
| syn keyword lispFunc		 eighth				  numberp			   unwind-protect
 | |
| syn keyword lispFunc		 elt				  numerator			   update-instance-for-different-class
 | |
| syn keyword lispFunc		 encode-universal-time		  nunion			   update-instance-for-redefined-class
 | |
| syn keyword lispFunc		 end-of-file			  oddp				   upgraded-array-element-type
 | |
| syn keyword lispFunc		 endp				  open				   upgraded-complex-part-type
 | |
| syn keyword lispFunc		 enough-namestring		  open-stream-p			   upper-case-p
 | |
| syn keyword lispFunc		 ensure-directories-exist	  optimize			   use-package
 | |
| syn keyword lispFunc		 ensure-generic-function	  or				   use-value
 | |
| syn keyword lispFunc		 eq				  otherwise			   user
 | |
| syn keyword lispFunc		 eql				  output-stream-p		   user-homedir-pathname
 | |
| syn keyword lispFunc		 equal				  package			   values
 | |
| syn keyword lispFunc		 equalp				  package-error			   values-list
 | |
| syn keyword lispFunc		 error				  package-error-package		   vector
 | |
| syn keyword lispFunc		 etypecase			  package-name			   vector-pop
 | |
| syn keyword lispFunc		 eval				  package-nicknames		   vector-push
 | |
| syn keyword lispFunc		 eval-when			  package-shadowing-symbols	   vector-push-extend
 | |
| syn keyword lispFunc		 evalhook			  package-use-list		   vectorp
 | |
| syn keyword lispFunc		 evenp				  package-used-by-list		   warn
 | |
| syn keyword lispFunc		 every				  packagep			   warning
 | |
| syn keyword lispFunc		 exp				  pairlis			   when
 | |
| syn keyword lispFunc		 export				  parse-error			   wild-pathname-p
 | |
| syn keyword lispFunc		 expt				  parse-integer			   with-accessors
 | |
| syn keyword lispFunc		 extended-char			  parse-namestring		   with-compilation-unit
 | |
| syn keyword lispFunc		 fboundp			  pathname			   with-condition-restarts
 | |
| syn keyword lispFunc		 fceiling			  pathname-device		   with-hash-table-iterator
 | |
| syn keyword lispFunc		 fdefinition			  pathname-directory		   with-input-from-string
 | |
| syn keyword lispFunc		 ffloor				  pathname-host			   with-open-file
 | |
| syn keyword lispFunc		 fifth				  pathname-match-p		   with-open-stream
 | |
| syn keyword lispFunc		 file-author			  pathname-name			   with-output-to-string
 | |
| syn keyword lispFunc		 file-error			  pathname-type			   with-package-iterator
 | |
| syn keyword lispFunc		 file-error-pathname		  pathname-version		   with-simple-restart
 | |
| syn keyword lispFunc		 file-length			  pathnamep			   with-slots
 | |
| syn keyword lispFunc		 file-namestring		  peek-char			   with-standard-io-syntax
 | |
| syn keyword lispFunc		 file-position			  phase				   write
 | |
| syn keyword lispFunc		 file-stream			  pi				   write-byte
 | |
| syn keyword lispFunc		 file-string-length		  plusp				   write-char
 | |
| syn keyword lispFunc		 file-write-date		  pop				   write-line
 | |
| syn keyword lispFunc		 fill				  position			   write-sequence
 | |
| syn keyword lispFunc		 fill-pointer			  position-if			   write-string
 | |
| syn keyword lispFunc		 find				  position-if-not		   write-to-string
 | |
| syn keyword lispFunc		 find-all-symbols		  pprint			   y-or-n-p
 | |
| syn keyword lispFunc		 find-class			  pprint-dispatch		   yes-or-no-p
 | |
| syn keyword lispFunc		 find-if			  pprint-exit-if-list-exhausted	   zerop
 | |
| syn keyword lispFunc		 find-if-not			  pprint-fill
 | |
| 
 | |
| syn match   lispFunc		 "\<c[ad]\+r\>"
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Lisp Keywords (modifiers): {{{1
 | |
| syn keyword lispKey		 :abort				  :from-end			   :overwrite
 | |
| syn keyword lispKey		 :adjustable			  :gensym			   :predicate
 | |
| syn keyword lispKey		 :append			  :host				   :preserve-whitespace
 | |
| syn keyword lispKey		 :array				  :if-does-not-exist		   :pretty
 | |
| syn keyword lispKey		 :base				  :if-exists			   :print
 | |
| syn keyword lispKey		 :case				  :include			   :print-function
 | |
| syn keyword lispKey		 :circle			  :index			   :probe
 | |
| syn keyword lispKey		 :conc-name			  :inherited			   :radix
 | |
| syn keyword lispKey		 :constructor			  :initial-contents		   :read-only
 | |
| syn keyword lispKey		 :copier			  :initial-element		   :rehash-size
 | |
| syn keyword lispKey		 :count				  :initial-offset		   :rehash-threshold
 | |
| syn keyword lispKey		 :create			  :initial-value		   :rename
 | |
| syn keyword lispKey		 :default			  :input			   :rename-and-delete
 | |
| syn keyword lispKey		 :defaults			  :internal			   :size
 | |
| syn keyword lispKey		 :device			  :io				   :start
 | |
| syn keyword lispKey		 :direction			  :junk-allowed			   :start1
 | |
| syn keyword lispKey		 :directory			  :key				   :start2
 | |
| syn keyword lispKey		 :displaced-index-offset	  :length			   :stream
 | |
| syn keyword lispKey		 :displaced-to			  :level			   :supersede
 | |
| syn keyword lispKey		 :element-type			  :name				   :test
 | |
| syn keyword lispKey		 :end				  :named			   :test-not
 | |
| syn keyword lispKey		 :end1				  :new-version			   :type
 | |
| syn keyword lispKey		 :end2				  :nicknames			   :use
 | |
| syn keyword lispKey		 :error				  :output			   :verbose
 | |
| syn keyword lispKey		 :escape			  :output-file			   :version
 | |
| syn keyword lispKey		 :external
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Standard Lisp Variables: {{{1
 | |
| syn keyword lispVar		 *applyhook*			  *load-pathname*		   *print-pprint-dispatch*
 | |
| syn keyword lispVar		 *break-on-signals*		  *load-print*			   *print-pprint-dispatch*
 | |
| syn keyword lispVar		 *break-on-signals*		  *load-truename*		   *print-pretty*
 | |
| syn keyword lispVar		 *break-on-warnings*		  *load-verbose*		   *print-radix*
 | |
| syn keyword lispVar		 *compile-file-pathname*	  *macroexpand-hook*		   *print-readably*
 | |
| syn keyword lispVar		 *compile-file-pathname*	  *modules*			   *print-right-margin*
 | |
| syn keyword lispVar		 *compile-file-truename*	  *package*			   *print-right-margin*
 | |
| syn keyword lispVar		 *compile-file-truename*	  *print-array*			   *query-io*
 | |
| syn keyword lispVar		 *compile-print*		  *print-base*			   *random-state*
 | |
| syn keyword lispVar		 *compile-verbose*		  *print-case*			   *read-base*
 | |
| syn keyword lispVar		 *compile-verbose*		  *print-circle*		   *read-default-float-format*
 | |
| syn keyword lispVar		 *debug-io*			  *print-escape*		   *read-eval*
 | |
| syn keyword lispVar		 *debugger-hook*		  *print-gensym*		   *read-suppress*
 | |
| syn keyword lispVar		 *default-pathname-defaults*	  *print-length*		   *readtable*
 | |
| syn keyword lispVar		 *error-output*			  *print-level*			   *standard-input*
 | |
| syn keyword lispVar		 *evalhook*			  *print-lines*			   *standard-output*
 | |
| syn keyword lispVar		 *features*			  *print-miser-width*		   *terminal-io*
 | |
| syn keyword lispVar		 *gensym-counter*		  *print-miser-width*		   *trace-output*
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Strings: {{{1
 | |
| syn region			 lispString			  start=+"+ skip=+\\\\\|\\"+ end=+"+
 | |
| if exists("g:lisp_instring")
 | |
|  syn region			 lispInString			  keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString
 | |
|  syn region			 lispInStringString		  start=+\\"+ skip=+\\\\+ end=+\\"+ contained
 | |
| endif
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Shared with Xlisp, Declarations, Macros, Functions: {{{1
 | |
| syn keyword lispDecl		 defmacro			  do-all-symbols		   labels
 | |
| syn keyword lispDecl		 defsetf			  do-external-symbols		   let
 | |
| syn keyword lispDecl		 deftype			  do-symbols			   locally
 | |
| syn keyword lispDecl		 defun				  dotimes			   macrolet
 | |
| syn keyword lispDecl		 do*				  flet				   multiple-value-bind
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Numbers: supporting integers and floating point numbers {{{1
 | |
| syn match lispNumber		 "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\="
 | |
| 
 | |
| syn match lispSpecial		 "\*[a-zA-Z_][a-zA-Z_0-9-]*\*"
 | |
| syn match lispSpecial		 !#|[^()'`,"; \t]\+|#!
 | |
| syn match lispSpecial		 !#x[0-9a-fA-F]\+!
 | |
| syn match lispSpecial		 !#o[0-7]\+!
 | |
| syn match lispSpecial		 !#b[01]\+!
 | |
| syn match lispSpecial		 !#\\[ -\~]!
 | |
| syn match lispSpecial		 !#[':][^()'`,"; \t]\+!
 | |
| syn match lispSpecial		 !#([^()'`,"; \t]\+)!
 | |
| 
 | |
| syn match lispConcat		 "\s\.\s"
 | |
| syn match lispParenError	 ")"
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Comments: {{{1
 | |
| syn cluster lispCommentGroup	 contains=lispTodo,@Spell
 | |
| syn match   lispComment		 ";.*$"				  contains=@lispCommentGroup
 | |
| syn region  lispCommentRegion	 start="#|" end="|#"		  contains=lispCommentRegion,@lispCommentGroup
 | |
| syn case ignore
 | |
| syn keyword lispTodo		 contained			  combak			   combak:			    todo			     todo:
 | |
| syn case match
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Synchronization: {{{1
 | |
| syn sync lines=100
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " Define Highlighting: {{{1
 | |
| " 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
 | |
|   command -nargs=+ HiLink hi def link <args>
 | |
| 
 | |
|   HiLink lispCommentRegion	 lispComment
 | |
|   HiLink lispAtomNmbr		 lispNumber
 | |
|   HiLink lispAtomMark		 lispMark
 | |
|   HiLink lispInStringString	 lispString
 | |
| 
 | |
|   HiLink lispAtom		 Identifier
 | |
|   HiLink lispAtomBarSymbol	 Special
 | |
|   HiLink lispBarSymbol		 Special
 | |
|   HiLink lispComment		 Comment
 | |
|   HiLink lispConcat		 Statement
 | |
|   HiLink lispDecl		 Statement
 | |
|   HiLink lispFunc		 Statement
 | |
|   HiLink lispKey		 Type
 | |
|   HiLink lispMark		 Delimiter
 | |
|   HiLink lispNumber		 Number
 | |
|   HiLink lispParenError		 Error
 | |
|   HiLink lispSpecial		 Type
 | |
|   HiLink lispString		 String
 | |
|   HiLink lispTodo		 Todo
 | |
|   HiLink lispVar		 Statement
 | |
| 
 | |
|   if exists("g:lisp_rainbow") && g:lisp_rainbow != 0
 | |
|    if &bg == "dark"
 | |
|     hi def hlLevel0 ctermfg=red         guifg=red1
 | |
|     hi def hlLevel1 ctermfg=yellow      guifg=orange1      
 | |
|     hi def hlLevel2 ctermfg=green       guifg=yellow1      
 | |
|     hi def hlLevel3 ctermfg=cyan        guifg=greenyellow  
 | |
|     hi def hlLevel4 ctermfg=magenta     guifg=green1       
 | |
|     hi def hlLevel5 ctermfg=red         guifg=springgreen1 
 | |
|     hi def hlLevel6 ctermfg=yellow      guifg=cyan1        
 | |
|     hi def hlLevel7 ctermfg=green       guifg=slateblue1   
 | |
|     hi def hlLevel8 ctermfg=cyan        guifg=magenta1     
 | |
|     hi def hlLevel9 ctermfg=magenta     guifg=purple1
 | |
|    else
 | |
|     hi def hlLevel0 ctermfg=red         guifg=red3
 | |
|     hi def hlLevel1 ctermfg=darkyellow  guifg=orangered3
 | |
|     hi def hlLevel2 ctermfg=darkgreen   guifg=orange2
 | |
|     hi def hlLevel3 ctermfg=blue        guifg=yellow3
 | |
|     hi def hlLevel4 ctermfg=darkmagenta guifg=olivedrab4
 | |
|     hi def hlLevel5 ctermfg=red         guifg=green4
 | |
|     hi def hlLevel6 ctermfg=darkyellow  guifg=paleturquoise3
 | |
|     hi def hlLevel7 ctermfg=darkgreen   guifg=deepskyblue4
 | |
|     hi def hlLevel8 ctermfg=blue        guifg=darkslateblue
 | |
|     hi def hlLevel9 ctermfg=darkmagenta guifg=darkviolet
 | |
|    endif
 | |
|   endif
 | |
| 
 | |
|   delcommand HiLink
 | |
| endif
 | |
| 
 | |
| let b:current_syntax = "lisp"
 | |
| 
 | |
| " ---------------------------------------------------------------------
 | |
| " vim: ts=8 nowrap fdm=marker
 |