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