Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

executable file 45 lines (33 sloc) 1.882 kb
This is a Factor port of the jEdit 4.3 syntax highlighting engine
(http://www.jedit.org).
jEdit 1.2, released in late 1998, was the first release to support
syntax highlighting. It featured a small number of hand-coded
"token markers" -- simple incremental parers -- all based on the
original JavaTokenMarker contributed by Tal Davidson.
Around the time of jEdit 1.5 in 1999, Mike Dillon began developing a
jEdit plugin named "XMode". This plugin implemented a generic,
rule-driven token marker which read mode descriptions from XML files.
XMode eventually matured to the point where it could replace the
formerly hand-coded token markers.
With the release of jEdit 2.4, I merged XMode into the core and
eliminated the old hand-coded token markers.
XMode suffers from a somewhat archaic design, and was written at a time
when Java VMs with JIT compilers were relatively uncommon, object
allocation was expensive, and heap space tight. As a result the parser
design is less general than it could be.
Furthermore, the parser has a few bugs which some mode files have come
to depend on:
- If a RULES tag does not define any keywords or rules, then its
NO_WORD_SEP attribute is ignored.
The Factor implementation duplicates this behavior.
- if a RULES tag does not have a NO_WORD_SEP attribute, then
it inherits the value of the NO_WORD_SEP attribute from the previous
RULES tag.
The Factor implementation does not duplicate this behavior. If you
find a mode file which depends on this flaw, please fix it and submit
the changes to the jEdit project.
- References to non-existent rule sets in IMPORT tags and DELEGATE
attributes were ignored in jEdit. They raise an error in Factor.
If you wish to contribute a new or improved mode file, please contact
the jEdit project. Updated mode files in jEdit will be periodically
imported into the Factor source tree.
Jump to Line
Something went wrong with that request. Please try again.