mirror of
https://github.com/python/cpython.git
synced 2025-08-31 22:18:28 +00:00
gh-111201: Support pyrepl on Windows (#119559)
Co-authored-by: Anthony Shaw <anthony.p.shaw@gmail.com> Co-authored-by: Łukasz Langa <lukasz@langa.pl>
This commit is contained in:
parent
13a5fdc72f
commit
0d07182821
15 changed files with 1020 additions and 49 deletions
|
@ -442,14 +442,13 @@ class Reader:
|
|||
"""
|
||||
if self.arg is None:
|
||||
return default
|
||||
else:
|
||||
return self.arg
|
||||
return self.arg
|
||||
|
||||
def get_prompt(self, lineno: int, cursor_on_line: bool) -> str:
|
||||
"""Return what should be in the left-hand margin for line
|
||||
'lineno'."""
|
||||
if self.arg is not None and cursor_on_line:
|
||||
prompt = "(arg: %s) " % self.arg
|
||||
prompt = f"(arg: {self.arg}) "
|
||||
elif self.paste_mode:
|
||||
prompt = "(paste) "
|
||||
elif "\n" in self.buffer:
|
||||
|
@ -515,12 +514,12 @@ class Reader:
|
|||
offset = l - 1 if in_wrapped_line else l # need to remove backslash
|
||||
if offset >= pos:
|
||||
break
|
||||
|
||||
if p + sum(l2) >= self.console.width:
|
||||
pos -= l - 1 # -1 cause backslash is not in buffer
|
||||
else:
|
||||
if p + sum(l2) >= self.console.width:
|
||||
pos -= l - 1 # -1 cause backslash is not in buffer
|
||||
else:
|
||||
pos -= l + 1 # +1 cause newline is in buffer
|
||||
y += 1
|
||||
pos -= l + 1 # +1 cause newline is in buffer
|
||||
y += 1
|
||||
return p + sum(l2[:pos]), y
|
||||
|
||||
def insert(self, text: str | list[str]) -> None:
|
||||
|
@ -582,7 +581,6 @@ class Reader:
|
|||
for arg in ("msg", "ps1", "ps2", "ps3", "ps4", "paste_mode"):
|
||||
setattr(self, arg, prev_state[arg])
|
||||
self.prepare()
|
||||
pass
|
||||
|
||||
def finish(self) -> None:
|
||||
"""Called when a command signals that we're finished."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue