[plt-scheme] New syntax colorer and parenthesis highlighter have arrived

From: Scott Owens (sowens at cs.utah.edu)
Date: Wed Nov 5 00:14:27 EST 2003

For those of you following DrScheme in cvs, I have just exp tagged my 
modifications to DrScheme for on-the-fly syntax coloring and 
parenthesis highlighting.

The on-the-fly syntax coloring is lexically based, which means that 
identifiers, comments, strings, parentheses, etc. can all be colored 
differently.  Furthermore, the coloring is always accurate and it 
operates in the background so major lexical changes (such as opening a 
string) will eventually display correctly without interfering with the 
interactive session.

Unlike the "Check Syntax" coloring tool, the lexical colorer cannot 
determine whether an identifier is a datum, variable or macro call.  In 
an effort to approximate some of this support, identifiers are colored 
as keywords if they appear in the indenting lists 
(Preferences->Editing->Indenting).  Also unlike "Check Syntax", the 
lexical colorer can correctly identify comments.

This is only the first half of the integration.  The following 
improvements still need to be made:
1) Parenthesis sensitive operations such as indenting and sexp 
transposing still use the old paren matcher.
2) While the persistent paren highlighting uses my new system, the 
matching paren flashes still use the old paren matcher.
3) Various things that use color in DrScheme (Check Syntax, test 
coverage) interfere with the coloring my tool does.

If you don't like the coloring, you can turn it off from the 
preferences dialog under: Editing->Colors->Scheme Color and still have 
the improved paren matching.  The colors used by the colorer can also 
be changed from there.

I welcome any feedback.

-Scott Owens

Posted on the users mailing list.