Lengthy email warning! :-$
> AFAIK synedit uses UCS16, not UTF16.
Hmm, very probably. I was not aware of the difference until now, when
You and Google enlightened me ;-)
There was some talk about supporting UTF16, but I never used
"UniSynEdit" so I don't know how it ended up.
> But anyway, it's merely a matter of
> taste. I prefer UTF8. We have to work with MBCS anyway, so I we can simply
> stay with bytes.
Well, the way Windows (and so Delphi, and recently FPC) handles
WideStrings (no refcount) feels like a step backwards and would
introduce some issues for big files and big "lines". And of course I
don't like the waste of memory :-(
And Unicode support in D5 is far from comfortable...
> > (...) it would be nice to
> > clean some of the crust at some point, sure?...
>
> Sure.
> Especially the highlighters contain a lot of IFDEFs needed by the objfpc
> mode.
> Maybe we can change here to mode Delphi.
Wow! :-D
I can't even remember the last time a could have a technical
discussion on SynEdit :-) Never mind a technical _decision_ :-(
> (...) I vote for keeping mode objfpc,
> because it is less ambiguous. It helped me to find/avoid some nasty
> bugs in synedit.
Do you remember by head any of these? I love language corner-cases ;-)
Some changes I'd like to have/do in SynEdit:
- Move the search method to an external component.
- Convert all operations to use a simple insert & remove logic for
easy and robust Undo (and better eoGroupUndo).
- Move all (all "non-basic" at least) editor commands to a separate
unit and implement each command on a separate method or class. I'm
inclined to make them TAction descendants to unify shortcut handling,
but I'm not set yet...
- Move painting code to a separate component so it can be reused (it's
complex enough to deserve this anyway).
- Plugin interfaces - implement gutter, hard tabs (maybe even MBCS),
wordwrap and code folding using these. (heh, unfortunately I guess
these aren't very short term ;-)
- "Fix" UniSyn or at least clean the static highlighters - that as a
matter of fact didn't need to be static at all.
- Rework "Range" handling.
I'm enumerating all these just to know how do you feel about them.
Oh, a very important thing I forgot to ask is what is your current
policy about public interfaces changes. I don't see anywhere that you
(we ;-) are in interface freeze, but I didn't feel like downloading
the list archive, so...
A minor thing I'd like tackle right now is introducing a text
container component to facilitate multiple "views" of a file and
fast/cached switching of multiple files in a single editor. I've
already written such a component in SynEdit repository, but it would
preferably need some changes to the TSynEditStringList...
Best regards,
Flávio
_________________________________________________________________
To unsubscribe: mail [EMAIL PROTECTED] with
"unsubscribe" as the Subject
archives at http://www.lazarus.freepascal.org/mailarchives