better Lisp source highlighting
Wed Jun 10 14:17:14 CEST 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
* better Lisp source highlighting
diff -rN -u old-doc/lisp-hl.xml new-doc/lisp-hl.xml
--- old-doc/lisp-hl.xml 2014-10-30 06:55:09.000000000 +0100
+++ new-doc/lisp-hl.xml 2014-10-30 06:55:09.000000000 +0100
@@ -1,33 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Common Lisp highlighter for xslthl -->
<highlighters>
+ <highlighter type="word">
+ <word>call-next-method</word>
+ <word>do-external-symbols</word>
+ <word>do</word>
+ <word>do*</word>
+ <word>eval-when</word>
+ <word>handler-bind</word>
+ <word>handler-case</word>
+ <word>in-package</word>
+ <word>let*</word>
+ <word>multiple-value-bind</word>
+ <word>restart-bind</word>
+ <word>restart-case</word>
+ <word>return-from</word>
+ <word>signal</word>
+ <word>unwind-protect</word>
+
+ <style>keyword</style>
+ <ignoreCase />
+ </highlighter>
<highlighter type="keywords">
- <keyword>defun</keyword>
+ <keyword>assert</keyword>
+ <keyword>block</keyword>
+ <keyword>case</keyword>
+ <keyword>catch</keyword>
+ <keyword>ccase</keyword>
+ <keyword>cerror</keyword>
+ <keyword>check-type</keyword>
+ <keyword>declaim</keyword>
+ <keyword>declare</keyword>
+ <keyword>defclass</keyword>
+ <keyword>defconstant</keyword>
<keyword>defgeneric</keyword>
+ <keyword>define-condition</keyword>
+ <keyword>defmacro</keyword>
<keyword>defmethod</keyword>
- <keyword>lambda</keyword>
-
- <keyword>if</keyword>
- <keyword>when</keyword>
- <keyword>unless</keyword>
-
- <keyword>let</keyword>
- <keyword>let*</keyword>
-
- <keyword>defvar</keyword>
- <keyword>defparameter</keyword>
<keyword>defpackage</keyword>
-
- <keyword>defclass</keyword>
+ <keyword>defparameter</keyword>
<keyword>defstruct</keyword>
-
- <keyword>declare</keyword>
- <keyword>declaim</keyword>
+ <keyword>deftype</keyword>
+ <keyword>defun</keyword>
+ <keyword>defvar</keyword>
+ <keyword>dolist</keyword>
+ <keyword>dotimes</keyword>
+ <keyword>ecase</keyword>
+ <keyword>error</keyword>
+ <keyword>flet</keyword>
+ <keyword>go</keyword>
+ <keyword>if</keyword>
+ <keyword>labels</keyword>
+ <keyword>lambda</keyword>
+ <keyword>let</keyword>
+ <keyword>loop</keyword>
<keyword>proclaim</keyword>
+ <keyword>prog1</keyword>
+ <keyword>prog2</keyword>
+ <keyword>progn</keyword>
+ <keyword>progv</keyword>
+ <keyword>return</keyword>
+ <keyword>tagbody</keyword>
+ <keyword>throw</keyword>
+ <keyword>typecase</keyword>
+ <keyword>unless</keyword>
+ <keyword>warn</keyword>
+ <keyword>when</keyword>
+
<ignoreCase />
</highlighter>
- <highlighter type="word">
- <word>in-package</word>
+ <!-- with- -->
+ <highlighter type="regex">
+ <pattern>(?&lt;=\()(\S+[:])?(with-\S+)</pattern>
<style>keyword</style>
</highlighter>
@@ -53,17 +97,38 @@
<style>attribute</style>
</highlighter>
- <!-- defined symbols -->
+ <!-- lambda list keywords -->
+ <highlighter type="word">
+ <word>&amp;allow-other-keys</word>
+ <word>&amp;aux</word>
+ <word>&amp;body</word>
+ <word>&amp;environment</word>
+ <word>&amp;key</word>
+ <word>&amp;optional</word>
+ <word>&amp;rest</word>
+ <word>&amp;whole</word>
+
+ <style>attribute</style>
+ <ignoreCase />
+ </highlighter>
+
+ <!-- emacs style highlighted names -->
<!-- defclass -->
<highlighter type="regex">
<pattern>(?&lt;=defclass\s)(\S+)</pattern>
<style>directive</style>
+ <flags>CASE_INSENSITIVE</flags>
</highlighter>
<!-- defun -->
<highlighter type="regex">
<pattern>(?&lt;=defun\s)(\S+)</pattern>
<style>directive</style>
</highlighter>
+ <!-- defmacro -->
+ <highlighter type="regex">
+ <pattern>(?&lt;=defmacro\s)(\S+)</pattern>
+ <style>directive</style>
+ </highlighter>
<!-- defgeneric -->
<highlighter type="regex">
<pattern>(?&lt;=defgeneric\s)(\S+)</pattern>
@@ -84,26 +149,19 @@
<pattern>(?&lt;=defparameter\s)(\S+)</pattern>
<style>directive</style>
</highlighter>
+ <!-- defparameter -->
+ <highlighter type="regex">
+ <pattern>(?&lt;=defconstant\s)(\S+)</pattern>
+ <style>directive</style>
+ </highlighter>
<!-- defstruct -->
<highlighter type="regex">
<pattern>(?&lt;=defstruct\s)(\S+)</pattern>
<style>directive</style>
</highlighter>
-
- <!-- numbers
- TODO does not work? -->
- <highlighter type="number">
- <point>.</point>
- <exponent>d</exponent> <!-- double-float -->
- <exponent>e</exponent> <!-- float -->
- <exponent>f</exponent> <!-- single-float -->
- <exponent>l</exponent> <!-- long-float -->
- <exponent>s</exponent> <!-- short-float -->
- <ignoreCase />
- </highlighter>
- <!-- numbers -->
- <highlighter type="hexnumber">
- <prefix>#x</prefix>
- <ignoreCase />
+ <!-- define-condition -->
+ <highlighter type="regex">
+ <pattern>(?&lt;=define-condition\s)(\S+)</pattern>
+ <style>directive</style>
</highlighter>
</highlighters>