codekingpro/portable-devtools
115k
1" Vim syntax file2" Language: Lisp3" Maintainer: This runtime file is looking for a new maintainer.4" Former Maintainer: Charles E. Campbell5" Last Change: Nov 10, 20216" 2024 Feb 19 by Vim Project (announce adoption)7" Version: 318" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP9"10" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec11" Clisp additions courtesy of http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/emacs/lisp.vim12 13" ---------------------------------------------------------------------14" Load Once: {{{115if exists("b:current_syntax")16 finish17endif18 19if exists("g:lisp_isk")20 exe "setl isk=".g:lisp_isk21elseif (v:version == 704 && has("patch-7.4.1142")) || v:version > 70422 syn iskeyword 38,42,43,45,47-58,60-62,64-90,97-122,_23else24 setl isk=38,42,43,45,47-58,60-62,64-90,97-122,_25endif26 27if exists("g:lispsyntax_ignorecase") || exists("g:lispsyntax_clisp")28 set ignorecase29endif30 31" ---------------------------------------------------------------------32" Clusters: {{{133syn cluster lispAtomCluster contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite34syn cluster lispBaseListCluster contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispEscapeSpecial,lispSymbol,lispVar,lispLeadWhite35if exists("g:lisp_instring")36 syn cluster lispListCluster contains=@lispBaseListCluster,lispString,lispInString,lispInStringString37else38 syn cluster lispListCluster contains=@lispBaseListCluster,lispString39endif40 41syn case ignore42 43" ---------------------------------------------------------------------44" Lists: {{{145syn match lispSymbol contained ![^()'`,"; \t]\+!46syn match lispBarSymbol contained !|..\{-}|!47if exists("g:lisp_rainbow") && g:lisp_rainbow != 048 syn region lispParen0 matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen149 syn region lispParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen250 syn region lispParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen351 syn region lispParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen452 syn region lispParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen553 syn region lispParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen654 syn region lispParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen755 syn region lispParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen856 syn region lispParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen957 syn region lispParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen058else59 syn region lispList matchgroup=lispParen start="(" skip="|.\{-}|" matchgroup=lispParen end=")" contains=@lispListCluster60 syn region lispBQList matchgroup=PreProc start="`(" skip="|.\{-}|" matchgroup=PreProc end=")" contains=@lispListCluster61endif62 63" ---------------------------------------------------------------------64" Atoms: {{{165syn match lispAtomMark "'"66syn match lispAtom "'("me=e-1 contains=lispAtomMark nextgroup=lispAtomList67syn match lispAtom "'[^ \t()]\+" contains=lispAtomMark68syn match lispAtomBarSymbol !'|..\{-}|! contains=lispAtomMark69syn region lispAtom start=+'"+ skip=+\\"+ end=+"+70syn region lispAtomList contained matchgroup=Special start="(" skip="|.\{-}|" matchgroup=Special end=")" contains=@lispAtomCluster,lispString,lispEscapeSpecial71syn match lispAtomNmbr contained "\<\d\+"72syn match lispLeadWhite contained "^\s\+"73 74" ---------------------------------------------------------------------75" Standard Lisp Functions and Macros: {{{176syn keyword lispFunc < find-method pprint-indent77syn keyword lispFunc <= find-package pprint-linear78syn keyword lispFunc = find-restart pprint-logical-block79syn keyword lispFunc > find-symbol pprint-newline80syn keyword lispFunc >= finish-output pprint-pop81syn keyword lispFunc - first pprint-tab82syn keyword lispFunc / fixnum pprint-tabular83syn keyword lispFunc /= flet prin184syn keyword lispFunc // float prin1-to-string85syn keyword lispFunc /// float-digits princ86syn keyword lispFunc * floating-point-inexact princ-to-string87syn keyword lispFunc ** floating-point-invalid-operation print88syn keyword lispFunc *** floating-point-overflow print-not-readable89syn keyword lispFunc + floating-point-underflow print-not-readable-object90syn keyword lispFunc ++ floatp print-object91syn keyword lispFunc +++ float-precision print-unreadable-object92syn keyword lispFunc 1- float-radix probe-file93syn keyword lispFunc 1+ float-sign proclaim94syn keyword lispFunc abort floor prog95syn keyword lispFunc abs fmakunbound prog*96syn keyword lispFunc access force-output prog197syn keyword lispFunc acons format prog298syn keyword lispFunc acos formatter progn99syn keyword lispFunc acosh fourth program-error100syn keyword lispFunc add-method fresh-line progv101syn keyword lispFunc adjoin fround provide102syn keyword lispFunc adjustable-array-p ftruncate psetf103syn keyword lispFunc adjust-array ftype psetq104syn keyword lispFunc allocate-instance funcall push105syn keyword lispFunc alpha-char-p function pushnew106syn keyword lispFunc alphanumericp function-keywords putprop107syn keyword lispFunc and function-lambda-expression quote108syn keyword lispFunc append functionp random109syn keyword lispFunc apply gbitp random-state110syn keyword lispFunc applyhook gcd random-state-p111syn keyword lispFunc apropos generic-function rassoc112syn keyword lispFunc apropos-list gensym rassoc-if113syn keyword lispFunc aref gentemp rassoc-if-not114syn keyword lispFunc arithmetic-error get ratio115syn keyword lispFunc arithmetic-error-operands get-decoded-time rational116syn keyword lispFunc arithmetic-error-operation get-dispatch-macro-character rationalize117syn keyword lispFunc array getf rationalp118syn keyword lispFunc array-dimension gethash read119syn keyword lispFunc array-dimension-limit get-internal-real-time read-byte120syn keyword lispFunc array-dimensions get-internal-run-time read-char121syn keyword lispFunc array-displacement get-macro-character read-char-no-hang122syn keyword lispFunc array-element-type get-output-stream-string read-delimited-list123syn keyword lispFunc array-has-fill-pointer-p get-properties reader-error124syn keyword lispFunc array-in-bounds-p get-setf-expansion read-eval-print125syn keyword lispFunc arrayp get-setf-method read-from-string126syn keyword lispFunc array-rank get-universal-time read-line127syn keyword lispFunc array-rank-limit go read-preserving-whitespace128syn keyword lispFunc array-row-major-index graphic-char-p read-sequence129syn keyword lispFunc array-total-size handler-bind readtable130syn keyword lispFunc array-total-size-limit handler-case readtable-case131syn keyword lispFunc ash hash-table readtablep132syn keyword lispFunc asin hash-table-count real133syn keyword lispFunc asinh hash-table-p realp134syn keyword lispFunc assert hash-table-rehash-size realpart135syn keyword lispFunc assoc hash-table-rehash-threshold reduce136syn keyword lispFunc assoc-if hash-table-size reinitialize-instance137syn keyword lispFunc assoc-if-not hash-table-test rem138syn keyword lispFunc atan host-namestring remf139syn keyword lispFunc atanh identity remhash140syn keyword lispFunc atom if remove141syn keyword lispFunc base-char if-exists remove-duplicates142syn keyword lispFunc base-string ignorable remove-if143syn keyword lispFunc bignum ignore remove-if-not144syn keyword lispFunc bit ignore-errors remove-method145syn keyword lispFunc bit-and imagpart remprop146syn keyword lispFunc bit-andc1 import rename-file147syn keyword lispFunc bit-andc2 incf rename-package148syn keyword lispFunc bit-eqv initialize-instance replace149syn keyword lispFunc bit-ior inline require150syn keyword lispFunc bit-nand in-package rest151syn keyword lispFunc bit-nor in-package restart152syn keyword lispFunc bit-not input-stream-p restart-bind153syn keyword lispFunc bit-orc1 inspect restart-case154syn keyword lispFunc bit-orc2 int-char restart-name155syn keyword lispFunc bit-vector integer return156syn keyword lispFunc bit-vector-p integer-decode-float return-from157syn keyword lispFunc bit-xor integer-length revappend158syn keyword lispFunc block integerp reverse159syn keyword lispFunc boole interactive-stream-p room160syn keyword lispFunc boole-1 intern rotatef161syn keyword lispFunc boole-2 internal-time-units-per-second round162syn keyword lispFunc boolean intersection row-major-aref163syn keyword lispFunc boole-and invalid-method-error rplaca164syn keyword lispFunc boole-andc1 invoke-debugger rplacd165syn keyword lispFunc boole-andc2 invoke-restart safety166syn keyword lispFunc boole-c1 invoke-restart-interactively satisfies167syn keyword lispFunc boole-c2 isqrt sbit168syn keyword lispFunc boole-clr keyword scale-float169syn keyword lispFunc boole-eqv keywordp schar170syn keyword lispFunc boole-ior labels search171syn keyword lispFunc boole-nand lambda second172syn keyword lispFunc boole-nor lambda-list-keywords sequence173syn keyword lispFunc boole-orc1 lambda-parameters-limit serious-condition174syn keyword lispFunc boole-orc2 last set175syn keyword lispFunc boole-set lcm set-char-bit176syn keyword lispFunc boole-xor ldb set-difference177syn keyword lispFunc both-case-p ldb-test set-dispatch-macro-character178syn keyword lispFunc boundp ldiff set-exclusive-or179syn keyword lispFunc break least-negative-double-float setf180syn keyword lispFunc broadcast-stream least-negative-long-float set-macro-character181syn keyword lispFunc broadcast-stream-streams least-negative-normalized-double-float set-pprint-dispatch182syn keyword lispFunc built-in-class least-negative-normalized-long-float setq183syn keyword lispFunc butlast least-negative-normalized-short-float set-syntax-from-char184syn keyword lispFunc byte least-negative-normalized-single-float seventh185syn keyword lispFunc byte-position least-negative-short-float shadow186syn keyword lispFunc byte-size least-negative-single-float shadowing-import187syn keyword lispFunc call-arguments-limit least-positive-double-float shared-initialize188syn keyword lispFunc call-method least-positive-long-float shiftf189syn keyword lispFunc call-next-method least-positive-normalized-double-float short-float190syn keyword lispFunc capitalize least-positive-normalized-long-float short-float-epsilon191syn keyword lispFunc car least-positive-normalized-short-float short-float-negative-epsilon192syn keyword lispFunc case least-positive-normalized-single-float short-site-name193syn keyword lispFunc catch least-positive-short-float signal194syn keyword lispFunc ccase least-positive-single-float signed-byte195syn keyword lispFunc cdr length signum196syn keyword lispFunc ceiling let simple-array197syn keyword lispFunc cell-error let* simple-base-string198syn keyword lispFunc cell-error-name lisp simple-bit-vector199syn keyword lispFunc cerror lisp-implementation-type simple-bit-vector-p200syn keyword lispFunc change-class lisp-implementation-version simple-condition201syn keyword lispFunc char list simple-condition-format-arguments202syn keyword lispFunc char< list* simple-condition-format-control203syn keyword lispFunc char<= list-all-packages simple-error204syn keyword lispFunc char= listen simple-string205syn keyword lispFunc char> list-length simple-string-p206syn keyword lispFunc char>= listp simple-type-error207syn keyword lispFunc char/= load simple-vector208syn keyword lispFunc character load-logical-pathname-translations simple-vector-p209syn keyword lispFunc characterp load-time-value simple-warning210syn keyword lispFunc char-bit locally sin211syn keyword lispFunc char-bits log single-flaot-epsilon212syn keyword lispFunc char-bits-limit logand single-float213syn keyword lispFunc char-code logandc1 single-float-epsilon214syn keyword lispFunc char-code-limit logandc2 single-float-negative-epsilon215syn keyword lispFunc char-control-bit logbitp sinh216syn keyword lispFunc char-downcase logcount sixth217syn keyword lispFunc char-equal logeqv sleep218syn keyword lispFunc char-font logical-pathname slot-boundp219syn keyword lispFunc char-font-limit logical-pathname-translations slot-exists-p220syn keyword lispFunc char-greaterp logior slot-makunbound221syn keyword lispFunc char-hyper-bit lognand slot-missing222syn keyword lispFunc char-int lognor slot-unbound223syn keyword lispFunc char-lessp lognot slot-value224syn keyword lispFunc char-meta-bit logorc1 software-type225syn keyword lispFunc char-name logorc2 software-version226syn keyword lispFunc char-not-equal logtest some227syn keyword lispFunc char-not-greaterp logxor sort228syn keyword lispFunc char-not-lessp long-float space229syn keyword lispFunc char-super-bit long-float-epsilon special230syn keyword lispFunc char-upcase long-float-negative-epsilon special-form-p231syn keyword lispFunc check-type long-site-name special-operator-p232syn keyword lispFunc cis loop speed233syn keyword lispFunc class loop-finish sqrt234syn keyword lispFunc class-name lower-case-p stable-sort235syn keyword lispFunc class-of machine-instance standard236syn keyword lispFunc clear-input machine-type standard-char237syn keyword lispFunc clear-output machine-version standard-char-p238syn keyword lispFunc close macroexpand standard-class239syn keyword lispFunc clrhash macroexpand-1 standard-generic-function240syn keyword lispFunc code-char macroexpand-l standard-method241syn keyword lispFunc coerce macro-function standard-object242syn keyword lispFunc commonp macrolet step243syn keyword lispFunc compilation-speed make-array storage-condition244syn keyword lispFunc compile make-array store-value245syn keyword lispFunc compiled-function make-broadcast-stream stream246syn keyword lispFunc compiled-function-p make-char stream-element-type247syn keyword lispFunc compile-file make-concatenated-stream stream-error248syn keyword lispFunc compile-file-pathname make-condition stream-error-stream249syn keyword lispFunc compiler-let make-dispatch-macro-character stream-external-format250syn keyword lispFunc compiler-macro make-echo-stream streamp251syn keyword lispFunc compiler-macro-function make-hash-table streamup252syn keyword lispFunc complement make-instance string253syn keyword lispFunc complex make-instances-obsolete string<254syn keyword lispFunc complexp make-list string<=255syn keyword lispFunc compute-applicable-methods make-load-form string=256syn keyword lispFunc compute-restarts make-load-form-saving-slots string>257syn keyword lispFunc concatenate make-method string>=258syn keyword lispFunc concatenated-stream make-package string/=259syn keyword lispFunc concatenated-stream-streams make-pathname string-capitalize260syn keyword lispFunc cond make-random-state string-char261syn keyword lispFunc condition make-sequence string-char-p262syn keyword lispFunc conjugate make-string string-downcase263syn keyword lispFunc cons make-string-input-stream string-equal264syn keyword lispFunc consp make-string-output-stream string-greaterp265syn keyword lispFunc constantly make-symbol string-left-trim266syn keyword lispFunc constantp make-synonym-stream string-lessp267syn keyword lispFunc continue make-two-way-stream string-not-equal268syn keyword lispFunc control-error makunbound string-not-greaterp269syn keyword lispFunc copy-alist map string-not-lessp270syn keyword lispFunc copy-list mapc stringp271syn keyword lispFunc copy-pprint-dispatch mapcan string-right-strim272syn keyword lispFunc copy-readtable mapcar string-right-trim273syn keyword lispFunc copy-seq mapcon string-stream274syn keyword lispFunc copy-structure maphash string-trim275syn keyword lispFunc copy-symbol map-into string-upcase276syn keyword lispFunc copy-tree mapl structure277syn keyword lispFunc cos maplist structure-class278syn keyword lispFunc cosh mask-field structure-object279syn keyword lispFunc count max style-warning280syn keyword lispFunc count-if member sublim281syn keyword lispFunc count-if-not member-if sublis282syn keyword lispFunc ctypecase member-if-not subseq283syn keyword lispFunc debug merge subsetp284syn keyword lispFunc decf merge-pathname subst285syn keyword lispFunc declaim merge-pathnames subst-if286syn keyword lispFunc declaration method subst-if-not287syn keyword lispFunc declare method-combination substitute288syn keyword lispFunc decode-float method-combination-error substitute-if289syn keyword lispFunc decode-universal-time method-qualifiers substitute-if-not290syn keyword lispFunc defclass min subtypep291syn keyword lispFunc defconstant minusp svref292syn keyword lispFunc defgeneric mismatch sxhash293syn keyword lispFunc define-compiler-macro mod symbol294syn keyword lispFunc define-condition most-negative-double-float symbol-function295syn keyword lispFunc define-method-combination most-negative-fixnum symbol-macrolet296syn keyword lispFunc define-modify-macro most-negative-long-float symbol-name297syn keyword lispFunc define-setf-expander most-negative-short-float symbolp298syn keyword lispFunc define-setf-method most-negative-single-float symbol-package299syn keyword lispFunc define-symbol-macro most-positive-double-float symbol-plist300syn keyword lispFunc defmacro most-positive-fixnum symbol-value301syn keyword lispFunc defmethod most-positive-long-float synonym-stream302syn keyword lispFunc defpackage most-positive-short-float synonym-stream-symbol303syn keyword lispFunc defparameter most-positive-single-float sys304syn keyword lispFunc defsetf muffle-warning system305syn keyword lispFunc defstruct multiple-value-bind t306syn keyword lispFunc deftype multiple-value-call tagbody307syn keyword lispFunc defun multiple-value-list tailp308syn keyword lispFunc defvar multiple-value-prog1 tan309syn keyword lispFunc delete multiple-value-seteq tanh310syn keyword lispFunc delete-duplicates multiple-value-setq tenth311syn keyword lispFunc delete-file multiple-values-limit terpri312syn keyword lispFunc delete-if name-char the313syn keyword lispFunc delete-if-not namestring third314syn keyword lispFunc delete-package nbutlast throw315syn keyword lispFunc denominator nconc time316syn keyword lispFunc deposit-field next-method-p trace317syn keyword lispFunc describe nil translate-logical-pathname318syn keyword lispFunc describe-object nintersection translate-pathname319syn keyword lispFunc destructuring-bind ninth tree-equal320syn keyword lispFunc digit-char no-applicable-method truename321syn keyword lispFunc digit-char-p no-next-method truncase322syn keyword lispFunc directory not truncate323syn keyword lispFunc directory-namestring notany two-way-stream324syn keyword lispFunc disassemble notevery two-way-stream-input-stream325syn keyword lispFunc division-by-zero notinline two-way-stream-output-stream326syn keyword lispFunc do nreconc type327syn keyword lispFunc do* nreverse typecase328syn keyword lispFunc do-all-symbols nset-difference type-error329syn keyword lispFunc documentation nset-exclusive-or type-error-datum330syn keyword lispFunc do-exeternal-symbols nstring type-error-expected-type331syn keyword lispFunc do-external-symbols nstring-capitalize type-of332syn keyword lispFunc dolist nstring-downcase typep333syn keyword lispFunc do-symbols nstring-upcase unbound-slot334syn keyword lispFunc dotimes nsublis unbound-slot-instance335syn keyword lispFunc double-float nsubst unbound-variable336syn keyword lispFunc double-float-epsilon nsubst-if undefined-function337syn keyword lispFunc double-float-negative-epsilon nsubst-if-not unexport338syn keyword lispFunc dpb nsubstitute unintern339syn keyword lispFunc dribble nsubstitute-if union340syn keyword lispFunc dynamic-extent nsubstitute-if-not unless341syn keyword lispFunc ecase nth unread342syn keyword lispFunc echo-stream nthcdr unread-char343syn keyword lispFunc echo-stream-input-stream nth-value unsigned-byte344syn keyword lispFunc echo-stream-output-stream null untrace345syn keyword lispFunc ed number unuse-package346syn keyword lispFunc eighth numberp unwind-protect347syn keyword lispFunc elt numerator update-instance-for-different-class348syn keyword lispFunc encode-universal-time nunion update-instance-for-redefined-class349syn keyword lispFunc end-of-file oddp upgraded-array-element-type350syn keyword lispFunc endp open upgraded-complex-part-type351syn keyword lispFunc enough-namestring open-stream-p upper-case-p352syn keyword lispFunc ensure-directories-exist optimize use-package353syn keyword lispFunc ensure-generic-function or user354syn keyword lispFunc eq otherwise user-homedir-pathname355syn keyword lispFunc eql output-stream-p use-value356syn keyword lispFunc equal package values357syn keyword lispFunc equalp package-error values-list358syn keyword lispFunc error package-error-package variable359syn keyword lispFunc etypecase package-name vector360syn keyword lispFunc eval package-nicknames vectorp361syn keyword lispFunc evalhook packagep vector-pop362syn keyword lispFunc eval-when package-shadowing-symbols vector-push363syn keyword lispFunc evenp package-used-by-list vector-push-extend364syn keyword lispFunc every package-use-list warn365syn keyword lispFunc exp pairlis warning366syn keyword lispFunc export parse-error when367syn keyword lispFunc expt parse-integer wild-pathname-p368syn keyword lispFunc extended-char parse-namestring with-accessors369syn keyword lispFunc fboundp pathname with-compilation-unit370syn keyword lispFunc fceiling pathname-device with-condition-restarts371syn keyword lispFunc fdefinition pathname-directory with-hash-table-iterator372syn keyword lispFunc ffloor pathname-host with-input-from-string373syn keyword lispFunc fifth pathname-match-p with-open-file374syn keyword lispFunc file-author pathname-name with-open-stream375syn keyword lispFunc file-error pathnamep with-output-to-string376syn keyword lispFunc file-error-pathname pathname-type with-package-iterator377syn keyword lispFunc file-length pathname-version with-simple-restart378syn keyword lispFunc file-namestring peek-char with-slots379syn keyword lispFunc file-position phase with-standard-io-syntax380syn keyword lispFunc file-stream pi write381syn keyword lispFunc file-string-length plusp write-byte382syn keyword lispFunc file-write-date pop write-char383syn keyword lispFunc fill position write-line384syn keyword lispFunc fill-pointer position-if write-sequence385syn keyword lispFunc find position-if-not write-string386syn keyword lispFunc find-all-symbols pprint write-to-string387syn keyword lispFunc find-class pprint-dispatch yes-or-no-p388syn keyword lispFunc find-if pprint-exit-if-list-exhausted y-or-n-p389syn keyword lispFunc find-if-not pprint-fill zerop390 391syn match lispFunc "\<c[ad]\+r\>"392if exists("g:lispsyntax_clisp")393 " CLISP FFI:394 syn match lispFunc "\<\(ffi:\)\?with-c-\(place\|var\)\>"395 syn match lispFunc "\<\(ffi:\)\?with-foreign-\(object\|string\)\>"396 syn match lispFunc "\<\(ffi:\)\?default-foreign-\(language\|library\)\>"397 syn match lispFunc "\<\([us]_\?\)\?\(element\|deref\|cast\|slot\|validp\)\>"398 syn match lispFunc "\<\(ffi:\)\?set-foreign-pointer\>"399 syn match lispFunc "\<\(ffi:\)\?allocate-\(deep\|shallow\)\>"400 syn match lispFunc "\<\(ffi:\)\?c-lines\>"401 syn match lispFunc "\<\(ffi:\)\?foreign-\(value\|free\|variable\|function\|object\)\>"402 syn match lispFunc "\<\(ffi:\)\?foreign-address\(-null\|unsigned\)\?\>"403 syn match lispFunc "\<\(ffi:\)\?undigned-foreign-address\>"404 syn match lispFunc "\<\(ffi:\)\?c-var-\(address\|object\)\>"405 syn match lispFunc "\<\(ffi:\)\?typeof\>"406 syn match lispFunc "\<\(ffi:\)\?\(bit\)\?sizeof\>"407" CLISP Macros, functions et al:408 syn match lispFunc "\<\(ext:\)\?with-collect\>"409 syn match lispFunc "\<\(ext:\)\?letf\*\?\>"410 syn match lispFunc "\<\(ext:\)\?finalize\>\>"411 syn match lispFunc "\<\(ext:\)\?memoized\>"412 syn match lispFunc "\<\(ext:\)\?getenv\>"413 syn match lispFunc "\<\(ext:\)\?convert-string-\(to\|from\)-bytes\>"414 syn match lispFunc "\<\(ext:\)\?ethe\>"415 syn match lispFunc "\<\(ext:\)\?with-gensyms\>"416 syn match lispFunc "\<\(ext:\)\?open-http\>"417 syn match lispFunc "\<\(ext:\)\?string-concat\>"418 syn match lispFunc "\<\(ext:\)\?with-http-\(in\|out\)put\>"419 syn match lispFunc "\<\(ext:\)\?with-html-output\>"420 syn match lispFunc "\<\(ext:\)\?expand-form\>"421 syn match lispFunc "\<\(ext:\)\?\(without-\)\?package-lock\>"422 syn match lispFunc "\<\(ext:\)\?re-export\>"423 syn match lispFunc "\<\(ext:\)\?saveinitmem\>"424 syn match lispFunc "\<\(ext:\)\?\(read\|write\)-\(integer\|float\)\>"425 syn match lispFunc "\<\(ext:\)\?\(read\|write\)-\(char\|byte\)-sequence\>"426 syn match lispFunc "\<\(custom:\)\?\*system-package-list\*\>"427 syn match lispFunc "\<\(custom:\)\?\*ansi\*\>"428endif429 430" ---------------------------------------------------------------------431" Lisp Keywords (modifiers): {{{1432syn keyword lispKey :abort :from-end :overwrite433syn keyword lispKey :adjustable :gensym :predicate434syn keyword lispKey :append :host :preserve-whitespace435syn keyword lispKey :array :if-does-not-exist :pretty436syn keyword lispKey :base :if-exists :print437syn keyword lispKey :case :include :print-function438syn keyword lispKey :circle :index :probe439syn keyword lispKey :conc-name :inherited :radix440syn keyword lispKey :constructor :initial-contents :read-only441syn keyword lispKey :copier :initial-element :rehash-size442syn keyword lispKey :count :initial-offset :rehash-threshold443syn keyword lispKey :create :initial-value :rename444syn keyword lispKey :default :input :rename-and-delete445syn keyword lispKey :defaults :internal :size446syn keyword lispKey :device :io :start447syn keyword lispKey :direction :junk-allowed :start1448syn keyword lispKey :directory :key :start2449syn keyword lispKey :displaced-index-offset :length :stream450syn keyword lispKey :displaced-to :level :supersede451syn keyword lispKey :element-type :name :test452syn keyword lispKey :end :named :test-not453syn keyword lispKey :end1 :new-version :type454syn keyword lispKey :end2 :nicknames :use455syn keyword lispKey :error :output :verbose456syn keyword lispKey :escape :output-file :version457syn keyword lispKey :external458" defpackage arguments459syn keyword lispKey :documentation :shadowing-import-from :modern :export460syn keyword lispKey :case-sensitive :case-inverted :shadow :import-from :intern461" lambda list keywords462syn keyword lispKey &allow-other-keys &aux &body463syn keyword lispKey &environment &key &optional &rest &whole464" make-array argument465syn keyword lispKey :fill-pointer466" readtable-case values467syn keyword lispKey :upcase :downcase :preserve :invert468" eval-when situations469syn keyword lispKey :load-toplevel :compile-toplevel :execute470" ANSI Extended LOOP:471syn keyword lispKey :while :until :for :do :if :then :else :when :unless :in472syn keyword lispKey :across :finally :collect :nconc :maximize :minimize :sum473syn keyword lispKey :and :with :initially :append :into :count :end :repeat474syn keyword lispKey :always :never :thereis :from :to :upto :downto :below475syn keyword lispKey :above :by :on :being :each :the :hash-key :hash-keys476syn keyword lispKey :hash-value :hash-values :using :of-type :upfrom :downfrom477if exists("g:lispsyntax_clisp")478 " CLISP FFI:479 syn keyword lispKey :arguments :return-type :library :full :malloc-free480 syn keyword lispKey :none :alloca :in :out :in-out :stdc-stdcall :stdc :c481 syn keyword lispKey :language :built-in :typedef :external482 syn keyword lispKey :fini :init-once :init-always483endif484 485" ---------------------------------------------------------------------486" Standard Lisp Variables: {{{1487syn keyword lispVar *applyhook* *load-pathname* *print-pprint-dispatch*488syn keyword lispVar *break-on-signals* *load-print* *print-pprint-dispatch*489syn keyword lispVar *break-on-signals* *load-truename* *print-pretty*490syn keyword lispVar *break-on-warnings* *load-verbose* *print-radix*491syn keyword lispVar *compile-file-pathname* *macroexpand-hook* *print-readably*492syn keyword lispVar *compile-file-pathname* *modules* *print-right-margin*493syn keyword lispVar *compile-file-truename* *package* *print-right-margin*494syn keyword lispVar *compile-file-truename* *print-array* *query-io*495syn keyword lispVar *compile-print* *print-base* *random-state*496syn keyword lispVar *compile-verbose* *print-case* *read-base*497syn keyword lispVar *compile-verbose* *print-circle* *read-default-float-format*498syn keyword lispVar *debug-io* *print-escape* *read-eval*499syn keyword lispVar *debugger-hook* *print-gensym* *read-suppress*500syn keyword lispVar *default-pathname-defaults* *print-length* *readtable*501syn keyword lispVar *error-output* *print-level* *standard-input*502syn keyword lispVar *evalhook* *print-lines* *standard-output*503syn keyword lispVar *features* *print-miser-width* *terminal-io*504syn keyword lispVar *gensym-counter* *print-miser-width* *trace-output*505 506" ---------------------------------------------------------------------507" Strings: {{{1508syn region lispString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell509if exists("g:lisp_instring")510 syn region lispInString keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString511 syn region lispInStringString start=+\\"+ skip=+\\\\+ end=+\\"+ contained512endif513 514" ---------------------------------------------------------------------515" Shared with Xlisp, Declarations, Macros, Functions: {{{1516syn keyword lispDecl defmacro do-all-symbols labels517syn keyword lispDecl defsetf do-external-symbols let518syn keyword lispDecl deftype do-symbols locally519syn keyword lispDecl defun dotimes macrolet520syn keyword lispDecl do* flet multiple-value-bind521if exists("g:lispsyntax_clisp")522 " CLISP FFI:523 syn match lispDecl "\<\(ffi:\)\?def-c-\(var\|const\|enum\|type\|struct\)\>"524 syn match lispDecl "\<\(ffi:\)\?def-call-\(out\|in\)\>"525 syn match lispDecl "\<\(ffi:\)\?c-\(function\|struct\|pointer\|string\)\>"526 syn match lispDecl "\<\(ffi:\)\?c-ptr\(-null\)\?\>"527 syn match lispDecl "\<\(ffi:\)\?c-array\(-ptr\|-max\)\?\>"528 syn match lispDecl "\<\(ffi:\)\?[us]\?\(char\|short\|int\|long\)\>"529 syn match lispDecl "\<\(win32:\|w32\)\?d\?word\>"530 syn match lispDecl "\<\([us]_\?\)\?int\(8\|16\|32\|64\)\(_t\)\?\>"531 syn keyword lispDecl size_t off_t time_t handle532endif533 534" ---------------------------------------------------------------------535" Numbers: supporting integers and floating point numbers {{{1536syn match lispNumber "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([dDeEfFlL][-+]\=\d\+\)\="537syn match lispNumber "-\=\(\d\+/\d\+\)"538 539syn match lispEscapeSpecial "\*\w[a-z_0-9-]*\*"540syn match lispEscapeSpecial !#|[^()'`,"; \t]\+|#!541syn match lispEscapeSpecial !#x\x\+!542syn match lispEscapeSpecial !#o\o\+!543syn match lispEscapeSpecial !#b[01]\+!544syn match lispEscapeSpecial !#\\[ -}\~]!545syn match lispEscapeSpecial !#[':][^()'`,"; \t]\+!546syn match lispEscapeSpecial !#([^()'`,"; \t]\+)!547syn match lispEscapeSpecial !#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)!548syn match lispEscapeSpecial "\<+[a-zA-Z_][a-zA-Z_0-9-]*+\>"549 550syn match lispConcat "\s\.\s"551syn match lispParenError ")"552 553" ---------------------------------------------------------------------554" Comments: {{{1555syn cluster lispCommentGroup contains=lispTodo,@Spell556syn match lispComment ";.*$" contains=@lispCommentGroup557syn region lispCommentRegion start="#|" end="|#" contains=lispCommentRegion,@lispCommentGroup558syn region lispComment start="#+nil" end="\ze)" contains=@lispCommentGroup559syn match lispComment '^\s*#+nil.*$' contains=@lispCommentGroup560syn keyword lispTodo contained combak combak: todo todo:561 562" ---------------------------------------------------------------------563" Synchronization: {{{1564syn sync lines=100565 566" ---------------------------------------------------------------------567" Define Highlighting: {{{1568if !exists("skip_lisp_syntax_inits")569 570 hi def link lispCommentRegion lispComment571 hi def link lispAtomNmbr lispNumber572 hi def link lispAtomMark lispMark573 hi def link lispInStringString lispString574 575 hi def link lispAtom Identifier576 hi def link lispAtomBarSymbol Special577 hi def link lispBarSymbol Special578 hi def link lispComment Comment579 hi def link lispConcat Statement580 hi def link lispDecl Statement581 hi def link lispFunc Statement582 hi def link lispKey Type583 hi def link lispMark Delimiter584 hi def link lispNumber Number585 hi def link lispParenError Error586 hi def link lispEscapeSpecial Type587 hi def link lispString String588 hi def link lispTodo Todo589 hi def link lispVar Statement590 591 if exists("g:lisp_rainbow") && g:lisp_rainbow != 0592 if &bg == "dark"593 hi def hlLevel0 ctermfg=red guifg=red1594 hi def hlLevel1 ctermfg=yellow guifg=orange1595 hi def hlLevel2 ctermfg=green guifg=yellow1596 hi def hlLevel3 ctermfg=cyan guifg=greenyellow597 hi def hlLevel4 ctermfg=magenta guifg=green1598 hi def hlLevel5 ctermfg=red guifg=springgreen1599 hi def hlLevel6 ctermfg=yellow guifg=cyan1600 hi def hlLevel7 ctermfg=green guifg=slateblue1601 hi def hlLevel8 ctermfg=cyan guifg=magenta1602 hi def hlLevel9 ctermfg=magenta guifg=purple1603 else604 hi def hlLevel0 ctermfg=red guifg=red3605 hi def hlLevel1 ctermfg=darkyellow guifg=orangered3606 hi def hlLevel2 ctermfg=darkgreen guifg=orange2607 hi def hlLevel3 ctermfg=blue guifg=yellow3608 hi def hlLevel4 ctermfg=darkmagenta guifg=olivedrab4609 hi def hlLevel5 ctermfg=red guifg=green4610 hi def hlLevel6 ctermfg=darkyellow guifg=paleturquoise3611 hi def hlLevel7 ctermfg=darkgreen guifg=deepskyblue4612 hi def hlLevel8 ctermfg=blue guifg=darkslateblue613 hi def hlLevel9 ctermfg=darkmagenta guifg=darkviolet614 endif615 else616 hi def link lispParen Delimiter617 endif618 619endif620 621let b:current_syntax = "lisp"622 623" ---------------------------------------------------------------------624" vim: ts=8 nowrap fdm=marker625 