[TxMt] Re: Range of selection string / environment variable TM_SELECTION
Kai Wood
lists at kwood.eu
Thu Jan 16 12:16:26 UTC 2014
On 16.01.2014, at 04:29, Allan Odgaard <mailinglist at textmate.org> wrote:
> On 15 Jan 2014, at 20:57, Kai Wood wrote:
>
>> TM_SELECTION is now "6-3”, the range now includes line 6, but the *visible* part of the selection is still 3-5 […] Can this be considered a bug or is it intended behavior / a feature?
>
> I believe it is correct behavior.
>
> Line 6-3 is short for 6:1-3:1.
>
> This means the selection goes from line 3, column 1, to line 6, column 1.
>
> As you say yourself, you can check if the newline is included, to test if the last line in the selection is an “empty line”. Had the newline not been included in the selection, TM_SELECTION would be 5:5-3. I.e. starting at line 3, column 1, and ending on line 5, column 5 (including all characters on line 5 except the trailing newline).
Ok, i finally found the edge case that was driving me nuts :)
Take this column selection, made via Shift+UP and tapping option:
TM_SELECTED_TEXT now holds “\n\n”, TM_SELECTION is "4:3x2:3”.
As soon as I’m moving to the right and back left via the cursors, TM_SELECTED_TEXT changes to nil and the selection string is now "2:3&3:3&4:3”. Even if i press CMD-L to mark the whole lines, TM_SELECTED_TEXT still contains “nil”.
It’s clear that internally the cursors change from some kind of “normal” column selection to multi-cursors, as one can see considering the selection string (initial separator “x”, post movement separator “&"). In my use case, I can still distinguish this state of the cursors by parsing the selection string, but it’s a little more complicated than relying on the newline.
Just wanted to share this if someone trips over something similar, i guess it’s nothing that should (or can) be fixed - just a side effect of the multicursor implementation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macromates.com/textmate/attachments/20140116/0526cba6/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2014-01-16 at 11.54.07.png
Type: image/png
Size: 10087 bytes
Desc: not available
URL: <http://lists.macromates.com/textmate/attachments/20140116/0526cba6/attachment.png>
More information about the textmate
mailing list