File tree Expand file tree Collapse file tree 2 files changed +12
-5
lines changed
Filter options
Expand file tree Collapse file tree 2 files changed +12
-5
lines changed
Original file line number Diff line number Diff line change 55
55
from collections .abc import Callable , Collection
56
56
from .types import Callback , Completer , KeySpec , CommandName
57
57
58
+ TYPE_CHECKING = False
59
+
60
+ if TYPE_CHECKING :
61
+ from typing import Any
62
+
58
63
59
64
MoreLinesCallable = Callable [[str ], bool ]
60
65
92
97
93
98
@dataclass
94
99
class ReadlineConfig :
95
- readline_completer : Completer | None = RLCompleter (). complete
100
+ readline_completer : Completer | None = None
96
101
completer_delims : frozenset [str ] = frozenset (" \t \n `~!@#$%^&*()-=+[{]}\\ |;:'\" ,<>/?" )
97
102
98
103
@@ -554,7 +559,7 @@ def stub(*args: object, **kwds: object) -> None:
554
559
# ____________________________________________________________
555
560
556
561
557
- def _setup () -> None :
562
+ def _setup (namespace : dict [ str , Any ] ) -> None :
558
563
global raw_input
559
564
if raw_input is not None :
560
565
return # don't run _setup twice
@@ -570,9 +575,11 @@ def _setup() -> None:
570
575
_wrapper .f_in = f_in
571
576
_wrapper .f_out = f_out
572
577
578
+ # set up namespace in rlcompleter
579
+ _wrapper .config .readline_completer = RLCompleter (namespace ).complete
580
+
573
581
# this is not really what readline.c does. Better than nothing I guess
574
582
import builtins
575
-
576
583
raw_input = builtins .input
577
584
builtins .input = _wrapper .input
578
585
Original file line number Diff line number Diff line change @@ -96,9 +96,9 @@ def run_multiline_interactive_console(
96
96
console : code .InteractiveConsole | None = None ,
97
97
) -> None :
98
98
from .readline import _setup
99
- _setup ()
100
-
101
99
namespace = mainmodule .__dict__ if mainmodule else DEFAULT_NAMESPACE
100
+ _setup (namespace )
101
+
102
102
if console is None :
103
103
console = InteractiveColoredConsole (
104
104
namespace , filename = "<stdin>"
You can’t perform that action at this time.
0 commit comments