<!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>