3939#TODO other autocomplete modes (also fix in other bpython implementations)
4040#TODO figure out what config.flush_output is
4141#TODO figure out what options.quiet is
42- #TODO use events instead of length-one queues for interthread communication
43-
42+ #TODO add buffering to stdout to speed up output.
4443
4544from bpython .keys import cli_key_dispatch as key_dispatch
4645
@@ -58,7 +57,6 @@ def process_event(self, e):
5857 assert self .has_focus
5958 if e in rl_char_sequences :
6059 self .cursor_offset_in_line , self .current_line = rl_char_sequences [e ](self .cursor_offset_in_line , self .current_line )
61- #TODO EOF on ctrl-d
6260 elif isinstance (e , events .SigIntEvent ):
6361 self .coderunner .sigint_happened = True
6462 self .has_focus = False
@@ -285,7 +283,7 @@ def process_event(self, e):
285283 raise NotImplementedError ()
286284 elif e in key_dispatch [self .config .show_source_key ]: #TODO
287285 raise NotImplementedError ()
288- elif e in key_dispatch [self .config .suspend_key ]: #TODO
286+ elif e in key_dispatch [self .config .suspend_key ]:
289287 raise SystemExit ()
290288 elif e in ("" ,) + key_dispatch [self .config .exit_key ]:
291289 if self ._current_line == '' :
@@ -500,7 +498,7 @@ def run_code_and_maybe_finish(self, for_code=None):
500498
501499 def keyboard_interrupt (self ):
502500 #TODO factor out the common cleanup from running a line
503- #TODO make rewind work properly with ctrl-c somehow
501+ #TODO make rewind work properly with ctrl-c'd infinite loops
504502 self .cursor_offset_in_line = - 1
505503 self .unhighlight_paren ()
506504 self .display_lines .extend (self .display_buffer_lines )
@@ -680,10 +678,6 @@ def paint(self, about_to_exit=False):
680678 assert cursor_column >= 0 , (cursor_column , len (self .current_cursor_line ), len (self ._current_line ), self .cursor_offset_in_line )
681679
682680 if self .list_win_visible :
683- #infobox not properly expanding window! try reduce( docs about halfway down a 80x24 terminal
684- #TODO what's the desired behavior here? Currently uses only the space already on screen,
685- # scrolling down only if there would have been more space above the current line, but being forced to put below
686- #TODO above description is not accurate - sometimes screen scrolls for docstring message
687681 logging .debug ('infobox display code running' )
688682 visible_space_above = history .height
689683 visible_space_below = min_height - cursor_row - 1
@@ -803,10 +797,6 @@ def reprint_line(self, lineno, tokens):
803797 self .display_buffer [lineno ] = bpythonparse (format (tokens , self .formatter ))
804798 def reevaluate (self , insert_into_history = False ):
805799 """bpython.Repl.undo calls this"""
806- #TODO This almost works, but stdin.readline() doesn't work yet
807- #TODO other implementations have a enter no-history method, could do
808- # that instead of clearing history and getting it rewritten
809-
810800 old_logical_lines = self .history
811801 self .history = []
812802 self .display_lines = []
0 commit comments