[Lazarus] I say a little prayer (for the Lazarus editor)
lazarus at mfriebe.de
Sun Feb 21 12:30:04 CET 2021
On 21/02/2021 10:02, duilio foschi wrote:
> Hi Martin,
> I am too lazy to learn how to use editor scripts.
> Probably it will be more productive to spend some time to correct the
> editor code.
> After all, the Jedi editor - written in Delphi and available in source
> code - behaves like old Delphi editor in column mode.
> How can I try to fix the problem?
> Where is the Lazarus repository with the original code of the Lazarus
For bugs and patches:
I am running a mirror at https://github.com/User4martin/lazarus/
For most SynEdit and Debugger issues, I can accept pull requests (those
go to me only, no one else in the team, therefore limited to work I will
SynEdit is in Components/SynEdit
If you are looking for the Search/Replace dialog, afaik its in the
folder ide/ . Best to start looking from the file ide/SourceEditor.pp .
But probably you want SynEdit.
You probably want to look at function TCustomSynEdit.PasteFromClipboardEx
You should know about the caret pos
You can get/set the caret pas on FCaret.
Also you will look for PMode: TSynSelectionMode;
This actually sets the text: FInternalBlockSelection.SetSelTextPrimitive
So then you only need restore the CaretX
Now this is important, you will see it works on CaretBytePos (logical)
But you will need CharPos.
Imagine you copy columns from 2 or more lines.
Then (I guess) you want to set the caret to the start of the column in
the *last* line to which was inserted..
If there is a tab at the first line you insert, then you may be at
PhysX=4 and LogX=2 (behind the tab)
If there is no tab in the last line, and you set LogX =2 , well that is
not what you want.
Remind me, does the Caret go to the start of the insert, or does it
automatically move one line down too?
And one more thing, if you plan to submit a patch, please add an option
Many people are used to the current behaviour, I do not plan to upset them.
The option will then be controlled from the IDE. So the patch will
either wait till I get to do that.
Or if you volunteer ide/EditorOptions.pas (search Options2 or )
More information about the lazarus