Find and Add To Selection In 7.7
-
@dinkumoil - I guess your nppexec script can be reduced to this
sci_sendmsg SCI_SETSEARCHFLAGS SCFIND_WHOLEWORD sci_sendmsg 2690 // SCI_TARGETWHOLEDOCUMENT sci_sendmsg SCI_GETSELECTIONEMPTY if $(MSG_RESULT) == 1 then sci_sendmsg 2688 // SCI_MULTIPLESELECTADDNEXT sci_sendmsg 2689 // SCI_MULTIPLESELECTADDEACHWhat do you think?
-
@Ekopalypse said:
What do you think?
Except the missing
endif;) - nice catch, it works!Seems like
SCI_MULTIPLESELECTADDEACHneeds an active selection andSCI_MULTIPLESELECTADDNEXTdoesn’t.EDIT: Seems like even the
endifis not necessary, I apologize. ;) -
aahhhhh - I constantly forget about using it. :-)
Yes, it works without but as the syntax defines it, it should be used, imho.
Who knows what a future update will do. -
Hi, @alan-kilborn and All,
I admit that my enthusiasm is a bit excessive ! Just because I’m rather an old guy, which knew
MS-DOS 5.0,WinWord 6andExcel 5and, even, some older goodies. So, I’m a little overwhelmed to see all these new powerful features ;-))By the way, I’m no longer surprised to create rectangular selections, over, let say,
50,000lines , with N++, for years now ! Quite similar, except that all the cursors are aligned ;-))Cheers,
guy038
-
I thought this was a three post thread and then it was done! NPP Community delivers! I wound up putting @dail 's LuaScript into the startup script for the Lua plugin and it’s working great.
Out of curiosity I tried installing NppExec on the 7.7 minimalist install and trying out @dinkumoil 's script but it would only select the current word and never go into multiedit mode. (7.7 32bit, NppExec 0.6RC3). There are no errors in the console. I don’t know if the minimalist version and my older, installed version are conflicting in some way, but I couldn’t get the script to work.
@Alan-Kilborn , thanks for the python script, unfortunately I’m still on 1.0.8 so I haven’t tried it out yet. But once I’m back to being current, I will.
My job is being inconvenient and making me do stuff, so I need to sit tight on upgrading for a bit until I have time to iron out any old plugin issues that I may run into after the upgrading. Thank you one and all. This is a great community.
-
@cipher-1024 said:
trying out @dinkumoil 's script but it would only select the current word and never go into multiedit mode.
I guess you only tried the first or second version of the script. The final one and the shortened version of @Ekopalypse some postings above should work.
-
@cipher-1024 said:
I tried installing NppExec on the 7.7 minimalist install…and trying out the script…but it would only select the current word and never go into multiedit mode
Multi-editing is disabled in a clean install or a portable install:

Did you go into the preferences and enable it like this?:

Alternatively, this can be added at the top of the NppExec script, to turn multi-selection ability ON:
sci_sendmsg 2563 1Here’s where the 2563 comes from, in the Scintilla interface file:
# Set whether multiple selections can be made set void SetMultipleSelection=2563(bool multipleSelection,) -
…and I guess for the same reason the Pythonscript presented earlier could benefit from the addition near the top of:
editor.setMultipleSelection(True) # in case not enabled in the Preferences -
@Alan-Kilborn , you got it in one. Who would have thought you’d have to enable multi-edit to multi-edit… NppExec script is working on my 7.7 test install. Thanks again.
-
Besides enabling Multi-Editing (as explained by @Alan-Kilborn in his comment), I just had to call the functions directly, just like Scintilla documentation specifies:
-
SCI_MULTIPLESELECTADDNEXTadds the next occurrence of the main selection within the target to the set of selections as main. If the current selection is empty then select word around caret. -
SCI_MULTIPLESELECTADDEACHis similar toSCI_MULTIPLESELECTADDNEXTbut adds multiple occurrences instead of just one.
For me, it was unnecessary to call
SCI_TARGETWHOLEDOCUMENT, so, for selecting all instances of the word at once, you could just callSCI_MULTIPLESELECTADDNEXTfollowed bySCI_MULTIPLESELECTADDEACH:// selects all instances of the selected word (or the word around the caret) sci_sendmsg 2688 // SCI_MULTIPLESELECTADDNEXT sci_sendmsg 2689 // SCI_MULTIPLESELECTADDEACH…which has the same effect of simply calling
SCI_MULTIPLESELECTADDEACHtwice:// selects all instances of the selected word (or the word around the caret) sci_sendmsg 2689 // SCI_MULTIPLESELECTADDEACH sci_sendmsg 2689 // SCI_MULTIPLESELECTADDEACHOr, instead of blindly calling it twice, you could check if something is already selected with
SCI_GETSELECTIONEMPTY(as used on other comments) and then call it only once:// selects all instances of the selected word (or the word around the caret) sci_sendmsg SCI_GETSELECTIONEMPTY if $(MSG_RESULT) == 1 then sci_sendmsg 2688 // SCI_MULTIPLESELECTADDNEXT endif sci_sendmsg 2689 // SCI_MULTIPLESELECTADDEACHPS: It would be really nice to have both commands (
SCI_MULTIPLESELECTADDNEXTandSCI_MULTIPLESELECTADDEACH) available for hotkeys in “Settings” > “Shortcut Mapper” > “Scintilla commands”. -
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login