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