summaryrefslogtreecommitdiffstats
path: root/tl.vim
blob: 5e189a1333c86ad3bb978fa1f7b734dffa2521ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
" VIM Syntax file for txr
" Kaz Kylheku <kaz@kylheku.com>

" INSTALL-HOWTO:
"
" 1. Create the directory .vim/syntax in your home directory and
"    put the files txr.vim and txl.vim into this directory.
" 2. In your .vimrc, add this command to associate *.txr and *.tl
"    files with the txr and txl filetypes:
"    :au BufRead,BufNewFile *.txr set filetype=txr | set lisp
"    :au BufRead,BufNewFile *.tl set filetype=txl | set lisp
"
" If you want syntax highlighting to be on automatically (for any language)
" you need to add ":syntax on" in your .vimrc also. But you knew that already!
"
" This file is generated by the genvim.txr script in the TXR source tree.

syn case match
syn spell toplevel

setlocal iskeyword=a-z,A-Z,48-57,!,$,&,*,+,-,:,<,=,>,?,\\,_,~,/

syn keyword txl_keyword contained %e% %pi% * *args*
syn keyword txl_keyword contained *args-full* *e* *flo-dig* *flo-epsilon*
syn keyword txl_keyword contained *flo-max* *flo-min* *full-args* *gensym-counter*
syn keyword txl_keyword contained *keyword-package* *lib-version* *listener-hist-len* *listener-multi-line-p*
syn keyword txl_keyword contained *pi* *place-clobber-expander* *place-delete-expander* *place-macro*
syn keyword txl_keyword contained *place-update-expander* *print-base* *print-flo-digits* *print-flo-format*
syn keyword txl_keyword contained *print-flo-precision* *random-state* *self-path* *stddebug*
syn keyword txl_keyword contained *stderr* *stdin* *stdlog* *stdnull*
syn keyword txl_keyword contained *stdout* *system-package* *txr-version* *unhandled-hook*
syn keyword txl_keyword contained *user-package* + - /
syn keyword txl_keyword contained /= : :addr :append
syn keyword txl_keyword contained :args :atime :auto :blksize
syn keyword txl_keyword contained :blocks :cdigit :chars :continue
syn keyword txl_keyword contained :counter :cspace :ctime :cword-char
syn keyword txl_keyword contained :decline :dev :digit :downcase
syn keyword txl_keyword contained :env :equal-based :fd :filter
syn keyword txl_keyword contained :fini :finish :form :from-current
syn keyword txl_keyword contained :from-end :from-start :from_html :frombase64
syn keyword txl_keyword contained :fromhtml :frompercent :fromurl :fun
syn keyword txl_keyword contained :function :gap :gid :greedy
syn keyword txl_keyword contained :hextoint :init :ino :instance
syn keyword txl_keyword contained :into :lfilt :lines :list
syn keyword txl_keyword contained :longest :mandatory :maxgap :maxtimes
syn keyword txl_keyword contained :method :mingap :mintimes :mode
syn keyword txl_keyword contained :mtime :name :named :next-spec
syn keyword txl_keyword contained :nlink :nothrow :postinit :prio
syn keyword txl_keyword contained :rdev :real-time :reflect :repeat-spec
syn keyword txl_keyword contained :resolve :rfilt :shortest :size
syn keyword txl_keyword contained :space :static :string :symacro
syn keyword txl_keyword contained :times :to_html :tobase64 :tofloat
syn keyword txl_keyword contained :tohtml :tohtml* :toint :tonumber
syn keyword txl_keyword contained :topercent :tourl :uid :upcase
syn keyword txl_keyword contained :var :vars :weak-keys :weak-vals
syn keyword txl_keyword contained :whole :word-char :wrap <
syn keyword txl_keyword contained <= = > >=
syn keyword txl_keyword contained abort abs abs-path-p acons
syn keyword txl_keyword contained acons-new aconsql-new acos ado
syn keyword txl_keyword contained af-inet af-inet6 af-unix af-unspec
syn keyword txl_keyword contained ai-addrconfig ai-all ai-canonname ai-numerichost
syn keyword txl_keyword contained ai-numericserv ai-passive ai-v4mapped alist-nremove
syn keyword txl_keyword contained alist-remove all and andf
syn keyword txl_keyword contained ap apf append append*
syn keyword txl_keyword contained append-each append-each* apply aret
syn keyword txl_keyword contained ash asin assoc assql
syn keyword txl_keyword contained atan atan2 atom base64-decode
syn keyword txl_keyword contained base64-encode bignump bindable bit
syn keyword txl_keyword contained block block* boundp break-str
syn keyword txl_keyword contained butlast caaaaar caaaadr caaaar
syn keyword txl_keyword contained caaadar caaaddr caaadr caaar
syn keyword txl_keyword contained caadaar caadadr caadar caaddar
syn keyword txl_keyword contained caadddr caaddr caadr caar
syn keyword txl_keyword contained cadaaar cadaadr cadaar cadadar
syn keyword txl_keyword contained cadaddr cadadr cadar caddaar
syn keyword txl_keyword contained caddadr caddar cadddar caddddr
syn keyword txl_keyword contained cadddr caddr cadr call
syn keyword txl_keyword contained call-clobber-expander call-delete-expander call-finalizers call-super-fun
syn keyword txl_keyword contained call-super-method call-update-expander callf car
syn keyword txl_keyword contained caseq caseql casequal cat-str
syn keyword txl_keyword contained cat-streams cat-vec catch catenated-stream-p
syn keyword txl_keyword contained catenated-stream-push cdaaaar cdaaadr cdaaar
syn keyword txl_keyword contained cdaadar cdaaddr cdaadr cdaar
syn keyword txl_keyword contained cdadaar cdadadr cdadar cdaddar
syn keyword txl_keyword contained cdadddr cdaddr cdadr cdar
syn keyword txl_keyword contained cddaaar cddaadr cddaar cddadar
syn keyword txl_keyword contained cddaddr cddadr cddar cdddaar
syn keyword txl_keyword contained cdddadr cdddar cddddar cdddddr
syn keyword txl_keyword contained cddddr cdddr cddr cdr
syn keyword txl_keyword contained ceil chain chand chdir
syn keyword txl_keyword contained chmod chr-digit chr-int chr-isalnum
syn keyword txl_keyword contained chr-isalpha chr-isascii chr-isblank chr-iscntrl
syn keyword txl_keyword contained chr-isdigit chr-isgraph chr-islower chr-isprint
syn keyword txl_keyword contained chr-ispunct chr-isspace chr-isunisp chr-isupper
syn keyword txl_keyword contained chr-isxdigit chr-num chr-str chr-str-set
syn keyword txl_keyword contained chr-tolower chr-toupper chr-xdigit chrp
syn keyword txl_keyword contained clamp clear-error clear-struct close-stream
syn keyword txl_keyword contained closelog cmp-str collect-each collect-each*
syn keyword txl_keyword contained comb compl-span-str cond conda
syn keyword txl_keyword contained condlet cons conses conses*
syn keyword txl_keyword contained consp constantp copy copy-alist
syn keyword txl_keyword contained copy-cons copy-hash copy-list copy-str
syn keyword txl_keyword contained copy-struct copy-vec cos count-if
syn keyword txl_keyword contained countq countql countqual crypt
syn keyword txl_keyword contained cum-norm-dist daemon dec defex
syn keyword txl_keyword contained define-accessor define-modify-macro define-place-macro defmacro
syn keyword txl_keyword contained defmeth defparm defparml defplace
syn keyword txl_keyword contained defstruct defsymacro defun defvar
syn keyword txl_keyword contained defvarl del delay delete-package
syn keyword txl_keyword contained display-width do dohash dotimes
syn keyword txl_keyword contained downcase-str drop drop-until drop-while
syn keyword txl_keyword contained dup dupfd dwim each
syn keyword txl_keyword contained each* eighth empty endgrent
syn keyword txl_keyword contained endpwent ensure-dir env env-fbind
syn keyword txl_keyword contained env-hash env-vbind eq eql
syn keyword txl_keyword contained equal errno error eval
syn keyword txl_keyword contained evenp exception-subtype-p exec exit
syn keyword txl_keyword contained exit* exp expand-left expand-right
syn keyword txl_keyword contained expt exptmod false fboundp
syn keyword txl_keyword contained fifth fileno filter-equal filter-string-tree
syn keyword txl_keyword contained finalize find find-frame find-if
syn keyword txl_keyword contained find-max find-min find-package find-struct-type
syn keyword txl_keyword contained first fixnump flatcar flatcar*
syn keyword txl_keyword contained flatten flatten* flet flip
syn keyword txl_keyword contained flipargs flo-dig flo-epsilon flo-int
syn keyword txl_keyword contained flo-max flo-max-dig flo-min flo-str
syn keyword txl_keyword contained floatp floor flush-stream fmakunbound
syn keyword txl_keyword contained fmt fnm-casefold fnm-leading-dir fnm-noescape
syn keyword txl_keyword contained fnm-pathname fnm-period fnmatch for
syn keyword txl_keyword contained for* force fork format
syn keyword txl_keyword contained fourth from fstat ftw
syn keyword txl_keyword contained ftw-actionretval ftw-chdir ftw-continue ftw-d
syn keyword txl_keyword contained ftw-depth ftw-dnr ftw-dp ftw-f
syn keyword txl_keyword contained ftw-mount ftw-ns ftw-phys ftw-skip-siblings
syn keyword txl_keyword contained ftw-skip-subtree ftw-sl ftw-sln ftw-stop
syn keyword txl_keyword contained fun func-get-env func-get-form func-get-name
syn keyword txl_keyword contained func-set-env functionp gcd gen
syn keyword txl_keyword contained generate gensym gequal get-byte
syn keyword txl_keyword contained get-char get-clobber-expander get-delete-expander get-error
syn keyword txl_keyword contained get-error-str get-frames get-hash-userdata get-indent
syn keyword txl_keyword contained get-indent-mode get-line get-lines get-list-from-stream
syn keyword txl_keyword contained get-sig-handler get-string get-string-from-stream get-update-expander
syn keyword txl_keyword contained getaddrinfo getegid getenv geteuid
syn keyword txl_keyword contained getgid getgrent getgrgid getgrnam
syn keyword txl_keyword contained getgroups gethash getitimer getpid
syn keyword txl_keyword contained getppid getpwent getpwnam getpwuid
syn keyword txl_keyword contained getuid ginterate giterate glob
syn keyword txl_keyword contained glob-altdirfunc glob-brace glob-err glob-mark
syn keyword txl_keyword contained glob-nocheck glob-noescape glob-nomagic glob-nosort
syn keyword txl_keyword contained glob-onlydir glob-period glob-tilde glob-tilde-check
syn keyword txl_keyword contained greater group-by group-reduce gun
syn keyword txl_keyword contained handle handler-bind hash hash-alist
syn keyword txl_keyword contained hash-begin hash-construct hash-count hash-diff
syn keyword txl_keyword contained hash-eql hash-equal hash-from-pairs hash-isec
syn keyword txl_keyword contained hash-keys hash-list hash-next hash-pairs
syn keyword txl_keyword contained hash-proper-subset hash-revget hash-subset hash-uni
syn keyword txl_keyword contained hash-update hash-update-1 hash-values hashp
syn keyword txl_keyword contained have html-decode html-encode html-encode*
syn keyword txl_keyword contained iapply identity ido if
syn keyword txl_keyword contained ifa iff iffi iflet
syn keyword txl_keyword contained ignerr in in6addr-any in6addr-loopback
syn keyword txl_keyword contained inaddr-any inaddr-loopback inc inc-indent
syn keyword txl_keyword contained indent-code indent-data indent-off inhash
syn keyword txl_keyword contained int-chr int-flo int-str integerp
syn keyword txl_keyword contained intern interp-fun-p interpose invoke-catch
syn keyword txl_keyword contained ip ipf iread isqrt
syn keyword txl_keyword contained itimer-prov itimer-real itimer-virtual juxt
syn keyword txl_keyword contained keep-if keep-if* keyword-package keywordp
syn keyword txl_keyword contained kill labels lambda last
syn keyword txl_keyword contained lazy-str lazy-str-force lazy-str-force-upto lazy-str-get-trailing-list
syn keyword txl_keyword contained lazy-stream-cons lazy-stringp lcm lcons
syn keyword txl_keyword contained lcons-fun lconsp ldiff length
syn keyword txl_keyword contained length-list length-str length-str-< length-str-<=
syn keyword txl_keyword contained length-str-> length-str->= length-vec lequal
syn keyword txl_keyword contained less let let* lexical-fun-p
syn keyword txl_keyword contained lexical-lisp1-binding lexical-var-p lib-version link
syn keyword txl_keyword contained lisp-parse list list* list-str
syn keyword txl_keyword contained list-vec list-vector listp lnew
syn keyword txl_keyword contained load log log-alert log-auth
syn keyword txl_keyword contained log-authpriv log-cons log-crit log-daemon
syn keyword txl_keyword contained log-debug log-emerg log-err log-info
syn keyword txl_keyword contained log-ndelay log-notice log-nowait log-odelay
syn keyword txl_keyword contained log-perror log-pid log-user log-warning
syn keyword txl_keyword contained log10 log2 logand logior
syn keyword txl_keyword contained lognot logtest logtrunc logxor
syn keyword txl_keyword contained lset lstat mac-param-bind macro-ancestor
syn keyword txl_keyword contained macro-form-p macro-time macroexpand macroexpand-1
syn keyword txl_keyword contained macrolet major make-catenated-stream make-env
syn keyword txl_keyword contained make-hash make-lazy-cons make-lazy-struct make-like
syn keyword txl_keyword contained make-package make-random-state make-similar-hash make-string-byte-input-stream
syn keyword txl_keyword contained make-string-input-stream make-string-output-stream make-strlist-output-stream make-struct
syn keyword txl_keyword contained make-struct-type make-sym make-time make-time-utc
syn keyword txl_keyword contained make-trie makedev makunbound mapcar
syn keyword txl_keyword contained mapcar* mapdo mapf maphash
syn keyword txl_keyword contained mappend mappend* mask match-fun
syn keyword txl_keyword contained match-regex match-regex-right match-regst match-regst-right
syn keyword txl_keyword contained match-str match-str-tree max mboundp
syn keyword txl_keyword contained member member-if memq memql
syn keyword txl_keyword contained memqual merge meth method
syn keyword txl_keyword contained min minor minusp mkdir
syn keyword txl_keyword contained mknod mkstring mlet mmakunbound
syn keyword txl_keyword contained mod multi multi-sort n-choose-k
syn keyword txl_keyword contained n-perm-k nconc new nexpand-left
syn keyword txl_keyword contained nil nilf ninth none
syn keyword txl_keyword contained not notf nreconc nreverse
syn keyword txl_keyword contained nthcdr null nullify num-chr
syn keyword txl_keyword contained num-str numberp oand obtain
syn keyword txl_keyword contained obtain* obtain*-block obtain-block oddp
syn keyword txl_keyword contained op open-command open-directory open-file
syn keyword txl_keyword contained open-fileno open-files open-files* open-pipe
syn keyword txl_keyword contained open-process open-socket open-socket-pair open-tail
syn keyword txl_keyword contained openlog opip or orf
syn keyword txl_keyword contained package-alist package-name package-symbols packagep
syn keyword txl_keyword contained pad partition partition* partition-by
syn keyword txl_keyword contained path-blkdev-p path-chrdev-p path-dir-p path-executable-to-me-p
syn keyword txl_keyword contained path-exists-p path-file-p path-mine-p path-my-group-p
syn keyword txl_keyword contained path-newer path-older path-pipe-p path-private-to-me-p
syn keyword txl_keyword contained path-same-object path-setgid-p path-setuid-p path-sock-p
syn keyword txl_keyword contained path-sticky-p path-symlink-p path-writable-to-me-p perm
syn keyword txl_keyword contained pipe place-form-p placelet placelet*
syn keyword txl_keyword contained plusp poll poll-err poll-in
syn keyword txl_keyword contained poll-nval poll-out poll-pri poll-rdband
syn keyword txl_keyword contained poll-wrband pop pos pos-if
syn keyword txl_keyword contained pos-max pos-min posq posql
syn keyword txl_keyword contained posqual pppred ppred pprinl
syn keyword txl_keyword contained pprint pprof pred prinl
syn keyword txl_keyword contained print prof prog1 progn
syn keyword txl_keyword contained promisep prop proper-list-p proper-listp
syn keyword txl_keyword contained pset push pushhash pushnew
syn keyword txl_keyword contained put-byte put-char put-line put-lines
syn keyword txl_keyword contained put-string put-strings pwd qquote
syn keyword txl_keyword contained qref quote raise rand
syn keyword txl_keyword contained random random-fixnum random-state-get-vec random-state-p
syn keyword txl_keyword contained range range* range-regex rangep
syn keyword txl_keyword contained rcomb rcons read read-until-match
syn keyword txl_keyword contained readlink real-time-stream-p record-adapter reduce-left
syn keyword txl_keyword contained reduce-right ref refset regex-compile
syn keyword txl_keyword contained regex-parse regexp register-exception-subtypes regsub
syn keyword txl_keyword contained rehome-sym remhash remove-if remove-if*
syn keyword txl_keyword contained remove-path remq remq* remql
syn keyword txl_keyword contained remql* remqual remqual* rename-path
syn keyword txl_keyword contained repeat replace replace-list replace-str
syn keyword txl_keyword contained replace-struct replace-vec reset-struct rest
syn keyword txl_keyword contained ret retf return return*
syn keyword txl_keyword contained return-from revappend reverse rfind
syn keyword txl_keyword contained rfind-if rlcp rlet rmember
syn keyword txl_keyword contained rmember-if rmemq rmemql rmemqual
syn keyword txl_keyword contained rotate rperm rplaca rplacd
syn keyword txl_keyword contained rpos rpos-if rposq rposql
syn keyword txl_keyword contained rposqual rsearch run s-ifblk
syn keyword txl_keyword contained s-ifchr s-ifdir s-ififo s-iflnk
syn keyword txl_keyword contained s-ifmt s-ifreg s-ifsock s-irgrp
syn keyword txl_keyword contained s-iroth s-irusr s-irwxg s-irwxo
syn keyword txl_keyword contained s-irwxu s-isgid s-isuid s-isvtx
syn keyword txl_keyword contained s-iwgrp s-iwoth s-iwusr s-ixgrp
syn keyword txl_keyword contained s-ixoth s-ixusr search search-regex
syn keyword txl_keyword contained search-regst search-str search-str-tree second
syn keyword txl_keyword contained seek-stream select self-path seqp
syn keyword txl_keyword contained set set-diff set-hash-userdata set-indent
syn keyword txl_keyword contained set-indent-mode set-sig-handler setegid setenv
syn keyword txl_keyword contained seteuid setgid setgrent sethash
syn keyword txl_keyword contained setitimer setlogmask setpwent setuid
syn keyword txl_keyword contained seventh sh shift shuffle
syn keyword txl_keyword contained shut-rd shut-rdwr shut-wr sig-abrt
syn keyword txl_keyword contained sig-alrm sig-bus sig-check sig-chld
syn keyword txl_keyword contained sig-cont sig-fpe sig-hup sig-ill
syn keyword txl_keyword contained sig-int sig-io sig-iot sig-kill
syn keyword txl_keyword contained sig-pipe sig-poll sig-prof sig-pwr
syn keyword txl_keyword contained sig-quit sig-segv sig-stkflt sig-stop
syn keyword txl_keyword contained sig-sys sig-term sig-trap sig-tstp
syn keyword txl_keyword contained sig-ttin sig-ttou sig-urg sig-usr1
syn keyword txl_keyword contained sig-usr2 sig-vtalrm sig-winch sig-xcpu
syn keyword txl_keyword contained sig-xfsz sign-extend sin sixth
syn keyword txl_keyword contained size-vec slot slotp slotset
syn keyword txl_keyword contained sock-accept sock-bind sock-cloexec sock-connect
syn keyword txl_keyword contained sock-dgram sock-family sock-listen sock-nonblock
syn keyword txl_keyword contained sock-peer sock-recv-timeout sock-send-timeout sock-set-peer
syn keyword txl_keyword contained sock-shutdown sock-stream sock-type some
syn keyword txl_keyword contained sort sort-group source-loc source-loc-str
syn keyword txl_keyword contained span-str special-operator-p special-var-p splice
syn keyword txl_keyword contained split split* split-str split-str-set
syn keyword txl_keyword contained sqrt sssucc ssucc stat
syn keyword txl_keyword contained static-slot static-slot-ensure static-slot-p static-slot-set
syn keyword txl_keyword contained stdlib str-in6addr str-in6addr-net str-inaddr
syn keyword txl_keyword contained str-inaddr-net str< str<= str=
syn keyword txl_keyword contained str> str>= stream-get-prop stream-set-prop
syn keyword txl_keyword contained streamp string-extend string-lt stringp
syn keyword txl_keyword contained struct-type struct-type-p structp sub
syn keyword txl_keyword contained sub-list sub-str sub-vec subtypep
syn keyword txl_keyword contained succ super super-method suspend
syn keyword txl_keyword contained swap symacrolet symbol-function symbol-macro
syn keyword txl_keyword contained symbol-name symbol-package symbol-value symbolp
syn keyword txl_keyword contained symlink sys:*lisp1* sys:abscond* sys:abscond-from
syn keyword txl_keyword contained sys:apply sys:bad-slot-syntax sys:capture-cont sys:cp-origin
syn keyword txl_keyword contained sys:defmeth sys:do-path-test sys:dwim-del sys:dwim-set
syn keyword txl_keyword contained sys:eval-err sys:expand sys:expr sys:fbind
syn keyword txl_keyword contained sys:gc sys:gc-set-delta sys:get-fb sys:get-mb
syn keyword txl_keyword contained sys:get-vb sys:handle-bad-syntax sys:if-to-cond sys:in6addr-condensed-text
syn keyword txl_keyword contained sys:l1-setq sys:l1-val sys:lbind sys:lisp1-setq
syn keyword txl_keyword contained sys:lisp1-value sys:load sys:make-struct-type sys:mark-special
syn keyword txl_keyword contained sys:obtain-impl sys:path-access sys:path-examine sys:path-test
syn keyword txl_keyword contained sys:path-test-mode sys:pl-expand sys:placelet-1 sys:prune-nil-inits
syn keyword txl_keyword contained sys:qquote sys:quasi sys:quasilist sys:reg-expand-nongreedy
syn keyword txl_keyword contained sys:reg-optimize sys:register-simple-accessor sys:rplaca sys:rplacd
syn keyword txl_keyword contained sys:set-macro-ancestor sys:setq sys:setqf sys:splice
syn keyword txl_keyword contained sys:str-inaddr-net-impl sys:struct-lit sys:sym-clobber-expander sys:sym-delete-expander
syn keyword txl_keyword contained sys:sym-update-expander sys:top-fb sys:top-mb sys:top-vb
syn keyword txl_keyword contained sys:unquote sys:var sys:with-saved-vars syslog
syn keyword txl_keyword contained system-package t take take-until
syn keyword txl_keyword contained take-while tan tb tc
syn keyword txl_keyword contained tenth test-set-indent-mode tf third
syn keyword txl_keyword contained throw throwf time time-fields-local
syn keyword txl_keyword contained time-fields-utc time-string-local time-string-utc time-struct-local
syn keyword txl_keyword contained time-struct-utc time-usec to tofloat
syn keyword txl_keyword contained toint tok-str tok-where tostring
syn keyword txl_keyword contained tostringp tprint transpose tree-bind
syn keyword txl_keyword contained tree-case tree-find trie-add trie-compress
syn keyword txl_keyword contained trie-lookup-begin trie-lookup-feed-char trie-value-at trim-str
syn keyword txl_keyword contained true trunc trunc-rem truncate-stream
syn keyword txl_keyword contained tuples txr-case txr-case-impl txr-if
syn keyword txl_keyword contained txr-sym txr-version txr-when typecase
syn keyword txl_keyword contained typeof typep umask umeth
syn keyword txl_keyword contained umethod unget-byte unget-char uniq
syn keyword txl_keyword contained unique unless unquote unsetenv
syn keyword txl_keyword contained until until* unwind-protect upcase-str
syn keyword txl_keyword contained update url-decode url-encode use
syn keyword txl_keyword contained user-package usl usleep uslot
syn keyword txl_keyword contained vec vec-list vec-push vec-set-length
syn keyword txl_keyword contained vecref vector vector-list vectorp
syn keyword txl_keyword contained w-continued w-coredump w-exitstatus w-ifcontinued
syn keyword txl_keyword contained w-ifexited w-ifsignaled w-ifstopped w-nohang
syn keyword txl_keyword contained w-stopsig w-termsig w-untraced wait
syn keyword txl_keyword contained weave when whenlet where
syn keyword txl_keyword contained while while* whilet width
syn keyword txl_keyword contained width-check window-map window-mappend with-clobber-expander
syn keyword txl_keyword contained with-delete-expander with-gensyms with-hash-iter with-in-string-byte-stream
syn keyword txl_keyword contained with-in-string-stream with-objects with-out-string-stream with-out-strlist-stream
syn keyword txl_keyword contained with-resources with-slots with-stream with-update-expander
syn keyword txl_keyword contained wrap wrap* yield yield-from
syn keyword txl_keyword contained zap zerop zip
syn match txr_nested_error "[^\t ]\+" contained
syn match txr_variable "\(@[ \t]*\)[*]\?[ \t]*[A-Za-z_][A-Za-z_0-9]*"
syn match txr_splicevar "@[ \t,*@]*[A-Za-z_][A-Za-z_0-9]*" contained
syn match txr_metanum "@\+[0-9]\+"
syn match txr_badesc "\\." contained
syn match txr_escat "\\@" contained
syn match txr_stresc "\\[abtnvfre\\ \n"`']" contained
syn match txr_numesc "\\x[0-9A-Fa-f]\+;\?" contained
syn match txr_numesc "\\[0-7]\+;\?" contained
syn match txr_regesc "\\[abtnvfre\\ \n/sSdDwW()\|.*?+~&%\[\]\-]" contained

syn match txr_chr "#\\x[0-9A-Fa-f]\+"
syn match txr_chr "#\\o[0-7]\+"
syn match txr_chr "#\\[^ \t\nA-Za-z_0-9]"
syn match txr_chr "#\\[A-Za-z_0-9]\+"
syn match txr_ncomment ";.*"

syn match txr_dot "\." contained
syn match txr_num "#x[+\-]\?[0-9A-Fa-f]\+"
syn match txr_num "#o[+\-]\?[0-7]\+"
syn match txr_num "#b[+\-]\?[01]\+"
syn match txr_ident "[A-Za-z_0-9!$%&*+\-<=>?\\_~]*[A-Za-z_!$%&*+\-<=>?\\_~^][A-Za-z_0-9!$%&*+\-<=>?\\_~^]*" contained
syn match txl_ident "[:@][A-Za-z_0-9!$%&*+\-<=>?\\_~^/]\+"
syn match txr_braced_ident "[:][A-Za-z_0-9!$%&*+\-<=>?\\_~^/]\+" contained
syn match txl_ident "[A-Za-z_0-9!$%&*+\-<=>?\\_~/]*[A-Za-z_!$%&*+\-<=>?\\_~^/#][A-Za-z_0-9!$%&*+\-<=>?\\_~^/#]*"
syn match txr_num "[+\-]\?[0-9]\+\([^A-Za-z_0-9!$%&*+\-<=>?\\_~^/#]\|\n\)"me=e-1
syn match txr_badnum "[+\-]\?[0-9]*[.][0-9]\+\([eE][+\-]\?[0-9]\+\)\?[A-Za-z_!$%&*+\-<=>?\\_~^/#]\+"
syn match txr_num "[+\-]\?[0-9]*[.][0-9]\+\([eE][+\-]\?[0-9]\+\)\?\([^A-Za-z_0-9!$%&*+\-<=>?\\_~^/#]\|\n\)"me=e-1
syn match txr_num "[+\-]\?[0-9]\+\([eE][+\-]\?[0-9]\+\)\([^A-Za-z_0-9!$%&*+\-<=>?\\_~^/#]\|\n\)"me=e-1
syn match txl_ident ":"
syn match txl_splice "[ \t,]\|,[*]"

syn match txr_unquote "," contained
syn match txr_splice ",\*" contained
syn match txr_quote "'" contained
syn match txr_quote "\^" contained
syn match txr_dotdot "\.\." contained
syn match txr_metaat "@" contained

syn region txr_bracevar matchgroup=Delimiter start="@[ \t]*[*]\?{" matchgroup=Delimiter end="}" contains=txr_num,txl_ident,txl_splice,txl_metanum,txr_metaat,txr_braced_ident,txr_dot,txr_dotdot,txr_string,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_regex,txr_quasilit,txr_chr,txl_splice,txr_nested_error
syn region txr_list matchgroup=Delimiter start="#\?H\?(" matchgroup=Delimiter end=")" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_bracket matchgroup=Delimiter start="\[" matchgroup=Delimiter end="\]" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_mlist matchgroup=Delimiter start="@[ \t^',]*(" matchgroup=Delimiter end=")" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_mbracket matchgroup=Delimiter start="@[ \t^',]*\[" matchgroup=Delimiter end="\]" contains=txl_keyword,txr_string,txl_regex,txr_num,txr_badnum,txl_ident,txr_metanum,txr_list,txr_bracket,txr_mlist,txr_mbracket,txr_quasilit,txr_chr,txr_quote,txr_unquote,txr_splice,txr_dot,txr_dotdot,txr_metaat,txr_ncomment,txr_nested_error
syn region txr_string start=+#\?\*\?"+ end=+["\n]+ contains=txr_stresc,txr_numesc,txr_badesc
syn region txr_quasilit start=+#\?\*\?`+ end=+[`\n]+ contains=txr_splicevar,txr_metanum,txr_bracevar,txr_mlist,txr_mbracket,txr_escat,txr_stresc,txr_numesc,txr_badesc
syn region txr_regex start="/" end="[/\n]" contains=txr_regesc,txr_numesc,txr_badesc
syn region txl_regex start="#/" end="[/\n]" contains=txr_regesc,txr_numesc,txr_badesc

hi def link txr_at Special
hi def link txr_atstar Special
hi def link txr_atat Special
hi def link txr_comment Comment
hi def link txr_ncomment Comment
hi def link txr_hashbang Preproc
hi def link txr_contin Preproc
hi def link txr_char String
hi def link txr_keyword Keyword
hi def link txl_keyword Type
hi def link txr_string String
hi def link txr_chr String
hi def link txr_quasilit String
hi def link txr_regex String
hi def link txl_regex String
hi def link txr_regdir String
hi def link txr_variable Identifier
hi def link txr_splicevar Identifier
hi def link txr_metanum Identifier
hi def link txr_escat Special
hi def link txr_stresc Special
hi def link txr_numesc Special
hi def link txr_regesc Special
hi def link txr_badesc Error
hi def link txr_ident Identifier
hi def link txl_ident Identifier
hi def link txr_num Number
hi def link txr_badnum Error
hi def link txr_quote Special
hi def link txr_unquote Special
hi def link txr_splice Special
hi def link txr_dot Special
hi def link txr_dotdot Special
hi def link txr_metaat Special
hi def link txr_munqspl Special
hi def link txl_splice Special
hi def link txr_error Error
hi def link txr_nested_error Error

let b:current_syntax = "lisp"

set lispwords=ado,ap,append-each,append-each*,aret,block,block*,caseq,caseql,casequal,catch,collect-each,collect-each*,cond,conda,condlet,dec,defex,define-accessor,define-modify-macro,define-place-macro,defmacro,defmeth,defparm,defparml,defplace,defstruct,defsymacro,defun,defvar,defvarl,del,delay,do,dohash,dotimes,each,each*,flet,flip,for,for*,fun,gen,gun,handle,handler-bind,ido,if,ifa,iflet,ignerr,ip,labels,lambda,lcons,let,let*,load,lset,mac-param-bind,macro-time,macrolet,mlet,obtain,obtain*,obtain*-block,obtain-block,op,placelet,placelet*,pop,pprof,prof,prog1,progn,push,pushnew,ret,return,return-from,rlet,splice,suspend,symacrolet,sys:abscond-from,sys:expr,sys:fbind,sys:l1-val,sys:lbind,sys:lisp1-value,sys:path-examine,sys:path-test,sys:placelet-1,sys:splice,sys:struct-lit,sys:unquote,sys:var,sys:with-saved-vars,tb,tc,tree-bind,tree-case,txr-case,txr-case-impl,txr-if,txr-when,typecase,unless,unquote,until,until*,unwind-protect,when,whenlet,while,while*,whilet,with-clobber-expander,with-delete-expander,with-gensyms,with-hash-iter,with-in-string-byte-stream,with-in-string-stream,with-objects,with-out-string-stream,with-out-strlist-stream,with-resources,with-slots,with-stream,with-update-expander,yield,yield-from,zap,:method,:function,:init,:postinit,:fini