[Lazarus] editor details

Martin lazarus at mfriebe.de
Tue Apr 20 14:19:49 CEST 2010


On 20/04/2010 10:00, Hans-Peter Diettrich wrote:
> Martin schrieb:
>
>>> IMO cursor-past-eol and horizontal scrolling deserves some 
>>> considerations. Maintaining the horizontal cursor position during 
>>> vertical moves could be simplified.
>>
>> Simplified, as in:
>>
>> 1- the implementation within synedit
>
> Right. When I first/last inspected the code, many years ago, the 
> entire implementation was overcomplicated and error prone, and some 
> options were conflicting. At that time I implemented my own editor 
> component, and found that everything could be done much simpler. But 
> as long as the SynEdit works, there exists no urgent need for a redesign.

Well that probably changed in the last 2 years.
The caret is now a class of it's own, and the x position keeping is done 
inside this class.

I am currently not aware of any setting in which it doesn't work as it 
is meant to do.
I do admit that the amount of possible combinations of settings is quite 
large, and that it is not necessarily always obvious how certain 
combinations are supposed to work:

for example:
- Caret-past-eol = false
- trim spaces = PositionOnly

Trim spaces = "position only" means that pressing a space at the end of 
line, doesn't insert that space (the spaces are only generated, once you 
type some text behind them).

So space at the end of line works almost like cursor-right-key. Except 
for that it is allowed to force the caret past eol (despite the other 
setting). And yes, that is the indented behaviour.
The user has pressed a space, the user doesn't mind at which time 
SynEdit actually inserts this space... Pressing space at the end of line 
still has to work.

>
>> 2- the user experience during usage
>
> Sometimes it could be a bit less sensitive to errors in related 
> components. 
Which related components? Or are you speaking of codetool navigation?

> But except for the current multi-window redesign, the editor and IDE 
> was usable since 0.9.26, and has become very stable since 0.9.28 :-)

In which way is the current redesign not working or making the IDE 
unstable? Sure there were individual revisions that exposed some bugs => 
that is what it says on the label: current SVN is not a released version...

Except for, if you do not like extra windows, you do not use the feature 
=> that still means the IDE is working and usable.

>
> I'm also missing an option to turn off any automatism. 
> Auto-indentation with copy&paste doesn't match my coding style and 
> expectations, in many situations; the same for the automatic "end" 
> insertion.
Options / codetools / general

And yes there is a point => the indentation settings are hard to find / 
spread across to many pages....



Martin




More information about the Lazarus mailing list