Marius wrote 12 lines
I'm a of the option to delete the spaces behind the word also to make
the editor turbo and delphi compatible. Its not because i want it to be
fully compatible, but handling it this way requires a lot less
keystrokes if you want to delete the first 4 words in a sentence.
I was testing a bit more last night and i was wundering about the
following situation:
a:= 'foo_bar| and xyz';
a:= 'foo_bar xyz';
Is this how it should behave ?
(watch the spaces)
There are currently 2 things:
1) a regression in SVN: It will delete to the end of the next word, even if there are spaces in front.
This should and will be corrected. It should be: ( "->" indicates ctrl-t ABC| DEF X -> ABC|DEF X -> ABC| X
Well or maybe the last example without space.
IMHO there are 3 option how it could finally be. You can see in all 3 examples that it will differ between space, identifer-chars, and punctation
1) spaces are *not* trimmed
f|oo_bar := ord('b'); -> f| := ord('b'); -> f|:= ord('b');
-> f| ord('b'); -> f|ord('b'); -> f|('b'); -> f|b'); -> f|'); -> f|
2) spaces are trimmed
f|oo_bar := ord('b'); -> f|:= ord('b'); -> f|ord('b'); ->
f|('b'); -> f|b'); -> f|'); -> f|
3) spaces are trimmed only if you where at the start of the word (|cond1 AND cond2) -> (|AND cond2)
(co|nd1 AND cond2) -> (co| AND cond2)
The last one is what open-office does and MS word. It solves both: the quick deletition of many word and avoiding to join 2 (unrelated) words. Question is, if it could be irritating to have it conttext sensitive.
Show quoted text 54 lines
Martin Friebe wrote:
> In 0.9.26 Lazarus deletes to the end of the current token. (Note current
> SVN behaves different)
> |foo_bar := 1;
>
> deletes as follows
> foo_bar
> <space>
> :=
> <space>
> 1
> ;
>
> There is a request to include deletion of the space, into the deletion
> of the word before it
> foo_bar<space>
> :=<space>
> 1
> ;
>
> While this would be no problem if the cursor was at the beginning of a
> word, this may be an issue if the cursor is in the middle of o word
> foo_b|ar and xyz
> would be foo_b|and xyz
> instead of foo_b| and xyz
>
> On the other hand, the 0.9.26 behaviour means that
> foo_bar| and xyz
> means 2 ctrl-t, to delete "and", since the first only deletes the <space>
>
> see also
http://bugs.freepascal.org/view.php?id=12583
>
> --------------
> My opinion is that handling the spaces as n entity of there own, which
> can and will be deleted by a ctrl-t of its own, allows the best flexibility.
> Always deleting the spaces with the current word, leads to unwanted
> situation, if the cursor is in the middle of a word.
>
> A 3rd option is to make it context sensitive, depending on the cursor
> being at the start of the word (open-office and word do that). I am not
> necessarily a fan of it.
>
>
> Any opinions?
>
>
>
_______________________________________________
Lazarus mailing list
http://www.lazarus.freepascal.org/mailman/listinfo/lazarus