def test_cwd_escapes_curly_brackets_with_more_curly_brackets(): XSH.env["PWD"] = "{foo}" assert _replace_home_cwd() == "{{foo}}" XSH.env["PWD"] = "{{foo}}" assert _replace_home_cwd() == "{{{{foo}}}}" XSH.env["PWD"] = "{" assert _replace_home_cwd() == "{{" XSH.env["PWD"] = "}}" assert _replace_home_cwd() == "}}}}"
def test_cwd_escapes_curly_brackets_with_more_curly_brackets(xession, tmpdir): xession.env["HOME"] = str(tmpdir) xession.env["PWD"] = "{foo}" assert _replace_home_cwd() == "{{foo}}" xession.env["PWD"] = "{{foo}}" assert _replace_home_cwd() == "{{{{foo}}}}" xession.env["PWD"] = "{" assert _replace_home_cwd() == "{{" xession.env["PWD"] = "}}" assert _replace_home_cwd() == "}}}}"
def PROMPT_FIELDS(): return dict( user=xp.os_environ.get("USERNAME" if xp.ON_WINDOWS else "USER", "<user>"), prompt_end="#" if xt.is_superuser() else "$", hostname=socket.gethostname().split(".", 1)[0], cwd=_dynamically_collapsed_pwd, cwd_dir=lambda: os.path.dirname(_replace_home_cwd()), cwd_base=lambda: os.path.basename(_replace_home_cwd()), short_cwd=_collapsed_pwd, curr_branch=current_branch, branch_color=branch_color, branch_bg_color=branch_bg_color, current_job=_current_job, env_name=env_name, vte_new_tab_cwd=vte_new_tab_cwd, gitstatus=gitstatus_prompt, )
def FORMATTER_DICT(): return dict( user=os.environ.get('USERNAME' if xp.ON_WINDOWS else 'USER', '<user>'), prompt_end='#' if xt.is_superuser() else '$', hostname=socket.gethostname().split('.', 1)[0], cwd=_dynamically_collapsed_pwd, cwd_dir=lambda: os.path.dirname(_replace_home_cwd()), cwd_base=lambda: os.path.basename(_replace_home_cwd()), short_cwd=_collapsed_pwd, curr_branch=current_branch, branch_color=branch_color, branch_bg_color=branch_bg_color, current_job=_current_job, env_name=env_name, vte_new_tab_cwd=vte_new_tab_cwd, gitstatus=gitstatus_prompt, )
def load_initial(self): from xonsh.prompt import gitstatus from xonsh.prompt.cwd import ( _collapsed_pwd, _dynamically_collapsed_pwd, _replace_home_cwd, ) from xonsh.prompt.env import env_name, vte_new_tab_cwd from xonsh.prompt.job import _current_job from xonsh.prompt.times import _localtime from xonsh.prompt.vc import branch_bg_color, branch_color, current_branch self.update( dict( user=xp.os_environ.get("USERNAME" if xp.ON_WINDOWS else "USER", "<user>"), prompt_end="#" if xt.is_superuser() else "$", hostname=socket.gethostname().split(".", 1)[0], cwd=_dynamically_collapsed_pwd, cwd_dir=lambda: os.path.join( os.path.dirname(_replace_home_cwd()), ""), cwd_base=lambda: os.path.basename(_replace_home_cwd()), short_cwd=_collapsed_pwd, curr_branch=current_branch, branch_color=branch_color, branch_bg_color=branch_bg_color, current_job=_current_job, env_name=env_name, env_prefix="(", env_postfix=") ", vte_new_tab_cwd=vte_new_tab_cwd, time_format="%H:%M:%S", localtime=_localtime, last_return_code=lambda: XSH.env.get("LAST_RETURN_CODE", 0), last_return_code_if_nonzero=lambda: XSH.env.get( "LAST_RETURN_CODE", 0) or None, )) for val in self.get_fields(gitstatus): self[val.name] = val