xref: /vim-8.2.3635/runtime/syntax/lisp.vim (revision 519cc559)
1071d4279SBram Moolenaar" Vim syntax file
2071d4279SBram Moolenaar" Language:    Lisp
31d9215b9SBram Moolenaar" Maintainer:  Charles E. Campbell <[email protected]>
4*519cc559SBram Moolenaar" Last Change: Nov 10, 2021
5*519cc559SBram Moolenaar" Version:     31
6e2719096SBram Moolenaar" URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP
7071d4279SBram Moolenaar"
8e2719096SBram Moolenaar"  Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec
98c8de839SBram Moolenaar"  Clisp additions courtesy of http://clisp.cvs.sourceforge.net/*checkout*/clisp/clisp/emacs/lisp.vim
10071d4279SBram Moolenaar
11a5792f58SBram Moolenaar" ---------------------------------------------------------------------
12af289d33SBram Moolenaar"  Load Once: {{{1
13e2719096SBram Moolenaarif exists("b:current_syntax")
14071d4279SBram Moolenaar finish
15071d4279SBram Moolenaarendif
16071d4279SBram Moolenaar
17e2719096SBram Moolenaarif exists("g:lisp_isk")
18e2719096SBram Moolenaar exe "setl isk=".g:lisp_isk
19723dd946SBram Moolenaarelseif (v:version == 704 && has("patch-7.4.1142")) || v:version > 704
2013d5aeefSBram Moolenaar syn iskeyword 38,42,43,45,47-58,60-62,64-90,97-122,_
21723dd946SBram Moolenaarelse
22723dd946SBram Moolenaar setl isk=38,42,43,45,47-58,60-62,64-90,97-122,_
238c8de839SBram Moolenaarendif
248c8de839SBram Moolenaar
258c8de839SBram Moolenaarif exists("g:lispsyntax_ignorecase") || exists("g:lispsyntax_clisp")
268c8de839SBram Moolenaar set ignorecase
27071d4279SBram Moolenaarendif
28071d4279SBram Moolenaar
29a5792f58SBram Moolenaar" ---------------------------------------------------------------------
30af289d33SBram Moolenaar" Clusters: {{{1
31071d4279SBram Moolenaarsyn cluster			lispAtomCluster		contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite
3281af9250SBram Moolenaarsyn cluster			lispBaseListCluster	contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispEscapeSpecial,lispSymbol,lispVar,lispLeadWhite
33af289d33SBram Moolenaarif exists("g:lisp_instring")
34af289d33SBram Moolenaar syn cluster			lispListCluster		contains=@lispBaseListCluster,lispString,lispInString,lispInStringString
35af289d33SBram Moolenaarelse
36af289d33SBram Moolenaar syn cluster			lispListCluster		contains=@lispBaseListCluster,lispString
37af289d33SBram Moolenaarendif
38071d4279SBram Moolenaar
39c81e5e79SBram Moolenaarsyn case ignore
40c81e5e79SBram Moolenaar
41a5792f58SBram Moolenaar" ---------------------------------------------------------------------
42af289d33SBram Moolenaar" Lists: {{{1
43071d4279SBram Moolenaarsyn match lispSymbol	contained	![^()'`,"; \t]\+!
44071d4279SBram Moolenaarsyn match lispBarSymbol	contained	!|..\{-}|!
45af289d33SBram Moolenaarif exists("g:lisp_rainbow") && g:lisp_rainbow != 0
46af289d33SBram Moolenaar syn region lispParen0           matchgroup=hlLevel0 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen1
47af289d33SBram Moolenaar syn region lispParen1 contained matchgroup=hlLevel1 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen2
48af289d33SBram Moolenaar syn region lispParen2 contained matchgroup=hlLevel2 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen3
49af289d33SBram Moolenaar syn region lispParen3 contained matchgroup=hlLevel3 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen4
50af289d33SBram Moolenaar syn region lispParen4 contained matchgroup=hlLevel4 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen5
51af289d33SBram Moolenaar syn region lispParen5 contained matchgroup=hlLevel5 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen6
52af289d33SBram Moolenaar syn region lispParen6 contained matchgroup=hlLevel6 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen7
53af289d33SBram Moolenaar syn region lispParen7 contained matchgroup=hlLevel7 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen8
54af289d33SBram Moolenaar syn region lispParen8 contained matchgroup=hlLevel8 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen9
55af289d33SBram Moolenaar syn region lispParen9 contained matchgroup=hlLevel9 start="`\=(" end=")" skip="|.\{-}|" contains=@lispListCluster,lispParen0
56071d4279SBram Moolenaarelse
5785850f3aSBram Moolenaar syn region lispList		matchgroup=lispParen start="("   skip="|.\{-}|"		matchgroup=lispParen end=")"	contains=@lispListCluster
58af289d33SBram Moolenaar syn region lispBQList		matchgroup=PreProc   start="`("  skip="|.\{-}|"		matchgroup=PreProc   end=")"	contains=@lispListCluster
59071d4279SBram Moolenaarendif
60af289d33SBram Moolenaar
61a5792f58SBram Moolenaar" ---------------------------------------------------------------------
62af289d33SBram Moolenaar" Atoms: {{{1
63071d4279SBram Moolenaarsyn match lispAtomMark		"'"
64071d4279SBram Moolenaarsyn match lispAtom		"'("me=e-1			contains=lispAtomMark	nextgroup=lispAtomList
65071d4279SBram Moolenaarsyn match lispAtom		"'[^ \t()]\+"			contains=lispAtomMark
66071d4279SBram Moolenaarsyn match lispAtomBarSymbol	!'|..\{-}|!			contains=lispAtomMark
67071d4279SBram Moolenaarsyn region lispAtom		start=+'"+			skip=+\\"+ end=+"+
6881af9250SBram Moolenaarsyn region lispAtomList		contained			matchgroup=Special start="("	skip="|.\{-}|" matchgroup=Special end=")"	contains=@lispAtomCluster,lispString,lispEscapeSpecial
69071d4279SBram Moolenaarsyn match lispAtomNmbr		contained			"\<\d\+"
70071d4279SBram Moolenaarsyn match lispLeadWhite		contained			"^\s\+"
71071d4279SBram Moolenaar
72a5792f58SBram Moolenaar" ---------------------------------------------------------------------
73af289d33SBram Moolenaar" Standard Lisp Functions and Macros: {{{1
7451ad4eaaSBram Moolenaarsyn keyword lispFunc		<				find-method				pprint-indent
7551ad4eaaSBram Moolenaarsyn keyword lispFunc		<=				find-package				pprint-linear
7651ad4eaaSBram Moolenaarsyn keyword lispFunc		=				find-restart				pprint-logical-block
7751ad4eaaSBram Moolenaarsyn keyword lispFunc		>				find-symbol				pprint-newline
7851ad4eaaSBram Moolenaarsyn keyword lispFunc		>=				finish-output				pprint-pop
7951ad4eaaSBram Moolenaarsyn keyword lispFunc		-				first					pprint-tab
8051ad4eaaSBram Moolenaarsyn keyword lispFunc		/				fixnum					pprint-tabular
8151ad4eaaSBram Moolenaarsyn keyword lispFunc		/=				flet					prin1
82071d4279SBram Moolenaarsyn keyword lispFunc		//				float					prin1-to-string
83071d4279SBram Moolenaarsyn keyword lispFunc		///				float-digits				princ
8451ad4eaaSBram Moolenaarsyn keyword lispFunc		*				floating-point-inexact			princ-to-string
8551ad4eaaSBram Moolenaarsyn keyword lispFunc		**				floating-point-invalid-operation	print
8651ad4eaaSBram Moolenaarsyn keyword lispFunc		***				floating-point-overflow			print-not-readable
8751ad4eaaSBram Moolenaarsyn keyword lispFunc		+				floating-point-underflow		print-not-readable-object
8851ad4eaaSBram Moolenaarsyn keyword lispFunc		++				floatp					print-object
8951ad4eaaSBram Moolenaarsyn keyword lispFunc		+++				float-precision				print-unreadable-object
9051ad4eaaSBram Moolenaarsyn keyword lispFunc		1-				float-radix				probe-file
9151ad4eaaSBram Moolenaarsyn keyword lispFunc		1+				float-sign				proclaim
92071d4279SBram Moolenaarsyn keyword lispFunc		abort				floor					prog
93071d4279SBram Moolenaarsyn keyword lispFunc		abs				fmakunbound				prog*
94071d4279SBram Moolenaarsyn keyword lispFunc		access				force-output				prog1
95071d4279SBram Moolenaarsyn keyword lispFunc		acons				format					prog2
96071d4279SBram Moolenaarsyn keyword lispFunc		acos				formatter				progn
97071d4279SBram Moolenaarsyn keyword lispFunc		acosh				fourth					program-error
98071d4279SBram Moolenaarsyn keyword lispFunc		add-method			fresh-line				progv
99071d4279SBram Moolenaarsyn keyword lispFunc		adjoin				fround					provide
10051ad4eaaSBram Moolenaarsyn keyword lispFunc		adjustable-array-p		ftruncate				psetf
10151ad4eaaSBram Moolenaarsyn keyword lispFunc		adjust-array			ftype					psetq
102071d4279SBram Moolenaarsyn keyword lispFunc		allocate-instance		funcall					push
103071d4279SBram Moolenaarsyn keyword lispFunc		alpha-char-p			function				pushnew
104071d4279SBram Moolenaarsyn keyword lispFunc		alphanumericp			function-keywords			putprop
105071d4279SBram Moolenaarsyn keyword lispFunc		and				function-lambda-expression		quote
106071d4279SBram Moolenaarsyn keyword lispFunc		append				functionp				random
107071d4279SBram Moolenaarsyn keyword lispFunc		apply				gbitp					random-state
108071d4279SBram Moolenaarsyn keyword lispFunc		applyhook			gcd					random-state-p
109071d4279SBram Moolenaarsyn keyword lispFunc		apropos				generic-function			rassoc
110071d4279SBram Moolenaarsyn keyword lispFunc		apropos-list			gensym					rassoc-if
111071d4279SBram Moolenaarsyn keyword lispFunc		aref				gentemp					rassoc-if-not
112071d4279SBram Moolenaarsyn keyword lispFunc		arithmetic-error		get					ratio
113071d4279SBram Moolenaarsyn keyword lispFunc		arithmetic-error-operands	get-decoded-time			rational
114071d4279SBram Moolenaarsyn keyword lispFunc		arithmetic-error-operation	get-dispatch-macro-character		rationalize
11551ad4eaaSBram Moolenaarsyn keyword lispFunc		array				getf					rationalp
11651ad4eaaSBram Moolenaarsyn keyword lispFunc		array-dimension			gethash					read
11751ad4eaaSBram Moolenaarsyn keyword lispFunc		array-dimension-limit		get-internal-real-time			read-byte
11851ad4eaaSBram Moolenaarsyn keyword lispFunc		array-dimensions		get-internal-run-time			read-char
11951ad4eaaSBram Moolenaarsyn keyword lispFunc		array-displacement		get-macro-character			read-char-no-hang
12051ad4eaaSBram Moolenaarsyn keyword lispFunc		array-element-type		get-output-stream-string		read-delimited-list
12151ad4eaaSBram Moolenaarsyn keyword lispFunc		array-has-fill-pointer-p	get-properties				reader-error
12251ad4eaaSBram Moolenaarsyn keyword lispFunc		array-in-bounds-p		get-setf-expansion			read-eval-print
12351ad4eaaSBram Moolenaarsyn keyword lispFunc		arrayp				get-setf-method				read-from-string
12451ad4eaaSBram Moolenaarsyn keyword lispFunc		array-rank			get-universal-time			read-line
12551ad4eaaSBram Moolenaarsyn keyword lispFunc		array-rank-limit		go					read-preserving-whitespace
12651ad4eaaSBram Moolenaarsyn keyword lispFunc		array-row-major-index		graphic-char-p				read-sequence
12751ad4eaaSBram Moolenaarsyn keyword lispFunc		array-total-size		handler-bind				readtable
12851ad4eaaSBram Moolenaarsyn keyword lispFunc		array-total-size-limit		handler-case				readtable-case
129071d4279SBram Moolenaarsyn keyword lispFunc		ash				hash-table				readtablep
130071d4279SBram Moolenaarsyn keyword lispFunc		asin				hash-table-count			real
131071d4279SBram Moolenaarsyn keyword lispFunc		asinh				hash-table-p				realp
132071d4279SBram Moolenaarsyn keyword lispFunc		assert				hash-table-rehash-size			realpart
133071d4279SBram Moolenaarsyn keyword lispFunc		assoc				hash-table-rehash-threshold		reduce
134071d4279SBram Moolenaarsyn keyword lispFunc		assoc-if			hash-table-size				reinitialize-instance
135071d4279SBram Moolenaarsyn keyword lispFunc		assoc-if-not			hash-table-test				rem
136071d4279SBram Moolenaarsyn keyword lispFunc		atan				host-namestring				remf
137071d4279SBram Moolenaarsyn keyword lispFunc		atanh				identity				remhash
138071d4279SBram Moolenaarsyn keyword lispFunc		atom				if					remove
139071d4279SBram Moolenaarsyn keyword lispFunc		base-char			if-exists				remove-duplicates
140071d4279SBram Moolenaarsyn keyword lispFunc		base-string			ignorable				remove-if
141071d4279SBram Moolenaarsyn keyword lispFunc		bignum				ignore					remove-if-not
142071d4279SBram Moolenaarsyn keyword lispFunc		bit				ignore-errors				remove-method
143071d4279SBram Moolenaarsyn keyword lispFunc		bit-and				imagpart				remprop
144071d4279SBram Moolenaarsyn keyword lispFunc		bit-andc1			import					rename-file
14551ad4eaaSBram Moolenaarsyn keyword lispFunc		bit-andc2			incf					rename-package
14651ad4eaaSBram Moolenaarsyn keyword lispFunc		bit-eqv				initialize-instance			replace
14751ad4eaaSBram Moolenaarsyn keyword lispFunc		bit-ior				inline					require
14851ad4eaaSBram Moolenaarsyn keyword lispFunc		bit-nand			in-package				rest
14951ad4eaaSBram Moolenaarsyn keyword lispFunc		bit-nor				in-package				restart
150071d4279SBram Moolenaarsyn keyword lispFunc		bit-not				input-stream-p				restart-bind
151071d4279SBram Moolenaarsyn keyword lispFunc		bit-orc1			inspect					restart-case
152071d4279SBram Moolenaarsyn keyword lispFunc		bit-orc2			int-char				restart-name
153071d4279SBram Moolenaarsyn keyword lispFunc		bit-vector			integer					return
154071d4279SBram Moolenaarsyn keyword lispFunc		bit-vector-p			integer-decode-float			return-from
155071d4279SBram Moolenaarsyn keyword lispFunc		bit-xor				integer-length				revappend
156071d4279SBram Moolenaarsyn keyword lispFunc		block				integerp				reverse
157071d4279SBram Moolenaarsyn keyword lispFunc		boole				interactive-stream-p			room
158071d4279SBram Moolenaarsyn keyword lispFunc		boole-1				intern					rotatef
159071d4279SBram Moolenaarsyn keyword lispFunc		boole-2				internal-time-units-per-second		round
16051ad4eaaSBram Moolenaarsyn keyword lispFunc		boolean				intersection				row-major-aref
16151ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-and			invalid-method-error			rplaca
16251ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-andc1			invoke-debugger				rplacd
16351ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-andc2			invoke-restart				safety
16451ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-c1			invoke-restart-interactively		satisfies
16551ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-c2			isqrt					sbit
16651ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-clr			keyword					scale-float
16751ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-eqv			keywordp				schar
16851ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-ior			labels					search
16951ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-nand			lambda					second
17051ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-nor			lambda-list-keywords			sequence
17151ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-orc1			lambda-parameters-limit			serious-condition
17251ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-orc2			last					set
17351ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-set			lcm					set-char-bit
17451ad4eaaSBram Moolenaarsyn keyword lispFunc		boole-xor			ldb					set-difference
175071d4279SBram Moolenaarsyn keyword lispFunc		both-case-p			ldb-test				set-dispatch-macro-character
176071d4279SBram Moolenaarsyn keyword lispFunc		boundp				ldiff					set-exclusive-or
17751ad4eaaSBram Moolenaarsyn keyword lispFunc		break				least-negative-double-float		setf
17851ad4eaaSBram Moolenaarsyn keyword lispFunc		broadcast-stream		least-negative-long-float		set-macro-character
17951ad4eaaSBram Moolenaarsyn keyword lispFunc		broadcast-stream-streams	least-negative-normalized-double-float	set-pprint-dispatch
18051ad4eaaSBram Moolenaarsyn keyword lispFunc		built-in-class			least-negative-normalized-long-float	setq
18151ad4eaaSBram Moolenaarsyn keyword lispFunc		butlast				least-negative-normalized-short-float	set-syntax-from-char
182071d4279SBram Moolenaarsyn keyword lispFunc		byte				least-negative-normalized-single-float	seventh
183071d4279SBram Moolenaarsyn keyword lispFunc		byte-position			least-negative-short-float		shadow
184071d4279SBram Moolenaarsyn keyword lispFunc		byte-size			least-negative-single-float		shadowing-import
185071d4279SBram Moolenaarsyn keyword lispFunc		call-arguments-limit		least-positive-double-float		shared-initialize
186071d4279SBram Moolenaarsyn keyword lispFunc		call-method			least-positive-long-float		shiftf
187071d4279SBram Moolenaarsyn keyword lispFunc		call-next-method		least-positive-normalized-double-float	short-float
188071d4279SBram Moolenaarsyn keyword lispFunc		capitalize			least-positive-normalized-long-float	short-float-epsilon
189071d4279SBram Moolenaarsyn keyword lispFunc		car				least-positive-normalized-short-float	short-float-negative-epsilon
190071d4279SBram Moolenaarsyn keyword lispFunc		case				least-positive-normalized-single-float	short-site-name
191071d4279SBram Moolenaarsyn keyword lispFunc		catch				least-positive-short-float		signal
192071d4279SBram Moolenaarsyn keyword lispFunc		ccase				least-positive-single-float		signed-byte
193071d4279SBram Moolenaarsyn keyword lispFunc		cdr				length					signum
19451ad4eaaSBram Moolenaarsyn keyword lispFunc		ceiling				let					simple-array
19551ad4eaaSBram Moolenaarsyn keyword lispFunc		cell-error			let*					simple-base-string
19651ad4eaaSBram Moolenaarsyn keyword lispFunc		cell-error-name			lisp					simple-bit-vector
19751ad4eaaSBram Moolenaarsyn keyword lispFunc		cerror				lisp-implementation-type		simple-bit-vector-p
19851ad4eaaSBram Moolenaarsyn keyword lispFunc		change-class			lisp-implementation-version		simple-condition
199071d4279SBram Moolenaarsyn keyword lispFunc		char				list					simple-condition-format-arguments
20051ad4eaaSBram Moolenaarsyn keyword lispFunc		char<				list*					simple-condition-format-control
20151ad4eaaSBram Moolenaarsyn keyword lispFunc		char<=				list-all-packages			simple-error
20251ad4eaaSBram Moolenaarsyn keyword lispFunc		char=				listen					simple-string
20351ad4eaaSBram Moolenaarsyn keyword lispFunc		char>				list-length				simple-string-p
20451ad4eaaSBram Moolenaarsyn keyword lispFunc		char>=				listp					simple-type-error
20551ad4eaaSBram Moolenaarsyn keyword lispFunc		char/=				load					simple-vector
20651ad4eaaSBram Moolenaarsyn keyword lispFunc		character			load-logical-pathname-translations	simple-vector-p
20751ad4eaaSBram Moolenaarsyn keyword lispFunc		characterp			load-time-value				simple-warning
20851ad4eaaSBram Moolenaarsyn keyword lispFunc		char-bit			locally					sin
20951ad4eaaSBram Moolenaarsyn keyword lispFunc		char-bits			log					single-flaot-epsilon
21051ad4eaaSBram Moolenaarsyn keyword lispFunc		char-bits-limit			logand					single-float
21151ad4eaaSBram Moolenaarsyn keyword lispFunc		char-code			logandc1				single-float-epsilon
21251ad4eaaSBram Moolenaarsyn keyword lispFunc		char-code-limit			logandc2				single-float-negative-epsilon
21351ad4eaaSBram Moolenaarsyn keyword lispFunc		char-control-bit		logbitp					sinh
21451ad4eaaSBram Moolenaarsyn keyword lispFunc		char-downcase			logcount				sixth
21551ad4eaaSBram Moolenaarsyn keyword lispFunc		char-equal			logeqv					sleep
21651ad4eaaSBram Moolenaarsyn keyword lispFunc		char-font			logical-pathname			slot-boundp
21751ad4eaaSBram Moolenaarsyn keyword lispFunc		char-font-limit			logical-pathname-translations		slot-exists-p
21851ad4eaaSBram Moolenaarsyn keyword lispFunc		char-greaterp			logior					slot-makunbound
21951ad4eaaSBram Moolenaarsyn keyword lispFunc		char-hyper-bit			lognand					slot-missing
22051ad4eaaSBram Moolenaarsyn keyword lispFunc		char-int			lognor					slot-unbound
22151ad4eaaSBram Moolenaarsyn keyword lispFunc		char-lessp			lognot					slot-value
22251ad4eaaSBram Moolenaarsyn keyword lispFunc		char-meta-bit			logorc1					software-type
22351ad4eaaSBram Moolenaarsyn keyword lispFunc		char-name			logorc2					software-version
22451ad4eaaSBram Moolenaarsyn keyword lispFunc		char-not-equal			logtest					some
22551ad4eaaSBram Moolenaarsyn keyword lispFunc		char-not-greaterp		logxor					sort
22651ad4eaaSBram Moolenaarsyn keyword lispFunc		char-not-lessp			long-float				space
22751ad4eaaSBram Moolenaarsyn keyword lispFunc		char-super-bit			long-float-epsilon			special
22851ad4eaaSBram Moolenaarsyn keyword lispFunc		char-upcase			long-float-negative-epsilon		special-form-p
229071d4279SBram Moolenaarsyn keyword lispFunc		check-type			long-site-name				special-operator-p
230071d4279SBram Moolenaarsyn keyword lispFunc		cis				loop					speed
231071d4279SBram Moolenaarsyn keyword lispFunc		class				loop-finish				sqrt
232071d4279SBram Moolenaarsyn keyword lispFunc		class-name			lower-case-p				stable-sort
233071d4279SBram Moolenaarsyn keyword lispFunc		class-of			machine-instance			standard
234071d4279SBram Moolenaarsyn keyword lispFunc		clear-input			machine-type				standard-char
235071d4279SBram Moolenaarsyn keyword lispFunc		clear-output			machine-version				standard-char-p
23651ad4eaaSBram Moolenaarsyn keyword lispFunc		close				macroexpand				standard-class
23751ad4eaaSBram Moolenaarsyn keyword lispFunc		clrhash				macroexpand-1				standard-generic-function
23851ad4eaaSBram Moolenaarsyn keyword lispFunc		code-char			macroexpand-l				standard-method
23951ad4eaaSBram Moolenaarsyn keyword lispFunc		coerce				macro-function				standard-object
240071d4279SBram Moolenaarsyn keyword lispFunc		commonp				macrolet				step
241071d4279SBram Moolenaarsyn keyword lispFunc		compilation-speed		make-array				storage-condition
242071d4279SBram Moolenaarsyn keyword lispFunc		compile				make-array				store-value
24351ad4eaaSBram Moolenaarsyn keyword lispFunc		compiled-function		make-broadcast-stream			stream
24451ad4eaaSBram Moolenaarsyn keyword lispFunc		compiled-function-p		make-char				stream-element-type
24551ad4eaaSBram Moolenaarsyn keyword lispFunc		compile-file			make-concatenated-stream		stream-error
24651ad4eaaSBram Moolenaarsyn keyword lispFunc		compile-file-pathname		make-condition				stream-error-stream
247071d4279SBram Moolenaarsyn keyword lispFunc		compiler-let			make-dispatch-macro-character		stream-external-format
248071d4279SBram Moolenaarsyn keyword lispFunc		compiler-macro			make-echo-stream			streamp
249071d4279SBram Moolenaarsyn keyword lispFunc		compiler-macro-function		make-hash-table				streamup
250071d4279SBram Moolenaarsyn keyword lispFunc		complement			make-instance				string
25151ad4eaaSBram Moolenaarsyn keyword lispFunc		complex				make-instances-obsolete			string<
25251ad4eaaSBram Moolenaarsyn keyword lispFunc		complexp			make-list				string<=
25351ad4eaaSBram Moolenaarsyn keyword lispFunc		compute-applicable-methods	make-load-form				string=
25451ad4eaaSBram Moolenaarsyn keyword lispFunc		compute-restarts		make-load-form-saving-slots		string>
25551ad4eaaSBram Moolenaarsyn keyword lispFunc		concatenate			make-method				string>=
25651ad4eaaSBram Moolenaarsyn keyword lispFunc		concatenated-stream		make-package				string/=
25751ad4eaaSBram Moolenaarsyn keyword lispFunc		concatenated-stream-streams	make-pathname				string-capitalize
25851ad4eaaSBram Moolenaarsyn keyword lispFunc		cond				make-random-state			string-char
25951ad4eaaSBram Moolenaarsyn keyword lispFunc		condition			make-sequence				string-char-p
26051ad4eaaSBram Moolenaarsyn keyword lispFunc		conjugate			make-string				string-downcase
26151ad4eaaSBram Moolenaarsyn keyword lispFunc		cons				make-string-input-stream		string-equal
26251ad4eaaSBram Moolenaarsyn keyword lispFunc		consp				make-string-output-stream		string-greaterp
26351ad4eaaSBram Moolenaarsyn keyword lispFunc		constantly			make-symbol				string-left-trim
26451ad4eaaSBram Moolenaarsyn keyword lispFunc		constantp			make-synonym-stream			string-lessp
26551ad4eaaSBram Moolenaarsyn keyword lispFunc		continue			make-two-way-stream			string-not-equal
26651ad4eaaSBram Moolenaarsyn keyword lispFunc		control-error			makunbound				string-not-greaterp
26751ad4eaaSBram Moolenaarsyn keyword lispFunc		copy-alist			map					string-not-lessp
26851ad4eaaSBram Moolenaarsyn keyword lispFunc		copy-list			mapc					stringp
26951ad4eaaSBram Moolenaarsyn keyword lispFunc		copy-pprint-dispatch		mapcan					string-right-strim
27051ad4eaaSBram Moolenaarsyn keyword lispFunc		copy-readtable			mapcar					string-right-trim
27151ad4eaaSBram Moolenaarsyn keyword lispFunc		copy-seq			mapcon					string-stream
27251ad4eaaSBram Moolenaarsyn keyword lispFunc		copy-structure			maphash					string-trim
27351ad4eaaSBram Moolenaarsyn keyword lispFunc		copy-symbol			map-into				string-upcase
274071d4279SBram Moolenaarsyn keyword lispFunc		copy-tree			mapl					structure
275071d4279SBram Moolenaarsyn keyword lispFunc		cos				maplist					structure-class
276071d4279SBram Moolenaarsyn keyword lispFunc		cosh				mask-field				structure-object
277071d4279SBram Moolenaarsyn keyword lispFunc		count				max					style-warning
278071d4279SBram Moolenaarsyn keyword lispFunc		count-if			member					sublim
279071d4279SBram Moolenaarsyn keyword lispFunc		count-if-not			member-if				sublis
280071d4279SBram Moolenaarsyn keyword lispFunc		ctypecase			member-if-not				subseq
281071d4279SBram Moolenaarsyn keyword lispFunc		debug				merge					subsetp
282071d4279SBram Moolenaarsyn keyword lispFunc		decf				merge-pathname				subst
283071d4279SBram Moolenaarsyn keyword lispFunc		declaim				merge-pathnames				subst-if
284071d4279SBram Moolenaarsyn keyword lispFunc		declaration			method					subst-if-not
285071d4279SBram Moolenaarsyn keyword lispFunc		declare				method-combination			substitute
286071d4279SBram Moolenaarsyn keyword lispFunc		decode-float			method-combination-error		substitute-if
287071d4279SBram Moolenaarsyn keyword lispFunc		decode-universal-time		method-qualifiers			substitute-if-not
288071d4279SBram Moolenaarsyn keyword lispFunc		defclass			min					subtypep
289071d4279SBram Moolenaarsyn keyword lispFunc		defconstant			minusp					svref
290071d4279SBram Moolenaarsyn keyword lispFunc		defgeneric			mismatch				sxhash
291071d4279SBram Moolenaarsyn keyword lispFunc		define-compiler-macro		mod					symbol
292071d4279SBram Moolenaarsyn keyword lispFunc		define-condition		most-negative-double-float		symbol-function
293071d4279SBram Moolenaarsyn keyword lispFunc		define-method-combination	most-negative-fixnum			symbol-macrolet
294071d4279SBram Moolenaarsyn keyword lispFunc		define-modify-macro		most-negative-long-float		symbol-name
29551ad4eaaSBram Moolenaarsyn keyword lispFunc		define-setf-expander		most-negative-short-float		symbolp
29651ad4eaaSBram Moolenaarsyn keyword lispFunc		define-setf-method		most-negative-single-float		symbol-package
29751ad4eaaSBram Moolenaarsyn keyword lispFunc		define-symbol-macro		most-positive-double-float		symbol-plist
29851ad4eaaSBram Moolenaarsyn keyword lispFunc		defmacro			most-positive-fixnum			symbol-value
299071d4279SBram Moolenaarsyn keyword lispFunc		defmethod			most-positive-long-float		synonym-stream
300071d4279SBram Moolenaarsyn keyword lispFunc		defpackage			most-positive-short-float		synonym-stream-symbol
301071d4279SBram Moolenaarsyn keyword lispFunc		defparameter			most-positive-single-float		sys
302071d4279SBram Moolenaarsyn keyword lispFunc		defsetf				muffle-warning				system
303071d4279SBram Moolenaarsyn keyword lispFunc		defstruct			multiple-value-bind			t
304071d4279SBram Moolenaarsyn keyword lispFunc		deftype				multiple-value-call			tagbody
305071d4279SBram Moolenaarsyn keyword lispFunc		defun				multiple-value-list			tailp
306071d4279SBram Moolenaarsyn keyword lispFunc		defvar				multiple-value-prog1			tan
307071d4279SBram Moolenaarsyn keyword lispFunc		delete				multiple-value-seteq			tanh
308071d4279SBram Moolenaarsyn keyword lispFunc		delete-duplicates		multiple-value-setq			tenth
309071d4279SBram Moolenaarsyn keyword lispFunc		delete-file			multiple-values-limit			terpri
310071d4279SBram Moolenaarsyn keyword lispFunc		delete-if			name-char				the
311071d4279SBram Moolenaarsyn keyword lispFunc		delete-if-not			namestring				third
312071d4279SBram Moolenaarsyn keyword lispFunc		delete-package			nbutlast				throw
313071d4279SBram Moolenaarsyn keyword lispFunc		denominator			nconc					time
314071d4279SBram Moolenaarsyn keyword lispFunc		deposit-field			next-method-p				trace
315071d4279SBram Moolenaarsyn keyword lispFunc		describe			nil					translate-logical-pathname
316071d4279SBram Moolenaarsyn keyword lispFunc		describe-object			nintersection				translate-pathname
317071d4279SBram Moolenaarsyn keyword lispFunc		destructuring-bind		ninth					tree-equal
318071d4279SBram Moolenaarsyn keyword lispFunc		digit-char			no-applicable-method			truename
319071d4279SBram Moolenaarsyn keyword lispFunc		digit-char-p			no-next-method				truncase
320071d4279SBram Moolenaarsyn keyword lispFunc		directory			not					truncate
321071d4279SBram Moolenaarsyn keyword lispFunc		directory-namestring		notany					two-way-stream
322071d4279SBram Moolenaarsyn keyword lispFunc		disassemble			notevery				two-way-stream-input-stream
323071d4279SBram Moolenaarsyn keyword lispFunc		division-by-zero		notinline				two-way-stream-output-stream
324071d4279SBram Moolenaarsyn keyword lispFunc		do				nreconc					type
32551ad4eaaSBram Moolenaarsyn keyword lispFunc		do*				nreverse				typecase
32651ad4eaaSBram Moolenaarsyn keyword lispFunc		do-all-symbols			nset-difference				type-error
32751ad4eaaSBram Moolenaarsyn keyword lispFunc		documentation			nset-exclusive-or			type-error-datum
32851ad4eaaSBram Moolenaarsyn keyword lispFunc		do-exeternal-symbols		nstring					type-error-expected-type
32951ad4eaaSBram Moolenaarsyn keyword lispFunc		do-external-symbols		nstring-capitalize			type-of
33051ad4eaaSBram Moolenaarsyn keyword lispFunc		dolist				nstring-downcase			typep
33151ad4eaaSBram Moolenaarsyn keyword lispFunc		do-symbols			nstring-upcase				unbound-slot
332071d4279SBram Moolenaarsyn keyword lispFunc		dotimes				nsublis					unbound-slot-instance
333071d4279SBram Moolenaarsyn keyword lispFunc		double-float			nsubst					unbound-variable
334071d4279SBram Moolenaarsyn keyword lispFunc		double-float-epsilon		nsubst-if				undefined-function
335071d4279SBram Moolenaarsyn keyword lispFunc		double-float-negative-epsilon	nsubst-if-not				unexport
336071d4279SBram Moolenaarsyn keyword lispFunc		dpb				nsubstitute				unintern
337071d4279SBram Moolenaarsyn keyword lispFunc		dribble				nsubstitute-if				union
338071d4279SBram Moolenaarsyn keyword lispFunc		dynamic-extent			nsubstitute-if-not			unless
339071d4279SBram Moolenaarsyn keyword lispFunc		ecase				nth					unread
34051ad4eaaSBram Moolenaarsyn keyword lispFunc		echo-stream			nthcdr					unread-char
34151ad4eaaSBram Moolenaarsyn keyword lispFunc		echo-stream-input-stream	nth-value				unsigned-byte
342071d4279SBram Moolenaarsyn keyword lispFunc		echo-stream-output-stream	null					untrace
343071d4279SBram Moolenaarsyn keyword lispFunc		ed				number					unuse-package
344071d4279SBram Moolenaarsyn keyword lispFunc		eighth				numberp					unwind-protect
345071d4279SBram Moolenaarsyn keyword lispFunc		elt				numerator				update-instance-for-different-class
346071d4279SBram Moolenaarsyn keyword lispFunc		encode-universal-time		nunion					update-instance-for-redefined-class
347071d4279SBram Moolenaarsyn keyword lispFunc		end-of-file			oddp					upgraded-array-element-type
348071d4279SBram Moolenaarsyn keyword lispFunc		endp				open					upgraded-complex-part-type
349071d4279SBram Moolenaarsyn keyword lispFunc		enough-namestring		open-stream-p				upper-case-p
350071d4279SBram Moolenaarsyn keyword lispFunc		ensure-directories-exist	optimize				use-package
35151ad4eaaSBram Moolenaarsyn keyword lispFunc		ensure-generic-function		or					user
35251ad4eaaSBram Moolenaarsyn keyword lispFunc		eq				otherwise				user-homedir-pathname
35351ad4eaaSBram Moolenaarsyn keyword lispFunc		eql				output-stream-p				use-value
354071d4279SBram Moolenaarsyn keyword lispFunc		equal				package					values
355071d4279SBram Moolenaarsyn keyword lispFunc		equalp				package-error				values-list
35651ad4eaaSBram Moolenaarsyn keyword lispFunc		error				package-error-package			variable
35751ad4eaaSBram Moolenaarsyn keyword lispFunc		etypecase			package-name				vector
35851ad4eaaSBram Moolenaarsyn keyword lispFunc		eval				package-nicknames			vectorp
35951ad4eaaSBram Moolenaarsyn keyword lispFunc		evalhook			packagep				vector-pop
36051ad4eaaSBram Moolenaarsyn keyword lispFunc		eval-when			package-shadowing-symbols		vector-push
36151ad4eaaSBram Moolenaarsyn keyword lispFunc		evenp				package-used-by-list			vector-push-extend
36251ad4eaaSBram Moolenaarsyn keyword lispFunc		every				package-use-list			warn
36351ad4eaaSBram Moolenaarsyn keyword lispFunc		exp				pairlis					warning
36451ad4eaaSBram Moolenaarsyn keyword lispFunc		export				parse-error				when
36551ad4eaaSBram Moolenaarsyn keyword lispFunc		expt				parse-integer				wild-pathname-p
36651ad4eaaSBram Moolenaarsyn keyword lispFunc		extended-char			parse-namestring			with-accessors
36751ad4eaaSBram Moolenaarsyn keyword lispFunc		fboundp				pathname				with-compilation-unit
36851ad4eaaSBram Moolenaarsyn keyword lispFunc		fceiling			pathname-device				with-condition-restarts
36951ad4eaaSBram Moolenaarsyn keyword lispFunc		fdefinition			pathname-directory			with-hash-table-iterator
37051ad4eaaSBram Moolenaarsyn keyword lispFunc		ffloor				pathname-host				with-input-from-string
37151ad4eaaSBram Moolenaarsyn keyword lispFunc		fifth				pathname-match-p			with-open-file
37251ad4eaaSBram Moolenaarsyn keyword lispFunc		file-author			pathname-name				with-open-stream
37351ad4eaaSBram Moolenaarsyn keyword lispFunc		file-error			pathnamep				with-output-to-string
37451ad4eaaSBram Moolenaarsyn keyword lispFunc		file-error-pathname		pathname-type				with-package-iterator
37551ad4eaaSBram Moolenaarsyn keyword lispFunc		file-length			pathname-version			with-simple-restart
37651ad4eaaSBram Moolenaarsyn keyword lispFunc		file-namestring			peek-char				with-slots
37751ad4eaaSBram Moolenaarsyn keyword lispFunc		file-position			phase					with-standard-io-syntax
37851ad4eaaSBram Moolenaarsyn keyword lispFunc		file-stream			pi					write
37951ad4eaaSBram Moolenaarsyn keyword lispFunc		file-string-length		plusp					write-byte
38051ad4eaaSBram Moolenaarsyn keyword lispFunc		file-write-date			pop					write-char
38151ad4eaaSBram Moolenaarsyn keyword lispFunc		fill				position				write-line
38251ad4eaaSBram Moolenaarsyn keyword lispFunc		fill-pointer			position-if				write-sequence
38351ad4eaaSBram Moolenaarsyn keyword lispFunc		find				position-if-not				write-string
38451ad4eaaSBram Moolenaarsyn keyword lispFunc		find-all-symbols		pprint					write-to-string
385071d4279SBram Moolenaarsyn keyword lispFunc		find-class			pprint-dispatch				yes-or-no-p
38651ad4eaaSBram Moolenaarsyn keyword lispFunc		find-if				pprint-exit-if-list-exhausted		y-or-n-p
38751ad4eaaSBram Moolenaarsyn keyword lispFunc		find-if-not			pprint-fill				zerop
388071d4279SBram Moolenaar
389071d4279SBram Moolenaarsyn match   lispFunc		"\<c[ad]\+r\>"
3908c8de839SBram Moolenaarif exists("g:lispsyntax_clisp")
3918c8de839SBram Moolenaar  " CLISP FFI:
3928c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?with-c-\(place\|var\)\>"
3938c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?with-foreign-\(object\|string\)\>"
3948c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?default-foreign-\(language\|library\)\>"
3958c8de839SBram Moolenaar  syn match lispFunc	"\<\([us]_\?\)\?\(element\|deref\|cast\|slot\|validp\)\>"
3968c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?set-foreign-pointer\>"
3978c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?allocate-\(deep\|shallow\)\>"
3988c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?c-lines\>"
3998c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?foreign-\(value\|free\|variable\|function\|object\)\>"
4008c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?foreign-address\(-null\|unsigned\)\?\>"
4018c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?undigned-foreign-address\>"
4028c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?c-var-\(address\|object\)\>"
4038c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?typeof\>"
4048c8de839SBram Moolenaar  syn match lispFunc	"\<\(ffi:\)\?\(bit\)\?sizeof\>"
4058c8de839SBram Moolenaar" CLISP Macros, functions et al:
4068c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?with-collect\>"
4078c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?letf\*\?\>"
4088c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?finalize\>\>"
4098c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?memoized\>"
4108c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?getenv\>"
4118c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?convert-string-\(to\|from\)-bytes\>"
4128c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?ethe\>"
4138c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?with-gensyms\>"
4148c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?open-http\>"
4158c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?string-concat\>"
4168c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?with-http-\(in\|out\)put\>"
4178c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?with-html-output\>"
4188c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?expand-form\>"
4198c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?\(without-\)\?package-lock\>"
4208c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?re-export\>"
4218c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?saveinitmem\>"
4228c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?\(read\|write\)-\(integer\|float\)\>"
4238c8de839SBram Moolenaar  syn match lispFunc	"\<\(ext:\)\?\(read\|write\)-\(char\|byte\)-sequence\>"
4248c8de839SBram Moolenaar  syn match lispFunc	"\<\(custom:\)\?\*system-package-list\*\>"
4258c8de839SBram Moolenaar  syn match lispFunc	"\<\(custom:\)\?\*ansi\*\>"
4268c8de839SBram Moolenaarendif
427071d4279SBram Moolenaar
428a5792f58SBram Moolenaar" ---------------------------------------------------------------------
429af289d33SBram Moolenaar" Lisp Keywords (modifiers): {{{1
430071d4279SBram Moolenaarsyn keyword lispKey		:abort				:from-end			:overwrite
431071d4279SBram Moolenaarsyn keyword lispKey		:adjustable			:gensym				:predicate
432071d4279SBram Moolenaarsyn keyword lispKey		:append				:host				:preserve-whitespace
433071d4279SBram Moolenaarsyn keyword lispKey		:array				:if-does-not-exist		:pretty
434071d4279SBram Moolenaarsyn keyword lispKey		:base				:if-exists			:print
435071d4279SBram Moolenaarsyn keyword lispKey		:case				:include			:print-function
436071d4279SBram Moolenaarsyn keyword lispKey		:circle				:index				:probe
437071d4279SBram Moolenaarsyn keyword lispKey		:conc-name			:inherited			:radix
438071d4279SBram Moolenaarsyn keyword lispKey		:constructor			:initial-contents		:read-only
439071d4279SBram Moolenaarsyn keyword lispKey		:copier				:initial-element		:rehash-size
440071d4279SBram Moolenaarsyn keyword lispKey		:count				:initial-offset			:rehash-threshold
441071d4279SBram Moolenaarsyn keyword lispKey		:create				:initial-value			:rename
442071d4279SBram Moolenaarsyn keyword lispKey		:default			:input				:rename-and-delete
443071d4279SBram Moolenaarsyn keyword lispKey		:defaults			:internal			:size
444071d4279SBram Moolenaarsyn keyword lispKey		:device				:io				:start
445071d4279SBram Moolenaarsyn keyword lispKey		:direction			:junk-allowed			:start1
446071d4279SBram Moolenaarsyn keyword lispKey		:directory			:key				:start2
447071d4279SBram Moolenaarsyn keyword lispKey		:displaced-index-offset		:length				:stream
448071d4279SBram Moolenaarsyn keyword lispKey		:displaced-to			:level				:supersede
449071d4279SBram Moolenaarsyn keyword lispKey		:element-type			:name				:test
450071d4279SBram Moolenaarsyn keyword lispKey		:end				:named				:test-not
451071d4279SBram Moolenaarsyn keyword lispKey		:end1				:new-version			:type
452071d4279SBram Moolenaarsyn keyword lispKey		:end2				:nicknames			:use
453071d4279SBram Moolenaarsyn keyword lispKey		:error				:output				:verbose
454071d4279SBram Moolenaarsyn keyword lispKey		:escape				:output-file			:version
455071d4279SBram Moolenaarsyn keyword lispKey		:external
4568c8de839SBram Moolenaar" defpackage arguments
4578c8de839SBram Moolenaarsyn keyword lispKey	:documentation	:shadowing-import-from	:modern		:export
4588c8de839SBram Moolenaarsyn keyword lispKey	:case-sensitive	:case-inverted		:shadow		:import-from	:intern
4598c8de839SBram Moolenaar" lambda list keywords
4608c8de839SBram Moolenaarsyn keyword lispKey	&allow-other-keys	&aux		&body
4618c8de839SBram Moolenaarsyn keyword lispKey	&environment	&key			&optional	&rest		&whole
4628c8de839SBram Moolenaar" make-array argument
4638c8de839SBram Moolenaarsyn keyword lispKey	:fill-pointer
4648c8de839SBram Moolenaar" readtable-case values
4658c8de839SBram Moolenaarsyn keyword lispKey	:upcase		:downcase		:preserve	:invert
4668c8de839SBram Moolenaar" eval-when situations
4678c8de839SBram Moolenaarsyn keyword lispKey	:load-toplevel	:compile-toplevel	:execute
4688c8de839SBram Moolenaar" ANSI Extended LOOP:
4698c8de839SBram Moolenaarsyn keyword lispKey	:while      :until       :for         :do       :if          :then         :else     :when      :unless :in
4708c8de839SBram Moolenaarsyn keyword lispKey	:across     :finally     :collect     :nconc    :maximize    :minimize     :sum
4718c8de839SBram Moolenaarsyn keyword lispKey	:and        :with        :initially   :append   :into        :count        :end      :repeat
4728c8de839SBram Moolenaarsyn keyword lispKey	:always     :never       :thereis     :from     :to          :upto         :downto   :below
4738c8de839SBram Moolenaarsyn keyword lispKey	:above      :by          :on          :being    :each        :the          :hash-key :hash-keys
4748c8de839SBram Moolenaarsyn keyword lispKey	:hash-value :hash-values :using       :of-type  :upfrom      :downfrom
4758c8de839SBram Moolenaarif exists("g:lispsyntax_clisp")
4768c8de839SBram Moolenaar  " CLISP FFI:
4778c8de839SBram Moolenaar  syn keyword lispKey	:arguments  :return-type :library     :full     :malloc-free
4788c8de839SBram Moolenaar  syn keyword lispKey	:none       :alloca      :in          :out      :in-out      :stdc-stdcall :stdc     :c
4798c8de839SBram Moolenaar  syn keyword lispKey	:language   :built-in    :typedef     :external
4808c8de839SBram Moolenaar  syn keyword lispKey	:fini       :init-once   :init-always
4818c8de839SBram Moolenaarendif
482071d4279SBram Moolenaar
483a5792f58SBram Moolenaar" ---------------------------------------------------------------------
484af289d33SBram Moolenaar" Standard Lisp Variables: {{{1
485071d4279SBram Moolenaarsyn keyword lispVar		*applyhook*			*load-pathname*			*print-pprint-dispatch*
486071d4279SBram Moolenaarsyn keyword lispVar		*break-on-signals*		*load-print*			*print-pprint-dispatch*
487071d4279SBram Moolenaarsyn keyword lispVar		*break-on-signals*		*load-truename*			*print-pretty*
488071d4279SBram Moolenaarsyn keyword lispVar		*break-on-warnings*		*load-verbose*			*print-radix*
489071d4279SBram Moolenaarsyn keyword lispVar		*compile-file-pathname*		*macroexpand-hook*		*print-readably*
490071d4279SBram Moolenaarsyn keyword lispVar		*compile-file-pathname*		*modules*			*print-right-margin*
491071d4279SBram Moolenaarsyn keyword lispVar		*compile-file-truename*		*package*			*print-right-margin*
492071d4279SBram Moolenaarsyn keyword lispVar		*compile-file-truename*		*print-array*			*query-io*
493071d4279SBram Moolenaarsyn keyword lispVar		*compile-print*			*print-base*			*random-state*
494071d4279SBram Moolenaarsyn keyword lispVar		*compile-verbose*		*print-case*			*read-base*
495071d4279SBram Moolenaarsyn keyword lispVar		*compile-verbose*		*print-circle*			*read-default-float-format*
496071d4279SBram Moolenaarsyn keyword lispVar		*debug-io*			*print-escape*			*read-eval*
497071d4279SBram Moolenaarsyn keyword lispVar		*debugger-hook*			*print-gensym*			*read-suppress*
498071d4279SBram Moolenaarsyn keyword lispVar		*default-pathname-defaults*	*print-length*			*readtable*
499071d4279SBram Moolenaarsyn keyword lispVar		*error-output*			*print-level*			*standard-input*
500071d4279SBram Moolenaarsyn keyword lispVar		*evalhook*			*print-lines*			*standard-output*
501071d4279SBram Moolenaarsyn keyword lispVar		*features*			*print-miser-width*		*terminal-io*
502071d4279SBram Moolenaarsyn keyword lispVar		*gensym-counter*		*print-miser-width*		*trace-output*
503071d4279SBram Moolenaar
504a5792f58SBram Moolenaar" ---------------------------------------------------------------------
505af289d33SBram Moolenaar" Strings: {{{1
506c81e5e79SBram Moolenaarsyn region			lispString			start=+"+ skip=+\\\\\|\\"+ end=+"+	contains=@Spell
507af289d33SBram Moolenaarif exists("g:lisp_instring")
508af289d33SBram Moolenaar syn region			lispInString			keepend matchgroup=Delimiter start=+"(+rs=s+1 skip=+|.\{-}|+ matchgroup=Delimiter end=+)"+ contains=@lispBaseListCluster,lispInStringString
509071d4279SBram Moolenaar syn region			lispInStringString		start=+\\"+ skip=+\\\\+ end=+\\"+ contained
510071d4279SBram Moolenaarendif
511071d4279SBram Moolenaar
512a5792f58SBram Moolenaar" ---------------------------------------------------------------------
513af289d33SBram Moolenaar" Shared with Xlisp, Declarations, Macros, Functions: {{{1
514071d4279SBram Moolenaarsyn keyword lispDecl		defmacro			do-all-symbols		labels
515071d4279SBram Moolenaarsyn keyword lispDecl		defsetf				do-external-symbols	let
516071d4279SBram Moolenaarsyn keyword lispDecl		deftype				do-symbols		locally
517071d4279SBram Moolenaarsyn keyword lispDecl		defun				dotimes			macrolet
518071d4279SBram Moolenaarsyn keyword lispDecl		do*				flet			multiple-value-bind
5198c8de839SBram Moolenaarif exists("g:lispsyntax_clisp")
5208c8de839SBram Moolenaar  " CLISP FFI:
5218c8de839SBram Moolenaar  syn match lispDecl	"\<\(ffi:\)\?def-c-\(var\|const\|enum\|type\|struct\)\>"
5228c8de839SBram Moolenaar  syn match lispDecl	"\<\(ffi:\)\?def-call-\(out\|in\)\>"
5238c8de839SBram Moolenaar  syn match lispDecl	"\<\(ffi:\)\?c-\(function\|struct\|pointer\|string\)\>"
5248c8de839SBram Moolenaar  syn match lispDecl	"\<\(ffi:\)\?c-ptr\(-null\)\?\>"
5258c8de839SBram Moolenaar  syn match lispDecl	"\<\(ffi:\)\?c-array\(-ptr\|-max\)\?\>"
5268c8de839SBram Moolenaar  syn match lispDecl	"\<\(ffi:\)\?[us]\?\(char\|short\|int\|long\)\>"
5278c8de839SBram Moolenaar  syn match lispDecl	"\<\(win32:\|w32\)\?d\?word\>"
5288c8de839SBram Moolenaar  syn match lispDecl	"\<\([us]_\?\)\?int\(8\|16\|32\|64\)\(_t\)\?\>"
5298c8de839SBram Moolenaar  syn keyword lispDecl	size_t off_t time_t handle
5308c8de839SBram Moolenaarendif
531071d4279SBram Moolenaar
532a5792f58SBram Moolenaar" ---------------------------------------------------------------------
533af289d33SBram Moolenaar" Numbers: supporting integers and floating point numbers {{{1
5345c73622aSBram Moolenaarsyn match lispNumber		"-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\([dDeEfFlL][-+]\=\d\+\)\="
5355c73622aSBram Moolenaarsyn match lispNumber		"-\=\(\d\+/\d\+\)"
536071d4279SBram Moolenaar
53781af9250SBram Moolenaarsyn match lispEscapeSpecial		"\*\w[a-z_0-9-]*\*"
53881af9250SBram Moolenaarsyn match lispEscapeSpecial		!#|[^()'`,"; \t]\+|#!
53981af9250SBram Moolenaarsyn match lispEscapeSpecial		!#x\x\+!
54081af9250SBram Moolenaarsyn match lispEscapeSpecial		!#o\o\+!
54181af9250SBram Moolenaarsyn match lispEscapeSpecial		!#b[01]\+!
54281af9250SBram Moolenaarsyn match lispEscapeSpecial		!#\\[ -}\~]!
54381af9250SBram Moolenaarsyn match lispEscapeSpecial		!#[':][^()'`,"; \t]\+!
54481af9250SBram Moolenaarsyn match lispEscapeSpecial		!#([^()'`,"; \t]\+)!
54581af9250SBram Moolenaarsyn match lispEscapeSpecial		!#\\\%(Space\|Newline\|Tab\|Page\|Rubout\|Linefeed\|Return\|Backspace\)!
54681af9250SBram Moolenaarsyn match lispEscapeSpecial		"\<+[a-zA-Z_][a-zA-Z_0-9-]*+\>"
547071d4279SBram Moolenaar
548071d4279SBram Moolenaarsyn match lispConcat		"\s\.\s"
549071d4279SBram Moolenaarsyn match lispParenError	")"
550071d4279SBram Moolenaar
551a5792f58SBram Moolenaar" ---------------------------------------------------------------------
552af289d33SBram Moolenaar" Comments: {{{1
553071d4279SBram Moolenaarsyn cluster lispCommentGroup	contains=lispTodo,@Spell
554071d4279SBram Moolenaarsyn match   lispComment		";.*$"				contains=@lispCommentGroup
555071d4279SBram Moolenaarsyn region  lispCommentRegion	start="#|" end="|#"		contains=lispCommentRegion,@lispCommentGroup
556*519cc559SBram Moolenaarsyn region  lispComment		start="#+nil"	end="\ze)"	contains=@lispCommentGroup
557*519cc559SBram Moolenaarsyn match   lispComment		'^\s*#+nil.*$'			contains=@lispCommentGroup
558071d4279SBram Moolenaarsyn keyword lispTodo		contained			combak			combak:			todo			todo:
559071d4279SBram Moolenaar
560a5792f58SBram Moolenaar" ---------------------------------------------------------------------
561af289d33SBram Moolenaar" Synchronization: {{{1
562071d4279SBram Moolenaarsyn sync lines=100
563071d4279SBram Moolenaar
564a5792f58SBram Moolenaar" ---------------------------------------------------------------------
565af289d33SBram Moolenaar" Define Highlighting: {{{1
566f37506f6SBram Moolenaarif !exists("skip_lisp_syntax_inits")
567071d4279SBram Moolenaar
568f37506f6SBram Moolenaar  hi def link lispCommentRegion		lispComment
569f37506f6SBram Moolenaar  hi def link lispAtomNmbr		lispNumber
570f37506f6SBram Moolenaar  hi def link lispAtomMark		lispMark
571f37506f6SBram Moolenaar  hi def link lispInStringString	lispString
572071d4279SBram Moolenaar
573f37506f6SBram Moolenaar  hi def link lispAtom			Identifier
574f37506f6SBram Moolenaar  hi def link lispAtomBarSymbol		Special
575f37506f6SBram Moolenaar  hi def link lispBarSymbol		Special
576f37506f6SBram Moolenaar  hi def link lispComment		Comment
577f37506f6SBram Moolenaar  hi def link lispConcat		Statement
578f37506f6SBram Moolenaar  hi def link lispDecl			Statement
579f37506f6SBram Moolenaar  hi def link lispFunc			Statement
580f37506f6SBram Moolenaar  hi def link lispKey			Type
581f37506f6SBram Moolenaar  hi def link lispMark			Delimiter
582f37506f6SBram Moolenaar  hi def link lispNumber		Number
583f37506f6SBram Moolenaar  hi def link lispParenError		Error
584f37506f6SBram Moolenaar  hi def link lispEscapeSpecial		Type
585f37506f6SBram Moolenaar  hi def link lispString		String
586f37506f6SBram Moolenaar  hi def link lispTodo			Todo
587f37506f6SBram Moolenaar  hi def link lispVar			Statement
588071d4279SBram Moolenaar
589af289d33SBram Moolenaar  if exists("g:lisp_rainbow") && g:lisp_rainbow != 0
590af289d33SBram Moolenaar   if &bg == "dark"
591a5792f58SBram Moolenaar    hi def hlLevel0 ctermfg=red		guifg=red1
592a5792f58SBram Moolenaar    hi def hlLevel1 ctermfg=yellow	guifg=orange1
593a5792f58SBram Moolenaar    hi def hlLevel2 ctermfg=green	guifg=yellow1
594a5792f58SBram Moolenaar    hi def hlLevel3 ctermfg=cyan	guifg=greenyellow
595a5792f58SBram Moolenaar    hi def hlLevel4 ctermfg=magenta	guifg=green1
596a5792f58SBram Moolenaar    hi def hlLevel5 ctermfg=red		guifg=springgreen1
597a5792f58SBram Moolenaar    hi def hlLevel6 ctermfg=yellow	guifg=cyan1
598a5792f58SBram Moolenaar    hi def hlLevel7 ctermfg=green	guifg=slateblue1
599a5792f58SBram Moolenaar    hi def hlLevel8 ctermfg=cyan	guifg=magenta1
600a5792f58SBram Moolenaar    hi def hlLevel9 ctermfg=magenta	guifg=purple1
601af289d33SBram Moolenaar   else
602a5792f58SBram Moolenaar    hi def hlLevel0 ctermfg=red		guifg=red3
603a5792f58SBram Moolenaar    hi def hlLevel1 ctermfg=darkyellow	guifg=orangered3
604a5792f58SBram Moolenaar    hi def hlLevel2 ctermfg=darkgreen	guifg=orange2
605a5792f58SBram Moolenaar    hi def hlLevel3 ctermfg=blue	guifg=yellow3
606a5792f58SBram Moolenaar    hi def hlLevel4 ctermfg=darkmagenta	guifg=olivedrab4
607a5792f58SBram Moolenaar    hi def hlLevel5 ctermfg=red		guifg=green4
608a5792f58SBram Moolenaar    hi def hlLevel6 ctermfg=darkyellow	guifg=paleturquoise3
609a5792f58SBram Moolenaar    hi def hlLevel7 ctermfg=darkgreen	guifg=deepskyblue4
610a5792f58SBram Moolenaar    hi def hlLevel8 ctermfg=blue	guifg=darkslateblue
611a5792f58SBram Moolenaar    hi def hlLevel9 ctermfg=darkmagenta	guifg=darkviolet
612af289d33SBram Moolenaar   endif
61385850f3aSBram Moolenaar  else
61485850f3aSBram Moolenaar    hi def link lispParen Delimiter
615af289d33SBram Moolenaar  endif
616af289d33SBram Moolenaar
617f37506f6SBram Moolenaarendif
618071d4279SBram Moolenaar
619071d4279SBram Moolenaarlet b:current_syntax = "lisp"
620071d4279SBram Moolenaar
621a5792f58SBram Moolenaar" ---------------------------------------------------------------------
622af289d33SBram Moolenaar" vim: ts=8 nowrap fdm=marker
623