1" Vim syntax file 2" Language: Lisp 3" Maintainer: Dr. Charles E. Campbell, Jr. <[email protected]> 4" Last Change: Sep 02, 2003 5" Version: 14 6" URL: http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax 7" 8" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols 9" taken from the HyperSpec 10" 11" Options: 12" lisp_instring : if it exists, then "(...") strings are highlighted 13" as if the contents were lisp. Useful for AutoLisp. 14" Put let lisp_instring=1 into your <.vimrc> if 15" you want this option. 16 17" For version 5.x: Clear all syntax items 18" For version 6.x: Quit when a syntax file was already loaded 19if version < 600 20 syntax clear 21elseif exists("b:current_syntax") 22 finish 23endif 24 25if version >= 600 26 setlocal iskeyword=42,43,45,47-58,60-62,64-90,97-122,_ 27else 28 set iskeyword=42,43,45,47-58,60-62,64-90,97-122,_ 29endif 30 31" Clusters 32syn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite 33syn cluster lispListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispSymbol,lispVar,lispLeadWhite 34 35" Lists 36syn match lispSymbol contained ![^()'`,"; \t]\+! 37syn match lispBarSymbol contained !|..\{-}|! 38if exists("lisp_instring") 39 syn region lispList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@lispListCluster,lispString,lispInString,lispInStringString 40 syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster,lispString,lispInString,lispInStringString 41else 42 syn region lispList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@lispListCluster,lispString 43 syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster,lispString 44endif 45" Atoms 46syn match lispAtomMark "'" 47syn match lispAtom "'("me=e-1 contains=lispAtomMark nextgroup=lispAtomList 48syn match lispAtom "'[^ \t()]\+" contains=lispAtomMark 49syn match lispAtomBarSymbol !'|..\{-}|! contains=lispAtomMark 50syn region lispAtom start=+'"+ skip=+\\"+ end=+"+ 51syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString 52syn match lispAtomNmbr contained "\<\d\+" 53syn match lispLeadWhite contained "^\s\+" 54 55" Standard Lisp Functions and Macros 56syn keyword lispFunc * find-method pprint-indent 57syn keyword lispFunc ** find-package pprint-linear 58syn keyword lispFunc *** find-restart pprint-logical-block 59syn keyword lispFunc + find-symbol pprint-newline 60syn keyword lispFunc ++ finish-output pprint-pop 61syn keyword lispFunc +++ first pprint-tab 62syn keyword lispFunc - fixnum pprint-tabular 63syn keyword lispFunc / flet prin1 64syn keyword lispFunc // float prin1-to-string 65syn keyword lispFunc /// float-digits princ 66syn keyword lispFunc /= float-precision princ-to-string 67syn keyword lispFunc 1+ float-radix print 68syn keyword lispFunc 1- float-sign print-not-readable 69syn keyword lispFunc < floating-point-inexact print-not-readable-object 70syn keyword lispFunc <= floating-point-invalid-operation print-object 71syn keyword lispFunc = floating-point-overflow print-unreadable-object 72syn keyword lispFunc > floating-point-underflow probe-file 73syn keyword lispFunc >= floatp proclaim 74syn keyword lispFunc abort floor prog 75syn keyword lispFunc abs fmakunbound prog* 76syn keyword lispFunc access force-output prog1 77syn keyword lispFunc acons format prog2 78syn keyword lispFunc acos formatter progn 79syn keyword lispFunc acosh fourth program-error 80syn keyword lispFunc add-method fresh-line progv 81syn keyword lispFunc adjoin fround provide 82syn keyword lispFunc adjust-array ftruncate psetf 83syn keyword lispFunc adjustable-array-p ftype psetq 84syn keyword lispFunc allocate-instance funcall push 85syn keyword lispFunc alpha-char-p function pushnew 86syn keyword lispFunc alphanumericp function-keywords putprop 87syn keyword lispFunc and function-lambda-expression quote 88syn keyword lispFunc append functionp random 89syn keyword lispFunc apply gbitp random-state 90syn keyword lispFunc applyhook gcd random-state-p 91syn keyword lispFunc apropos generic-function rassoc 92syn keyword lispFunc apropos-list gensym rassoc-if 93syn keyword lispFunc aref gentemp rassoc-if-not 94syn keyword lispFunc arithmetic-error get ratio 95syn keyword lispFunc arithmetic-error-operands get-decoded-time rational 96syn keyword lispFunc arithmetic-error-operation get-dispatch-macro-character rationalize 97syn keyword lispFunc array get-internal-real-time rationalp 98syn keyword lispFunc array-dimension get-internal-run-time read 99syn keyword lispFunc array-dimension-limit get-macro-character read-byte 100syn keyword lispFunc array-dimensions get-output-stream-string read-char 101syn keyword lispFunc array-displacement get-properties read-char-no-hang 102syn keyword lispFunc array-element-type get-setf-expansion read-delimited-list 103syn keyword lispFunc array-has-fill-pointer-p get-setf-method read-eval-print 104syn keyword lispFunc array-in-bounds-p get-universal-time read-from-string 105syn keyword lispFunc array-rank getf read-line 106syn keyword lispFunc array-rank-limit gethash read-preserving-whitespace 107syn keyword lispFunc array-row-major-index go read-sequence 108syn keyword lispFunc array-total-size graphic-char-p reader-error 109syn keyword lispFunc array-total-size-limit handler-bind readtable 110syn keyword lispFunc arrayp handler-case readtable-case 111syn keyword lispFunc ash hash-table readtablep 112syn keyword lispFunc asin hash-table-count real 113syn keyword lispFunc asinh hash-table-p realp 114syn keyword lispFunc assert hash-table-rehash-size realpart 115syn keyword lispFunc assoc hash-table-rehash-threshold reduce 116syn keyword lispFunc assoc-if hash-table-size reinitialize-instance 117syn keyword lispFunc assoc-if-not hash-table-test rem 118syn keyword lispFunc atan host-namestring remf 119syn keyword lispFunc atanh identity remhash 120syn keyword lispFunc atom if remove 121syn keyword lispFunc base-char if-exists remove-duplicates 122syn keyword lispFunc base-string ignorable remove-if 123syn keyword lispFunc bignum ignore remove-if-not 124syn keyword lispFunc bit ignore-errors remove-method 125syn keyword lispFunc bit-and imagpart remprop 126syn keyword lispFunc bit-andc1 import rename-file 127syn keyword lispFunc bit-andc2 in-package rename-package 128syn keyword lispFunc bit-eqv in-package replace 129syn keyword lispFunc bit-ior incf require 130syn keyword lispFunc bit-nand initialize-instance rest 131syn keyword lispFunc bit-nor inline restart 132syn keyword lispFunc bit-not input-stream-p restart-bind 133syn keyword lispFunc bit-orc1 inspect restart-case 134syn keyword lispFunc bit-orc2 int-char restart-name 135syn keyword lispFunc bit-vector integer return 136syn keyword lispFunc bit-vector-p integer-decode-float return-from 137syn keyword lispFunc bit-xor integer-length revappend 138syn keyword lispFunc block integerp reverse 139syn keyword lispFunc boole interactive-stream-p room 140syn keyword lispFunc boole-1 intern rotatef 141syn keyword lispFunc boole-2 internal-time-units-per-second round 142syn keyword lispFunc boole-and intersection row-major-aref 143syn keyword lispFunc boole-andc1 invalid-method-error rplaca 144syn keyword lispFunc boole-andc2 invoke-debugger rplacd 145syn keyword lispFunc boole-c1 invoke-restart safety 146syn keyword lispFunc boole-c2 invoke-restart-interactively satisfies 147syn keyword lispFunc boole-clr isqrt sbit 148syn keyword lispFunc boole-eqv keyword scale-float 149syn keyword lispFunc boole-ior keywordp schar 150syn keyword lispFunc boole-nand labels search 151syn keyword lispFunc boole-nor lambda second 152syn keyword lispFunc boole-orc1 lambda-list-keywords sequence 153syn keyword lispFunc boole-orc2 lambda-parameters-limit serious-condition 154syn keyword lispFunc boole-set last set 155syn keyword lispFunc boole-xor lcm set-char-bit 156syn keyword lispFunc boolean ldb set-difference 157syn keyword lispFunc both-case-p ldb-test set-dispatch-macro-character 158syn keyword lispFunc boundp ldiff set-exclusive-or 159syn keyword lispFunc break least-negative-double-float set-macro-character 160syn keyword lispFunc broadcast-stream least-negative-long-float set-pprint-dispatch 161syn keyword lispFunc broadcast-stream-streams least-negative-normalized-double-float set-syntax-from-char 162syn keyword lispFunc built-in-class least-negative-normalized-long-float setf 163syn keyword lispFunc butlast least-negative-normalized-short-float setq 164syn keyword lispFunc byte least-negative-normalized-single-float seventh 165syn keyword lispFunc byte-position least-negative-short-float shadow 166syn keyword lispFunc byte-size least-negative-single-float shadowing-import 167syn keyword lispFunc call-arguments-limit least-positive-double-float shared-initialize 168syn keyword lispFunc call-method least-positive-long-float shiftf 169syn keyword lispFunc call-next-method least-positive-normalized-double-float short-float 170syn keyword lispFunc capitalize least-positive-normalized-long-float short-float-epsilon 171syn keyword lispFunc car least-positive-normalized-short-float short-float-negative-epsilon 172syn keyword lispFunc case least-positive-normalized-single-float short-site-name 173syn keyword lispFunc catch least-positive-short-float signal 174syn keyword lispFunc ccase least-positive-single-float signed-byte 175syn keyword lispFunc cdr length signum 176syn keyword lispFunc ceiling let simle-condition 177syn keyword lispFunc cell-error let* simple-array 178syn keyword lispFunc cell-error-name lisp simple-base-string 179syn keyword lispFunc cerror lisp-implementation-type simple-bit-vector 180syn keyword lispFunc change-class lisp-implementation-version simple-bit-vector-p 181syn keyword lispFunc char list simple-condition-format-arguments 182syn keyword lispFunc char-bit list* simple-condition-format-control 183syn keyword lispFunc char-bits list-all-packages simple-error 184syn keyword lispFunc char-bits-limit list-length simple-string 185syn keyword lispFunc char-code listen simple-string-p 186syn keyword lispFunc char-code-limit listp simple-type-error 187syn keyword lispFunc char-control-bit load simple-vector 188syn keyword lispFunc char-downcase load-logical-pathname-translations simple-vector-p 189syn keyword lispFunc char-equal load-time-value simple-warning 190syn keyword lispFunc char-font locally sin 191syn keyword lispFunc char-font-limit log single-flaot-epsilon 192syn keyword lispFunc char-greaterp logand single-float 193syn keyword lispFunc char-hyper-bit logandc1 single-float-epsilon 194syn keyword lispFunc char-int logandc2 single-float-negative-epsilon 195syn keyword lispFunc char-lessp logbitp sinh 196syn keyword lispFunc char-meta-bit logcount sixth 197syn keyword lispFunc char-name logeqv sleep 198syn keyword lispFunc char-not-equal logical-pathname slot-boundp 199syn keyword lispFunc char-not-greaterp logical-pathname-translations slot-exists-p 200syn keyword lispFunc char-not-lessp logior slot-makunbound 201syn keyword lispFunc char-super-bit lognand slot-missing 202syn keyword lispFunc char-upcase lognor slot-unbound 203syn keyword lispFunc char/= lognot slot-value 204syn keyword lispFunc char< logorc1 software-type 205syn keyword lispFunc char<= logorc2 software-version 206syn keyword lispFunc char= logtest some 207syn keyword lispFunc char> logxor sort 208syn keyword lispFunc char>= long-float space 209syn keyword lispFunc character long-float-epsilon special 210syn keyword lispFunc characterp long-float-negative-epsilon special-form-p 211syn keyword lispFunc check-type long-site-name special-operator-p 212syn keyword lispFunc cis loop speed 213syn keyword lispFunc class loop-finish sqrt 214syn keyword lispFunc class-name lower-case-p stable-sort 215syn keyword lispFunc class-of machine-instance standard 216syn keyword lispFunc clear-input machine-type standard-char 217syn keyword lispFunc clear-output machine-version standard-char-p 218syn keyword lispFunc close macro-function standard-class 219syn keyword lispFunc clrhash macroexpand standard-generic-function 220syn keyword lispFunc code-char macroexpand-1 standard-method 221syn keyword lispFunc coerce macroexpand-l standard-object 222syn keyword lispFunc commonp macrolet step 223syn keyword lispFunc compilation-speed make-array storage-condition 224syn keyword lispFunc compile make-array store-value 225syn keyword lispFunc compile-file make-broadcast-stream stream 226syn keyword lispFunc compile-file-pathname make-char stream-element-type 227syn keyword lispFunc compiled-function make-concatenated-stream stream-error 228syn keyword lispFunc compiled-function-p make-condition stream-error-stream 229syn keyword lispFunc compiler-let make-dispatch-macro-character stream-external-format 230syn keyword lispFunc compiler-macro make-echo-stream streamp 231syn keyword lispFunc compiler-macro-function make-hash-table streamup 232syn keyword lispFunc complement make-instance string 233syn keyword lispFunc complex make-instances-obsolete string-capitalize 234syn keyword lispFunc complexp make-list string-char 235syn keyword lispFunc compute-applicable-methods make-load-form string-char-p 236syn keyword lispFunc compute-restarts make-load-form-saving-slots string-downcase 237syn keyword lispFunc concatenate make-method string-equal 238syn keyword lispFunc concatenated-stream make-package string-greaterp 239syn keyword lispFunc concatenated-stream-streams make-pathname string-left-trim 240syn keyword lispFunc cond make-random-state string-lessp 241syn keyword lispFunc condition make-sequence string-not-equal 242syn keyword lispFunc conjugate make-string string-not-greaterp 243syn keyword lispFunc cons make-string-input-stream string-not-lessp 244syn keyword lispFunc consp make-string-output-stream string-right-strim 245syn keyword lispFunc constantly make-symbol string-right-trim 246syn keyword lispFunc constantp make-synonym-stream string-stream 247syn keyword lispFunc continue make-two-way-stream string-trim 248syn keyword lispFunc control-error makunbound string-upcase 249syn keyword lispFunc copy-alist map string/= 250syn keyword lispFunc copy-list map-into string< 251syn keyword lispFunc copy-pprint-dispatch mapc string<= 252syn keyword lispFunc copy-readtable mapcan string= 253syn keyword lispFunc copy-seq mapcar string> 254syn keyword lispFunc copy-structure mapcon string>= 255syn keyword lispFunc copy-symbol maphash stringp 256syn keyword lispFunc copy-tree mapl structure 257syn keyword lispFunc cos maplist structure-class 258syn keyword lispFunc cosh mask-field structure-object 259syn keyword lispFunc count max style-warning 260syn keyword lispFunc count-if member sublim 261syn keyword lispFunc count-if-not member-if sublis 262syn keyword lispFunc ctypecase member-if-not subseq 263syn keyword lispFunc debug merge subsetp 264syn keyword lispFunc decf merge-pathname subst 265syn keyword lispFunc declaim merge-pathnames subst-if 266syn keyword lispFunc declaration method subst-if-not 267syn keyword lispFunc declare method-combination substitute 268syn keyword lispFunc decode-float method-combination-error substitute-if 269syn keyword lispFunc decode-universal-time method-qualifiers substitute-if-not 270syn keyword lispFunc defclass min subtypep 271syn keyword lispFunc defconstant minusp svref 272syn keyword lispFunc defgeneric mismatch sxhash 273syn keyword lispFunc define-compiler-macro mod symbol 274syn keyword lispFunc define-condition most-negative-double-float symbol-function 275syn keyword lispFunc define-method-combination most-negative-fixnum symbol-macrolet 276syn keyword lispFunc define-modify-macro most-negative-long-float symbol-name 277syn keyword lispFunc define-setf-expander most-negative-short-float symbol-package 278syn keyword lispFunc define-setf-method most-negative-single-float symbol-plist 279syn keyword lispFunc define-symbol-macro most-positive-double-float symbol-value 280syn keyword lispFunc defmacro most-positive-fixnum symbolp 281syn keyword lispFunc defmethod most-positive-long-float synonym-stream 282syn keyword lispFunc defpackage most-positive-short-float synonym-stream-symbol 283syn keyword lispFunc defparameter most-positive-single-float sys 284syn keyword lispFunc defsetf muffle-warning system 285syn keyword lispFunc defstruct multiple-value-bind t 286syn keyword lispFunc deftype multiple-value-call tagbody 287syn keyword lispFunc defun multiple-value-list tailp 288syn keyword lispFunc defvar multiple-value-prog1 tan 289syn keyword lispFunc delete multiple-value-seteq tanh 290syn keyword lispFunc delete-duplicates multiple-value-setq tenth 291syn keyword lispFunc delete-file multiple-values-limit terpri 292syn keyword lispFunc delete-if name-char the 293syn keyword lispFunc delete-if-not namestring third 294syn keyword lispFunc delete-package nbutlast throw 295syn keyword lispFunc denominator nconc time 296syn keyword lispFunc deposit-field next-method-p trace 297syn keyword lispFunc describe nil translate-logical-pathname 298syn keyword lispFunc describe-object nintersection translate-pathname 299syn keyword lispFunc destructuring-bind ninth tree-equal 300syn keyword lispFunc digit-char no-applicable-method truename 301syn keyword lispFunc digit-char-p no-next-method truncase 302syn keyword lispFunc directory not truncate 303syn keyword lispFunc directory-namestring notany two-way-stream 304syn keyword lispFunc disassemble notevery two-way-stream-input-stream 305syn keyword lispFunc division-by-zero notinline two-way-stream-output-stream 306syn keyword lispFunc do nreconc type 307syn keyword lispFunc do* nreverse type-error 308syn keyword lispFunc do-all-symbols nset-difference type-error-datum 309syn keyword lispFunc do-exeternal-symbols nset-exclusive-or type-error-expected-type 310syn keyword lispFunc do-external-symbols nstring type-of 311syn keyword lispFunc do-symbols nstring-capitalize typecase 312syn keyword lispFunc documentation nstring-downcase typep 313syn keyword lispFunc dolist nstring-upcase unbound-slot 314syn keyword lispFunc dotimes nsublis unbound-slot-instance 315syn keyword lispFunc double-float nsubst unbound-variable 316syn keyword lispFunc double-float-epsilon nsubst-if undefined-function 317syn keyword lispFunc double-float-negative-epsilon nsubst-if-not unexport 318syn keyword lispFunc dpb nsubstitute unintern 319syn keyword lispFunc dribble nsubstitute-if union 320syn keyword lispFunc dynamic-extent nsubstitute-if-not unless 321syn keyword lispFunc ecase nth unread 322syn keyword lispFunc echo-stream nth-value unread-char 323syn keyword lispFunc echo-stream-input-stream nthcdr unsigned-byte 324syn keyword lispFunc echo-stream-output-stream null untrace 325syn keyword lispFunc ed number unuse-package 326syn keyword lispFunc eighth numberp unwind-protect 327syn keyword lispFunc elt numerator update-instance-for-different-class 328syn keyword lispFunc encode-universal-time nunion update-instance-for-redefined-class 329syn keyword lispFunc end-of-file oddp upgraded-array-element-type 330syn keyword lispFunc endp open upgraded-complex-part-type 331syn keyword lispFunc enough-namestring open-stream-p upper-case-p 332syn keyword lispFunc ensure-directories-exist optimize use-package 333syn keyword lispFunc ensure-generic-function or use-value 334syn keyword lispFunc eq otherwise user 335syn keyword lispFunc eql output-stream-p user-homedir-pathname 336syn keyword lispFunc equal package values 337syn keyword lispFunc equalp package-error values-list 338syn keyword lispFunc error package-error-package vector 339syn keyword lispFunc etypecase package-name vector-pop 340syn keyword lispFunc eval package-nicknames vector-push 341syn keyword lispFunc eval-when package-shadowing-symbols vector-push-extend 342syn keyword lispFunc evalhook package-use-list vectorp 343syn keyword lispFunc evenp package-used-by-list warn 344syn keyword lispFunc every packagep warning 345syn keyword lispFunc exp pairlis when 346syn keyword lispFunc export parse-error wild-pathname-p 347syn keyword lispFunc expt parse-integer with-accessors 348syn keyword lispFunc extended-char parse-namestring with-compilation-unit 349syn keyword lispFunc fboundp pathname with-condition-restarts 350syn keyword lispFunc fceiling pathname-device with-hash-table-iterator 351syn keyword lispFunc fdefinition pathname-directory with-input-from-string 352syn keyword lispFunc ffloor pathname-host with-open-file 353syn keyword lispFunc fifth pathname-match-p with-open-stream 354syn keyword lispFunc file-author pathname-name with-output-to-string 355syn keyword lispFunc file-error pathname-type with-package-iterator 356syn keyword lispFunc file-error-pathname pathname-version with-simple-restart 357syn keyword lispFunc file-length pathnamep with-slots 358syn keyword lispFunc file-namestring peek-char with-standard-io-syntax 359syn keyword lispFunc file-position phase write 360syn keyword lispFunc file-stream pi write-byte 361syn keyword lispFunc file-string-length plusp write-char 362syn keyword lispFunc file-write-date pop write-line 363syn keyword lispFunc fill position write-sequence 364syn keyword lispFunc fill-pointer position-if write-string 365syn keyword lispFunc find position-if-not write-to-string 366syn keyword lispFunc find-all-symbols pprint y-or-n-p 367syn keyword lispFunc find-class pprint-dispatch yes-or-no-p 368syn keyword lispFunc find-if pprint-exit-if-list-exhausted zerop 369syn keyword lispFunc find-if-not pprint-fill 370 371syn match lispFunc "\<c[ad]\+r\>" 372 373 374" Lisp Keywords (modifiers) 375syn keyword lispKey :abort :from-end :overwrite 376syn keyword lispKey :adjustable :gensym :predicate 377syn keyword lispKey :append :host :preserve-whitespace 378syn keyword lispKey :array :if-does-not-exist :pretty 379syn keyword lispKey :base :if-exists :print 380syn keyword lispKey :case :include :print-function 381syn keyword lispKey :circle :index :probe 382syn keyword lispKey :conc-name :inherited :radix 383syn keyword lispKey :constructor :initial-contents :read-only 384syn keyword lispKey :copier :initial-element :rehash-size 385syn keyword lispKey :count :initial-offset :rehash-threshold 386syn keyword lispKey :create :initial-value :rename 387syn keyword lispKey :default :input :rename-and-delete 388syn keyword lispKey :defaults :internal :size 389syn keyword lispKey :device :io :start 390syn keyword lispKey :direction :junk-allowed :start1 391syn keyword lispKey :directory :key :start2 392syn keyword lispKey :displaced-index-offset :length :stream 393syn keyword lispKey :displaced-to :level :supersede 394syn keyword lispKey :element-type :name :test 395syn keyword lispKey :end :named :test-not 396syn keyword lispKey :end1 :new-version :type 397syn keyword lispKey :end2 :nicknames :use 398syn keyword lispKey :error :output :verbose 399syn keyword lispKey :escape :output-file :version 400syn keyword lispKey :external 401 402" Standard Lisp Variables 403syn keyword lispVar *applyhook* *load-pathname* *print-pprint-dispatch* 404syn keyword lispVar *break-on-signals* *load-print* *print-pprint-dispatch* 405syn keyword lispVar *break-on-signals* *load-truename* *print-pretty* 406syn keyword lispVar *break-on-warnings* *load-verbose* *print-radix* 407syn keyword lispVar *compile-file-pathname* *macroexpand-hook* *print-readably* 408syn keyword lispVar *compile-file-pathname* *modules* *print-right-margin* 409syn keyword lispVar *compile-file-truename* *package* *print-right-margin* 410syn keyword lispVar *compile-file-truename* *print-array* *query-io* 411syn keyword lispVar *compile-print* *print-base* *random-state* 412syn keyword lispVar *compile-verbose* *print-case* *read-base* 413syn keyword lispVar *compile-verbose* *print-circle* *read-default-float-format* 414syn keyword lispVar *debug-io* *print-escape* *read-eval* 415syn keyword lispVar *debugger-hook* *print-gensym* *read-suppress* 416syn keyword lispVar *default-pathname-defaults* *print-length* *readtable* 417syn keyword lispVar *error-output* *print-level* *standard-input* 418syn keyword lispVar *evalhook* *print-lines* *standard-output* 419syn keyword lispVar *features* *print-miser-width* *terminal-io* 420syn keyword lispVar *gensym-counter* *print-miser-width* *trace-output* 421 422" Strings 423syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+ 424if exists("lisp_instring") 425 syn region lispInString keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispListCluster,lispInStringString 426 syn region lispInStringString start=+\\"+ skip=+\\\\+ end=+\\"+ contained 427endif 428 429" Shared with Xlisp, Declarations, Macros, Functions 430syn keyword lispDecl defmacro do-all-symbols labels 431syn keyword lispDecl defsetf do-external-symbols let 432syn keyword lispDecl deftype do-symbols locally 433syn keyword lispDecl defun dotimes macrolet 434syn keyword lispDecl do* flet multiple-value-bind 435 436" Numbers: supporting integers and floating point numbers 437syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\=" 438 439syn match lispSpecial "\*[a-zA-Z_][a-zA-Z_0-9-]*\*" 440syn match lispSpecial !#|[^()'`,"; \t]\+|#! 441syn match lispSpecial !#x[0-9a-fA-F]\+! 442syn match lispSpecial !#o[0-7]\+! 443syn match lispSpecial !#b[01]\+! 444syn match lispSpecial !#\\[ -\~]! 445syn match lispSpecial !#[':][^()'`,"; \t]\+! 446syn match lispSpecial !#([^()'`,"; \t]\+)! 447 448syn match lispConcat "\s\.\s" 449syn match lispParenError ")" 450 451" Comments 452syn cluster lispCommentGroup contains=lispTodo,@Spell 453syn match lispComment ";.*$" contains=@lispCommentGroup 454syn region lispCommentRegion start="#|" end="|#" contains=lispCommentRegion,@lispCommentGroup 455syn case ignore 456syn keyword lispTodo contained combak combak: todo todo: 457syn case match 458 459" synchronization 460syn sync lines=100 461 462" Define the default highlighting. 463" For version 5.7 and earlier: only when not done already 464" For version 5.8 and later: only when an item doesn't have highlighting yet 465if version >= 508 || !exists("did_lisp_syntax_inits") 466 if version < 508 467 let did_lisp_syntax_inits = 1 468 command -nargs=+ HiLink hi link <args> 469 else 470 command -nargs=+ HiLink hi def link <args> 471 endif 472 473 HiLink lispCommentRegion lispComment 474 HiLink lispAtomNmbr lispNumber 475 HiLink lispAtomMark lispMark 476 HiLink lispInStringString lispString 477 478 HiLink lispAtom Identifier 479 HiLink lispAtomBarSymbol Special 480 HiLink lispBarSymbol Special 481 HiLink lispComment Comment 482 HiLink lispConcat Statement 483 HiLink lispDecl Statement 484 HiLink lispFunc Statement 485 HiLink lispKey Type 486 HiLink lispMark Delimiter 487 HiLink lispNumber Number 488 HiLink lispParenError Error 489 HiLink lispSpecial Type 490 HiLink lispString String 491 HiLink lispTodo Todo 492 HiLink lispVar Statement 493 494 delcommand HiLink 495endif 496 497let b:current_syntax = "lisp" 498 499" vim: ts=8 nowrap 500