Nothing has changed about this as far as I’m aware (or at least I presume so since you’re asking about it).
However, if you want this to happen all the time and not just when you press a key, you can add this to the bottom of the plugin:
import functools
class DoItAlways(sublime_plugin.ViewEventListener):
pending = 0
def on_selection_modified_async(self):
# Sanity check; only do this for smaller-ish files; may need tweaking.
if len(self.view) < 1048576:
self.pending += 1
sublime.set_timeout_async(functools.partial(self.update_find), 250)
def update_find(self):
self.pending -= 1
if self.pending != 0:
return
self.view.run_command("show_matches")
This says that 250
ms after the last time the selection in the file is modified, run the command to update matches, but only if the file is smaller than 1mb.
You can tune the size of the file as desired as well as the timeout value. The smaller you cange the 250 to, the faster that the selection change will respond at the expense of having to do it more frequently if you make a lot of selection changes.
Similarly, you can make the file size sanity check as large or as small as you would like; it’s there to make sure that Sublime doesn’t hang if you open a very large file and then select a single character which repeats very frequently.
I didn’t tune either of these values here, I just made them up. Adjust as according for your particular machine setup and use case.