diff options
Diffstat (limited to 'Lib/idlelib/colorizer.py')
-rw-r--r-- | Lib/idlelib/colorizer.py | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/Lib/idlelib/colorizer.py b/Lib/idlelib/colorizer.py index 57942e8a7c..fd13281fb2 100644 --- a/Lib/idlelib/colorizer.py +++ b/Lib/idlelib/colorizer.py @@ -55,26 +55,35 @@ def color_config(text): class ColorDelegator(Delegator): """Delegator for syntax highlighting (text coloring). - Class variables: - after_id: Identifier for scheduled after event. + Instance variables: + delegate: Delegator below this one in the stack, meaning the + one this one delegates to. + + Used to track state: + after_id: Identifier for scheduled after event, which is a + timer for colorizing the text. allow_colorizing: Boolean toggle for applying colorizing. colorizing: Boolean flag when colorizing is in process. stop_colorizing: Boolean flag to end an active colorizing process. close_when_done: Widget to destroy after colorizing process completes (doesn't seem to be used by IDLE). - - Instance variables: - delegate: Delegator below this one in the stack, meaning the - one this one delegates to. """ def __init__(self): Delegator.__init__(self) + self.init_state() self.prog = prog self.idprog = idprog self.LoadTagDefs() + def init_state(self): + "Initialize variables that track colorizing state." + self.after_id = None + self.allow_colorizing = True + self.stop_colorizing = False + self.colorizing = False + def setdelegate(self, delegate): """Set the delegate for this instance. @@ -134,11 +143,6 @@ class ColorDelegator(Delegator): self.delegate.delete(index1, index2) self.notify_range(index1) - after_id = None - allow_colorizing = True - stop_colorizing = False - colorizing = False - def notify_range(self, index1, index2=None): "Mark text changes for processing and restart colorizing, if active." self.tag_add("TODO", index1, index2) |