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