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