[Lazarus] RE : Console App Development

Graeme Geldenhuys graemeg.lists at gmail.com
Sat Aug 13 18:35:35 CEST 2011


On 13 August 2011 12:13, Martin wrote:
> Lazarus defers the scan for highlight+folding (one and the same) as well as
> finding the longest line (required for horiz scrollbar). Both of them are
> done once lazarus is fully operational, within idle, or if the tab is
> selected.

Would multi-threading help here - instead of idle timer process (which
probably limits all the work to a single processor? Especially on
today's multi-core CPU's? eg: create a thread pool of say 4 or 8
threads. Then hand each task required per tab (highlighting, folding,
codetools processing etc) to a thread as they become available in the
pool. Maximize the usage of available processors/cores, that is what
they are there for.

Just a thought.


> tabs / MSEide does not use the widgetset, hence it doesn't need to allocate
> handles for each tab (I guess)

I'm not sure how MSEide handles or allocates tabs, but I do know (from
speaking to Martin) that MSEide only has one editor component
instance. As you swap tabs, the buffer content of the editor component
changes to that file.

I have no idea how Lazarus handles this. Would you mind explaining,
I'm just curious.


> actually look decent. And I don't even know if geany has something like
> codetools...

I hear a lot of talk about CodeTools. What exactly does it do? I'm
just asking, because if it's about generating code etc, MSEide seems
to be doing a great job too. Code-Completion, code templates, syntax
highlighting, code navigation etc are all possible and working well in
MSEide.

So I guess my question is, what does CodeTools do, and what does
SynEdit (the editor component in Lararus) do?


-- 
Regards,
  - Graeme -


_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://fpgui.sourceforge.net




More information about the Lazarus mailing list