bpo-37903: IDLE: Shell sidebar with prompts (GH-22682)
The first followup will change shell indents to spaces.
More are expected.
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
diff --git a/Lib/idlelib/squeezer.py b/Lib/idlelib/squeezer.py
index 3046d80..929c3fd 100644
--- a/Lib/idlelib/squeezer.py
+++ b/Lib/idlelib/squeezer.py
@@ -160,8 +160,10 @@ def expand(self, event=None):
if not confirm:
return "break"
- self.base_text.insert(self.text.index(self), self.s, self.tags)
+ index = self.text.index(self)
+ self.base_text.insert(index, self.s, self.tags)
self.base_text.delete(self)
+ self.editwin.on_squeezed_expand(index, self.s, self.tags)
self.squeezer.expandingbuttons.remove(self)
def copy(self, event=None):
@@ -285,12 +287,10 @@ def count_lines(self, s):
"""
return count_lines_with_wrapping(s, self.editwin.width)
- def squeeze_current_text_event(self, event):
- """squeeze-current-text event handler
+ def squeeze_current_text(self):
+ """Squeeze the text block where the insertion cursor is.
- Squeeze the block of text inside which contains the "insert" cursor.
-
- If the insert cursor is not in a squeezable block of text, give the
+ If the cursor is not in a squeezable block of text, give the
user a small warning and do nothing.
"""
# Set tag_name to the first valid tag found on the "insert" cursor.