Skip to content
This repository

This branch is 9013 commits ahead and 11986 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

README.txt
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.
Something went wrong with that request. Please try again.