<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 04/06/2010 15:59, ik wrote:
<blockquote
 cite="mid:AANLkTikFbBH-8RTYV_5wgLrTQyhA600jfLUORfwy_mT-@mail.gmail.com"
 type="cite">
  <div dir="ltr"><a moz-do-not-send="true"
 href="http://ik.homelinux.org/"></a><br>
  <div class="gmail_quote">
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div>
    <div class="h5">
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">The
implementation of TSynEdit is to run across all of the ASCII table
(0..255) and act only by this. And that's a logical bug imho.<br>
    </blockquote>
    <br>
    </div>
    </div>
You speak of the SynHighlighter, or the actual SynEdit?<br>
  </blockquote>
  <div><br>
Yes I am.<br>
  </div>
  </div>
  </div>
</blockquote>
This was an either or question :)  But I take it "the highlighter"<br>
<br>
<blockquote
 cite="mid:AANLkTikFbBH-8RTYV_5wgLrTQyhA600jfLUORfwy_mT-@mail.gmail.com"
 type="cite">
  <div dir="ltr">
  <div class="gmail_quote">
  <div> </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Most of the highlighters are old, and haven't had much maintenance, so
they do what was right 10 years ago....<br>
  </blockquote>
  <div><br>
It seems that the only maintained version of syntax highlight is the
Pascal version. <br>
  </div>
  </div>
  </div>
</blockquote>
Out of the languages yes => because it is used by the IDE<br>
<br>
The LFM highlighter should be ok too.<br>
Diff highlighter is new, but again, the relevant tokens are inside the
ascii range.. (and it only supports a subset of diff styles anyway)<br>
<br>
I have no idea how xml or html react to the full utf8 range => I
haven't looked at them, except for adding a rough folding support.<br>
<br>
The overall thing is, that 99% of the work on SynEdit applied to the
usage inside the IDE. SynEdit as a component for user-app (and that
does include all the highlighters) has not yet been much looked after.<br>
<br>
<br>
<blockquote
 cite="mid:AANLkTikFbBH-8RTYV_5wgLrTQyhA600jfLUORfwy_mT-@mail.gmail.com"
 type="cite">
  <div dir="ltr">
  <div class="gmail_quote">
  <div> </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Pascal-Highlighter, can resolve to the trick of treading text of ascii.
All pascal relevant keywords are limited to latin chars => and they
are the same in Ascii/Ansi or utf8.<br>
  </blockquote>
  <div><br>
On Delphi.NET they also allow multibyte names such as:<br>
  <br>
procedure פרוצדורה(const מחרוזת : String); ...<br>
  </div>
  </div>
  </div>
</blockquote>
<br>
Ok, but Lazarus deals with FPC => and FPC doesn't do that yet.<br>
And even then => only thing it needs to do, is to make sure it
treads them as a single word.<br>
<br>
<blockquote
 cite="mid:AANLkTikFbBH-8RTYV_5wgLrTQyhA600jfLUORfwy_mT-@mail.gmail.com"
 type="cite">
  <div dir="ltr">
  <div class="gmail_quote">
  <div> </div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">If
you source contains other chars (multy-byte utf8) in places where this
is allowed, the pascal highlighting will continue to work.<br>
  </blockquote>
  <div><br>
There is a need to also add Bi-Directional support for multi-byte
support. I want to add it when I'll have some time for it.<br>
  </div>
  </div>
  </div>
</blockquote>
multi-byte as in what?<br>
<br>
I know there is multy-byte ascii => but synedit uses utf8.<br>
Well in principal it would be nice to support different encodings. But
that would require LCL support, because as long as all Keypresses come
in utf8.....<br>
<br>
bidi:<br>
Nice => but make sure you keep it modular. <br>
<br>
I am in the process (long time prospect) to rip that whole one big
single class into pieces. => So try not to put new stuff into the
main class.<br>
<br>
Martin<br>
</body>
</html>