mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-04 00:14:41 +01:00
refactor: convert prompt_ret_code to be a py file (#4032)
to take advantage of flake/coverage
This commit is contained in:
parent
b163e6f7cd
commit
80aca856e4
3 changed files with 46 additions and 36 deletions
|
@ -44,9 +44,9 @@ ignore =
|
|||
D409, # Section underline should match the length of its name
|
||||
D411, # Missing blank line before section
|
||||
D407, # Missing dashed underline after section
|
||||
E122,
|
||||
E122, # continuation line missing indentation or outdented
|
||||
E203, # whitespace before ':'
|
||||
E402,
|
||||
E402, # module level import not at top of file
|
||||
W503, # line break before binary operators is a good thing
|
||||
E731, # accept lambda assigned to a variable
|
||||
# also acceptable in Xonsh project: reference to global names defined at runtime by black magic
|
||||
|
|
44
xontrib/prompt_ret_code.py
Normal file
44
xontrib/prompt_ret_code.py
Normal file
|
@ -0,0 +1,44 @@
|
|||
from xonsh.tools import ON_WINDOWS as _ON_WINDOWS
|
||||
import builtins
|
||||
|
||||
|
||||
def _ret_code_color():
|
||||
if builtins.__xonsh__.history.rtns:
|
||||
color = "blue" if builtins.__xonsh__.history.rtns[-1] == 0 else "red"
|
||||
else:
|
||||
color = "blue"
|
||||
if _ON_WINDOWS:
|
||||
if color == "blue":
|
||||
return "{BOLD_INTENSE_CYAN}"
|
||||
elif color == "red":
|
||||
return "{BOLD_INTENSE_RED}"
|
||||
else:
|
||||
if color == "blue":
|
||||
return "{BOLD_BLUE}"
|
||||
elif color == "red":
|
||||
return "{BOLD_RED}"
|
||||
|
||||
|
||||
def _ret_code():
|
||||
if builtins.__xonsh__.history.rtns:
|
||||
return_code = builtins.__xonsh__.history.rtns[-1]
|
||||
if return_code != 0:
|
||||
return "[{}]".format(return_code)
|
||||
return None
|
||||
|
||||
|
||||
def _update():
|
||||
|
||||
env = builtins.__xonsh__.env
|
||||
|
||||
env["PROMPT"] = env["PROMPT"].replace(
|
||||
"{prompt_end}{RESET}", "{ret_code_color}{ret_code}{prompt_end}{RESET}"
|
||||
)
|
||||
|
||||
flds = env["PROMPT_FIELDS"]
|
||||
flds["ret_code_color"] = _ret_code_color
|
||||
flds["ret_code"] = _ret_code
|
||||
|
||||
|
||||
# xontrib loads updates context
|
||||
_update()
|
|
@ -1,34 +0,0 @@
|
|||
from xonsh.tools import ON_WINDOWS as _ON_WINDOWS
|
||||
|
||||
|
||||
def _ret_code_color():
|
||||
if __xonsh__.history.rtns:
|
||||
color = 'blue' if __xonsh__.history.rtns[-1] == 0 else 'red'
|
||||
else:
|
||||
color = 'blue'
|
||||
if _ON_WINDOWS:
|
||||
if color == 'blue':
|
||||
return '{BOLD_INTENSE_CYAN}'
|
||||
elif color == 'red':
|
||||
return '{BOLD_INTENSE_RED}'
|
||||
else:
|
||||
if color == 'blue':
|
||||
return '{BOLD_BLUE}'
|
||||
elif color == 'red':
|
||||
return '{BOLD_RED}'
|
||||
|
||||
|
||||
def _ret_code():
|
||||
if __xonsh__.history.rtns:
|
||||
return_code = __xonsh__.history.rtns[-1]
|
||||
if return_code != 0:
|
||||
return '[{}]'.format(return_code)
|
||||
return None
|
||||
|
||||
|
||||
$PROMPT = $PROMPT.replace('{prompt_end}{RESET}',
|
||||
'{ret_code_color}{ret_code}{prompt_end}{RESET}')
|
||||
|
||||
|
||||
$PROMPT_FIELDS['ret_code_color'] = _ret_code_color
|
||||
$PROMPT_FIELDS['ret_code'] = _ret_code
|
Loading…
Add table
Reference in a new issue