PreviousNextTracker indexSee it online !

(45/207) 1653057 - feature request: extend possibilites of regexp

The following feature request is the outcome of bug:
"[ 1094078 ] Repeated REGEXP per line"

If I understood right than the regexp-feature for syntax-highlighting has the following properties:
1. don't expand over more than two line
2. don't allow overlapping sequences (end sequence is ignored for the next matching expression)

I would like to have the possibility (optional) to:
- span over more than one line and (option1)
- allow for overlapping sequences in the text (option2)

Use case: I tried to implement syntax highlighting for SAS-statistics package. With the present feature set of Jedit I couldn't implement the underlying rules.

Here is a short description of the syntax highlighting for SAS:

Test case:
3*4+4; *comment1; 3*4*4; *comment2; *comment3;*comment4;
3 * 4 + 4 ; *comment1; 3 * 4 + 4 ; *comment2;
*comment4; this is * no comment;

Now I try to describe expected behaviour with my own words:
If there is only space (only space and/or newline) between the last ";"
sign and
the "*" sign, then the "*" sign starts a multi-line comment. The end of
the comment is always the next ";" sign.

From the comment on bug 1094078 I concluded that at the moment it is not possible to define corresponding rules in Jedit.

Submitted goebbe - 2007-02-06 - 08:52:48z Assigned nobody
Priority 5 Category None
Status Open Group None
Resolution None Visibility No


2007-09-24 - 17:29:58z
Logged In: YES
Originator: YES

I am grateful to Redoute to provide the following code which is able to
reproduce the correct highlighting for the SAS-rules.

However I tried to implement a more complete highlighting mode for SAS and
failed when I tried to implement HIGHLIGHT_DIGITS="TRUE" and KEYWORDS since the
first keyword or digit is not recognised when the "COMMAND" rules apply.

Possibly this is due to my limited knowledge of Java/Jedit but I suspect this is due to the design
of syntax highlighting in Jedit.
I would be glad if anybody knows a solution to this within the current Jedit syntax highlighting

Anyway here is the code from Redoute which produces correct SAS-highlighting. Just in case somebody
can live without coherent keyword-highlighting and digit highlighting, this might be useful:

<?xml version="1.0"?>
<!DOCTYPE MODE SYSTEM "xmode.dtd">
2009-06-30 - 07:52:14z
Most of the cases that are described in the example above (for the SAS language) are solved now, by using Jedit syntax highlighting and regexp.
See bug:

However there are some cases for the described range comments that cannot be implemented by Jedit syntax highlighting.
I will attach a testfile (for SAS-mode) that contain such cases, in order to illustrate the problems.

As described above the feature request boils down to (optionally) allow the regexp feature in syntax-highlighting to:
- span over more than one line and (option1)
- allow for overlapping sequences in the text (option2)


2009-06-30 - 07:55:56z

test-file that illustrates the limitations of regexp in syntax-highlighting (last example)