orbitalquark / textadept

Textadept is a fast, minimalist, and remarkably extensible cross-platform text editor for programmers.
https://orbitalquark.github.io/textadept
MIT License
640 stars 38 forks source link

Current nightly (2023-05-17) doesn't support column and multi-editing #401

Closed chrisgeli closed 1 year ago

chrisgeli commented 1 year ago

Thanks for your ongoing work.

Column editing: Dragging the cursor while holding Alt draws the cursor correctly across multiple lines but when I press any key thereafter, only the last line gets edited.

Multi-editing: Clicking on a position other than the cursor while holding Ctrl used to create another cursor where edits would be duplicated, now it doesn't.

The version with the binary dated 2023-05-02 still had these capabilities.

orbitalquark commented 1 year ago

I wonder if by chance your buffer.multiple_selection is false. Open the Lua command entry (Tools > Command Entry), enter "multiple_selection", press Enter, and see if it prints true or false. If false, then it seems you've somehow disabled it (perhaps in your ~/.textadept/init.lua).

chrisgeli commented 1 year ago

Thanks for the pointer - indeed, buffer.multiple_selection returns false.

Strangely enough, it doesn't seem to be disabled anywhere explicitly:

$ find ~/.textadept/ -type f -exec grep -H multi {} \;
$ find /opt/textadept -name '*init*' -exec grep -H multi {} \;
/opt/textadept/init.lua:local option_map={with_directory='dir',with_file='file',select_multiple='multiple',select_only_directories='only_dirs'}
/opt/textadept/init.lua:buffer.multiple_selection, buffer.additional_selection_typing = true, true
/opt/textadept/init.lua:buffer.multi_paste = buffer.MULTIPASTE_EACH
/opt/textadept/init.lua:buffer.auto_c_multi = buffer.MULTIAUTOC_EACH

On the other hand, if I start with /opt/textadept/textadept -n -e 'print(buffer.multiple_selection)', it prints true and behaves as it used to, so the session seems to have some (side) effect - but how?

I tried to work around the problem by adding the line buffer.multiple_selection = true at the end of my ~/.textadept/init.lua but that didn't work, which is perhaps another clue that it is somehow caused by my session.

orbitalquark commented 1 year ago

I have reproduced the issue and will come up with a fix later today I hope. Sorry for the trouble.

orbitalquark commented 1 year ago

This should be fixed by https://github.com/orbitalquark/textadept/commit/b04dc1d6770299c4402cf9255670ea73bc434b57 and will be in the next nightly build. The bug was introduced two weeks ago by https://github.com/orbitalquark/textadept/commit/d73fbea70f9f0936d30b5b475efdd7cdc7006412. Sorry about that.