MCPcopy Create free account
hub / github.com/bpython/bpython / __init__

Method __init__

bpython/curtsies.py:49–95  ·  view source on GitHub ↗
(
        self,
        config: Config,
        locals_: dict[str, Any] | None = None,
        banner: str | None = None,
        interp: Interp | None = None,
    )

Source from the content-addressed store, hash-verified

47
48class FullCurtsiesRepl(BaseRepl):
49 def __init__(
50 self,
51 config: Config,
52 locals_: dict[str, Any] | None = None,
53 banner: str | None = None,
54 interp: Interp | None = None,
55 ) -> None:
56 self.input_generator = curtsies.input.Input(
57 keynames="curtsies", sigint_event=True, paste_threshold=None
58 )
59 window = curtsies.window.CursorAwareWindow(
60 sys.stdout,
61 sys.stdin,
62 keep_last_line=True,
63 hide_cursor=False,
64 extra_bytes_callback=self.input_generator.unget_bytes,
65 )
66
67 self._request_refresh_callback: Callable[[], None] = (
68 self.input_generator.event_trigger(events.RefreshRequestEvent)
69 )
70 self._schedule_refresh_callback = (
71 self.input_generator.scheduled_event_trigger(
72 events.ScheduledRefreshRequestEvent
73 )
74 )
75 self._request_reload_callback = (
76 self.input_generator.threadsafe_event_trigger(events.ReloadEvent)
77 )
78 self._interrupting_refresh_callback = (
79 self.input_generator.threadsafe_event_trigger(lambda: None)
80 )
81 self._request_undo_callback = self.input_generator.event_trigger(
82 events.UndoEvent
83 )
84
85 with self.input_generator:
86 pass # temp hack to get .original_stty
87
88 super().__init__(
89 config,
90 window,
91 locals_=locals_,
92 banner=banner,
93 interp=interp,
94 orig_tcattrs=self.input_generator.original_stty,
95 )
96
97 def _request_refresh(self) -> None:
98 return self._request_refresh_callback()

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected