diff options
author | Zackery Spytz <zspytz@gmail.com> | 2023-12-27 14:27:40 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-27 14:27:40 (GMT) |
commit | 712afab5acbe27ceb1eddde5aa559078ae7eaa3b (patch) | |
tree | 5333d075fa4698ea61100bd4ca7c1b8218b38ca7 /Lib/idlelib | |
parent | 1ddd773293bd692b9dbeba9be54403a7b1e95dbf (diff) | |
download | cpython-712afab5acbe27ceb1eddde5aa559078ae7eaa3b.zip cpython-712afab5acbe27ceb1eddde5aa559078ae7eaa3b.tar.gz cpython-712afab5acbe27ceb1eddde5aa559078ae7eaa3b.tar.bz2 |
gh-57795: IDLE: Enter the selected text when opening the "Replace" dialog (GH-17593)
Co-authored-by: Roger Serwy <roger.serwy@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Diffstat (limited to 'Lib/idlelib')
-rw-r--r-- | Lib/idlelib/replace.py | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/Lib/idlelib/replace.py b/Lib/idlelib/replace.py index 7997f24..3716d84 100644 --- a/Lib/idlelib/replace.py +++ b/Lib/idlelib/replace.py @@ -25,7 +25,8 @@ def replace(text, insert_tags=None): if not hasattr(engine, "_replacedialog"): engine._replacedialog = ReplaceDialog(root, engine) dialog = engine._replacedialog - dialog.open(text, insert_tags=insert_tags) + searchphrase = text.get("sel.first", "sel.last") + dialog.open(text, searchphrase, insert_tags=insert_tags) class ReplaceDialog(SearchDialogBase): @@ -51,27 +52,17 @@ class ReplaceDialog(SearchDialogBase): self.replvar = StringVar(root) self.insert_tags = None - def open(self, text, insert_tags=None): + def open(self, text, searchphrase=None, *, insert_tags=None): """Make dialog visible on top of others and ready to use. - Also, highlight the currently selected text and set the - search to include the current selection (self.ok). + Also, set the search to include the current selection + (self.ok). Args: text: Text widget being searched. + searchphrase: String phrase to search. """ - SearchDialogBase.open(self, text) - try: - first = text.index("sel.first") - except TclError: - first = None - try: - last = text.index("sel.last") - except TclError: - last = None - first = first or text.index("insert") - last = last or first - self.show_hit(first, last) + SearchDialogBase.open(self, text, searchphrase) self.ok = True self.insert_tags = insert_tags |