I'm sure synedit does whatever you use it for very well - it's only use to me is as a stop-gap
to speed up development. If it had a good VHDL add on that would be useful - for now.
You mean a highlighter?
I do not know of any existing one, but there is a tutorial
http://wiki.lazarus.freepascal.org/SynEdit_HighlighterSample files are in the example folder.
Or you mean word completion? That you need to do yourself, but there is an example (in the example folder) on the completion add on too.
Those tools will need converting to the new system at some stage so the
simpler the code the better. That means avoiding anything undocumented or object based where
possible. It also means other things you'd normally just drag and drop are no good to me.
Like I said before - what I'm doing is a little bit different.
It depends how different. If the entire cpu/memory arch is different, and you need to change the way memory is accessed, then this will make it very hard.
Also for synedit to work, you need at least a true monospaced font. If you will not have that, then you are in trouble.
As for adapting the OS calls, that should be moderate work.
- IIRC All text drawing is done in one single unit (you may consider looking at 2): textdrawer.pas (you dont need all of it, just some)
- gutters can be removed, if you do not want to port them
- caret is in one place, and can be either system, or custom drawn
- word completion, if used would need to open an extra window
- then need to provide or fake input from the OS (keydown/up/press), mouse, focus
It is quite a list, but the mandatory parts come with any editor.
--------------------
Btw, you may want to look at mse ide too: I don't know how complex their editor is. But mse is all custom drawn (no LCL). Maybe that will be easier to port. No idea.