|
From: Slava P. <sl...@je...> - 2003-10-11 02:32:12
|
Hi, Thanks for the contribution! I've just started studying Scheme at University and also found lisp.xml a bit lacking. On Thu, 2003-09-18 at 18:19, Stephen Bartlett wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Greetings to all Schemers using jEdit: > > jEdit 4.1 ships with a fairly bare-bones lisp.xml file that is used > to control the syntax highlighting (see Utilities / Global Options / Syntax > Highlighting). I copied that to a scheme.xml file and added a bunch > of specs that make Scheme highlight much better (many more language > keywords defined). > > I don't claim that this is fully precise, but it's a heck of a lot better > than what's shipped with jEdit. I used material from the "Revised(5) > Report on the Algorithmic Language Scheme" at this URL as a guide: > http://www.swiss.ai.mit.edu/~jaffer/r5rs_14.html#SEC86 > > To use: > 1) save the file below in your "modes" directory of your jEdit installation > as "scheme.xml" > 2) edit the "catalog" file there where it says: > <MODE NAME="scheme" ... > to say FILE="scheme.xml" > 3) restart jEdit. Note that if you tweak scheme.xml after this, you don't > have to restart jEdit to see your changes take effect. > > Enjoy, > - - Stephen > > - -- > Stephen Bartlett, President > Bartlett Software, Inc. > http://www.bartlettsoftware.biz/ > > ==========BEGIN SCHEME.XML========== > <?xml version="1.0"?> > > <!DOCTYPE MODE SYSTEM "xmode.dtd"> > > <MODE> > <PROPS> > <PROPERTY NAME="commentStart" VALUE="#| " /> > <PROPERTY NAME="commentEnd" VALUE=" |#" /> > <PROPERTY NAME="lineComment" VALUE=";" /> > <PROPERTY NAME="noWordSep" VALUE="_-+?:*/!" /> > <PROPERTY NAME="indentOpenBrackets" VALUE="(" /> > <PROPERTY NAME="indentCloseBrackets" VALUE=")" /> > <PROPERTY NAME="lineUpClosingBracket" VALUE="false" /> > </PROPS> > <RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="TRUE" > NO_WORD_SEP="_-+?:*/!"> > <SPAN TYPE="COMMENT1"> > <BEGIN>#|</BEGIN> > <END>|#</END> > </SPAN> > <SEQ TYPE="NULL">'(</SEQ> > <MARK_FOLLOWING TYPE="LITERAL1">'</MARK_FOLLOWING> > <MARK_FOLLOWING TYPE="LITERAL1">#\</MARK_FOLLOWING> > <MARK_FOLLOWING TYPE="LITERAL1">#b</MARK_FOLLOWING> > <MARK_FOLLOWING TYPE="LITERAL1">#d</MARK_FOLLOWING> > <MARK_FOLLOWING TYPE="LITERAL1">#o</MARK_FOLLOWING> > <MARK_FOLLOWING TYPE="LITERAL1">#x</MARK_FOLLOWING> > <EOL_SPAN TYPE="COMMENT1">;</EOL_SPAN> > <SPAN TYPE="LITERAL1"> > <BEGIN>"</BEGIN> > <END>"</END> > </SPAN> > > <KEYWORDS> > <KEYWORD1>and</KEYWORD1> > <KEYWORD1>begin</KEYWORD1> > <KEYWORD1>case</KEYWORD1> > <KEYWORD1>cond</KEYWORD1> > <KEYWORD1>cond-expand</KEYWORD1> > <KEYWORD1>define</KEYWORD1> > <KEYWORD1>define-macro</KEYWORD1> > <KEYWORD1>delay</KEYWORD1> > <KEYWORD1>do</KEYWORD1> > <KEYWORD1>else</KEYWORD1> > <KEYWORD1>fluid-let</KEYWORD1> > <KEYWORD1>if</KEYWORD1> > <KEYWORD1>lambda</KEYWORD1> > <KEYWORD1>let</KEYWORD1> > <KEYWORD1>let*</KEYWORD1> > <KEYWORD1>letrec</KEYWORD1> > <KEYWORD1>or</KEYWORD1> > <KEYWORD1>quasiquote</KEYWORD1> > <KEYWORD1>quote</KEYWORD1> > <KEYWORD1>set!</KEYWORD1> > > <KEYWORD2>abs</KEYWORD2> > <KEYWORD2>acos</KEYWORD2> > <KEYWORD2>angle</KEYWORD2> > <KEYWORD2>append</KEYWORD2> > <KEYWORD2>apply</KEYWORD2> > <KEYWORD2>asin</KEYWORD2> > <KEYWORD2>assoc</KEYWORD2> > <KEYWORD2>assq</KEYWORD2> > <KEYWORD2>assv</KEYWORD2> > <KEYWORD2>atan</KEYWORD2> > <KEYWORD2>car</KEYWORD2> > <KEYWORD2>cdr</KEYWORD2> > <KEYWORD2>caar</KEYWORD2> > <KEYWORD2>cadr</KEYWORD2> > <KEYWORD2>cdar</KEYWORD2> > <KEYWORD2>cddr</KEYWORD2> > <KEYWORD2>caaar</KEYWORD2> > <KEYWORD2>caadr</KEYWORD2> > <KEYWORD2>cadar</KEYWORD2> > <KEYWORD2>caddr</KEYWORD2> > <KEYWORD2>cdaar</KEYWORD2> > <KEYWORD2>cdadr</KEYWORD2> > <KEYWORD2>cddar</KEYWORD2> > <KEYWORD2>cdddr</KEYWORD2> > <KEYWORD2>call-with-current-continuation</KEYWORD2> > <KEYWORD2>call-with-input-file</KEYWORD2> > <KEYWORD2>call-with-output-file</KEYWORD2> > <KEYWORD2>call-with-values</KEYWORD2> > <KEYWORD2>call/cc</KEYWORD2> > <KEYWORD2>catch</KEYWORD2> > <KEYWORD2>ceiling</KEYWORD2> > <KEYWORD2>char->integer</KEYWORD2> > <KEYWORD2>char-downcase</KEYWORD2> > <KEYWORD2>char-upcase</KEYWORD2> > <KEYWORD2>close-input-port</KEYWORD2> > <KEYWORD2>close-output-port</KEYWORD2> > <KEYWORD2>cons</KEYWORD2> > <KEYWORD2>cos</KEYWORD2> > <KEYWORD2>current-input-port</KEYWORD2> > <KEYWORD2>current-output-port</KEYWORD2> > <KEYWORD2>delete-file</KEYWORD2> > <KEYWORD2>display</KEYWORD2> > <KEYWORD2>dynamic-wind</KEYWORD2> > <KEYWORD2>eval</KEYWORD2> > <KEYWORD2>exit</KEYWORD2> > <KEYWORD2>exact->inexact</KEYWORD2> > <KEYWORD2>exp</KEYWORD2> > <KEYWORD2>expt</KEYWORD2> > <KEYWORD2>file-or-directory-modify-seconds</KEYWORD2> > <KEYWORD2>floor</KEYWORD2> > <KEYWORD2>force</KEYWORD2> > <KEYWORD2>for-each</KEYWORD2> > <KEYWORD2>gcd</KEYWORD2> > <KEYWORD2>gensym</KEYWORD2> > <KEYWORD2>get-output-string</KEYWORD2> > <KEYWORD2>getenv</KEYWORD2> > <KEYWORD2>imag-part</KEYWORD2> > <KEYWORD2>integer->char</KEYWORD2> > <KEYWORD2>lcm</KEYWORD2> > <KEYWORD2>length</KEYWORD2> > <KEYWORD2>list</KEYWORD2> > <KEYWORD2>list->string</KEYWORD2> > <KEYWORD2>list->vector</KEYWORD2> > <KEYWORD2>list-ref</KEYWORD2> > <KEYWORD2>list-tail</KEYWORD2> > <KEYWORD2>load</KEYWORD2> > <KEYWORD2>log</KEYWORD2> > <KEYWORD2>magnitude</KEYWORD2> > <KEYWORD2>make-polar</KEYWORD2> > <KEYWORD2>make-rectangular</KEYWORD2> > <KEYWORD2>make-string</KEYWORD2> > <KEYWORD2>make-vector</KEYWORD2> > <KEYWORD2>map</KEYWORD2> > <KEYWORD2>max</KEYWORD2> > <KEYWORD2>member</KEYWORD2> > <KEYWORD2>memq</KEYWORD2> > <KEYWORD2>memv</KEYWORD2> > <KEYWORD2>min</KEYWORD2> > <KEYWORD2>modulo</KEYWORD2> > <KEYWORD2>newline</KEYWORD2> > <KEYWORD2>nil</KEYWORD2> > <KEYWORD2>not</KEYWORD2> > <KEYWORD2>number->string</KEYWORD2> > <KEYWORD2>open-input-file</KEYWORD2> > <KEYWORD2>open-input-string</KEYWORD2> > <KEYWORD2>open-output-file</KEYWORD2> > <KEYWORD2>open-output-string</KEYWORD2> > <KEYWORD2>peek-char</KEYWORD2> > <KEYWORD2>quotient</KEYWORD2> > <KEYWORD2>read</KEYWORD2> > <KEYWORD2>read-char</KEYWORD2> > <KEYWORD2>read-line</KEYWORD2> > <KEYWORD2>real-part</KEYWORD2> > <KEYWORD2>remainder</KEYWORD2> > <KEYWORD2>reverse</KEYWORD2> > <KEYWORD2>reverse!</KEYWORD2> > <KEYWORD2>round</KEYWORD2> > <KEYWORD2>set-car!</KEYWORD2> > <KEYWORD2>set-cdr!</KEYWORD2> > <KEYWORD2>sin</KEYWORD2> > <KEYWORD2>sqrt</KEYWORD2> > <KEYWORD2>string</KEYWORD2> > <KEYWORD2>string->list</KEYWORD2> > <KEYWORD2>string->number</KEYWORD2> > <KEYWORD2>string->symbol</KEYWORD2> > <KEYWORD2>string-append</KEYWORD2> > <KEYWORD2>string-copy</KEYWORD2> > <KEYWORD2>string-fill!</KEYWORD2> > <KEYWORD2>string-length</KEYWORD2> > <KEYWORD2>string-ref</KEYWORD2> > <KEYWORD2>string-set!</KEYWORD2> > <KEYWORD2>substring</KEYWORD2> > <KEYWORD2>symbol->string</KEYWORD2> > <KEYWORD2>system</KEYWORD2> > <KEYWORD2>tan</KEYWORD2> > <KEYWORD2>truncate</KEYWORD2> > <KEYWORD2>values</KEYWORD2> > <KEYWORD2>vector</KEYWORD2> > <KEYWORD2>vector->list</KEYWORD2> > <KEYWORD2>vector-fill!</KEYWORD2> > <KEYWORD2>vector-length</KEYWORD2> > <KEYWORD2>vector-ref</KEYWORD2> > <KEYWORD2>vector-set!</KEYWORD2> > <KEYWORD2>with-input-from-file</KEYWORD2> > <KEYWORD2>with-output-to-file</KEYWORD2> > <KEYWORD2>write</KEYWORD2> > <KEYWORD2>write-char</KEYWORD2> > > <KEYWORD3>boolean?</KEYWORD3> > <KEYWORD3>char-alphabetic?</KEYWORD3> > <KEYWORD3>char-ci<=?</KEYWORD3> > <KEYWORD3>char-ci<?</KEYWORD3> > <KEYWORD3>char-ci=?</KEYWORD3> > <KEYWORD3>char-ci>=?</KEYWORD3> > <KEYWORD3>char-ci>?</KEYWORD3> > <KEYWORD3>char-lower-case?</KEYWORD3> > <KEYWORD3>char-numeric?</KEYWORD3> > <KEYWORD3>char-ready?</KEYWORD3> > <KEYWORD3>char-upper-case?</KEYWORD3> > <KEYWORD3>char-whitespace?</KEYWORD3> > <KEYWORD3>char<=?</KEYWORD3> > <KEYWORD3>char<?</KEYWORD3> > <KEYWORD3>char=?</KEYWORD3> > <KEYWORD3>char>=?</KEYWORD3> > <KEYWORD3>char>?</KEYWORD3> > <KEYWORD3>char?</KEYWORD3> > <KEYWORD3>complex?</KEYWORD3> > <KEYWORD3>eof-object?</KEYWORD3> > <KEYWORD3>eq?</KEYWORD3> > <KEYWORD3>equal?</KEYWORD3> > <KEYWORD3>eqv?</KEYWORD3> > <KEYWORD3>even?</KEYWORD3> > <KEYWORD3>exact?</KEYWORD3> > <KEYWORD3>file-exists?</KEYWORD3> > <KEYWORD3>inexact?</KEYWORD3> > <KEYWORD3>input-port?</KEYWORD3> > <KEYWORD3>integer?</KEYWORD3> > <KEYWORD3>list?</KEYWORD3> > <KEYWORD3>negative?</KEYWORD3> > <KEYWORD3>null?</KEYWORD3> > <KEYWORD3>number?</KEYWORD3> > <KEYWORD3>odd?</KEYWORD3> > <KEYWORD3>output-port?</KEYWORD3> > <KEYWORD3>pair?</KEYWORD3> > <KEYWORD3>port?</KEYWORD3> > <KEYWORD3>positive?</KEYWORD3> > <KEYWORD3>procedure?</KEYWORD3> > <KEYWORD3>rational?</KEYWORD3> > <KEYWORD3>real?</KEYWORD3> > <KEYWORD3>string-ci<=?</KEYWORD3> > <KEYWORD3>string-ci<?</KEYWORD3> > <KEYWORD3>string-ci=?</KEYWORD3> > <KEYWORD3>string-ci>=?</KEYWORD3> > <KEYWORD3>string-ci>?</KEYWORD3> > <KEYWORD3>string<=?</KEYWORD3> > <KEYWORD3>string<?</KEYWORD3> > <KEYWORD3>string=?</KEYWORD3> > <KEYWORD3>string>=?</KEYWORD3> > <KEYWORD3>string>?</KEYWORD3> > <KEYWORD3>string?</KEYWORD3> > <KEYWORD3>symbol?</KEYWORD3> > <KEYWORD3>vector?</KEYWORD3> > <KEYWORD3>zero?</KEYWORD3> > > <LITERAL2>#t</LITERAL2> > <LITERAL2>#f</LITERAL2> > </KEYWORDS> > </RULES> > </MODE> > ==========END SCHEME.XML========== > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.1 (GNU/Linux) > > iD8DBQE/ai9bR7d3GIt7UjgRAuJbAJ9KTQof8IsaO03ma1KlC7UzrxVsrgCgkLJ/ > h3uZON651wJKVEu1BVKyyLQ= > =8CBs > -----END PGP SIGNATURE----- > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf -- Slava Pestov |