mirror of
https://github.com/xonsh/xonsh.git
synced 2025-03-05 17:00:58 +01:00
Merge branch 'wiz'
This commit is contained in:
commit
241d7910ab
1 changed files with 21 additions and 11 deletions
|
@ -76,13 +76,16 @@ values are presented as pretty repr strings of their Python types.
|
||||||
|
|
||||||
{{BOLD_GREEN}}Note:{{NO_COLOR}} Simply hitting enter for any environment variable
|
{{BOLD_GREEN}}Note:{{NO_COLOR}} Simply hitting enter for any environment variable
|
||||||
will accept the default value for that entry.
|
will accept the default value for that entry.
|
||||||
|
""".format(hr=HR)
|
||||||
|
|
||||||
|
WIZARD_ENV_QUESTION = "Would you like to set env vars now, " + YN
|
||||||
|
|
||||||
Would you like to set env vars now, """.format(hr=HR) + YN
|
|
||||||
|
|
||||||
WIZARD_TAIL = """
|
WIZARD_TAIL = """
|
||||||
Thanks for using the xonsh configuration wizard!"""
|
Thanks for using the xonsh configuration wizard!"""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def make_fs():
|
def make_fs():
|
||||||
"""Makes the foreign shell part of the wizard."""
|
"""Makes the foreign shell part of the wizard."""
|
||||||
cond = create_truefalse_cond(prompt='Add a foreign shell, ' + YN)
|
cond = create_truefalse_cond(prompt='Add a foreign shell, ' + YN)
|
||||||
|
@ -133,12 +136,13 @@ def _wrap_paragraphs(text, width=70, **kwargs):
|
||||||
s = '\n'.join(pars)
|
s = '\n'.join(pars)
|
||||||
return s
|
return s
|
||||||
|
|
||||||
ENVVAR_PROMPT = """
|
ENVVAR_MESSAGE = """
|
||||||
{{BOLD_CYAN}}${name}{{NO_COLOR}}
|
{{BOLD_CYAN}}${name}{{NO_COLOR}}
|
||||||
{docstr}
|
{docstr}
|
||||||
{{RED}}default value:{{NO_COLOR}} {default}
|
{{RED}}default value:{{NO_COLOR}} {default}
|
||||||
{{RED}}current value:{{NO_COLOR}} {current}
|
{{RED}}current value:{{NO_COLOR}} {current}"""
|
||||||
{{BOLD_GREEN}}>>>{{NO_COLOR}} """
|
|
||||||
|
ENVVAR_PROMPT = "{BOLD_GREEN}>>>{NO_COLOR} "
|
||||||
|
|
||||||
def make_envvar(name):
|
def make_envvar(name):
|
||||||
"""Makes a StoreNonEmpty node for an environment variable."""
|
"""Makes a StoreNonEmpty node for an environment variable."""
|
||||||
|
@ -155,20 +159,25 @@ def make_envvar(name):
|
||||||
curr = pformat(curr, width=69)
|
curr = pformat(curr, width=69)
|
||||||
if '\n' in curr:
|
if '\n' in curr:
|
||||||
curr = '\n' + curr
|
curr = '\n' + curr
|
||||||
prompt = ENVVAR_PROMPT.format(name=name, default=default, current=curr,
|
msg = ENVVAR_MESSAGE.format(name=name, default=default, current=curr,
|
||||||
docstr=_wrap_paragraphs(vd.docstr, width=69))
|
docstr=_wrap_paragraphs(vd.docstr, width=69))
|
||||||
|
mnode = Message(message=msg)
|
||||||
ens = env.get_ensurer(name)
|
ens = env.get_ensurer(name)
|
||||||
path = '/env/' + name
|
path = '/env/' + name
|
||||||
node = StoreNonEmpty(prompt, converter=ens.convert, show_conversion=True,
|
pnode = StoreNonEmpty(ENVVAR_PROMPT, converter=ens.convert,
|
||||||
path=path)
|
show_conversion=True, path=path)
|
||||||
return node
|
return mnode, pnode
|
||||||
|
|
||||||
|
|
||||||
def make_env():
|
def make_env():
|
||||||
"""Makes an environment variable wizard."""
|
"""Makes an environment variable wizard."""
|
||||||
kids = map(make_envvar, sorted(builtins.__xonsh_env__.docs.keys()))
|
kids = map(make_envvar, sorted(builtins.__xonsh_env__.docs.keys()))
|
||||||
kids = [k for k in kids if k is not None]
|
flatkids = []
|
||||||
wiz = Wizard(children=kids)
|
for k in kids:
|
||||||
|
if k is None:
|
||||||
|
continue
|
||||||
|
flatkids.extend(k)
|
||||||
|
wiz = Wizard(children=flatkids)
|
||||||
return wiz
|
return wiz
|
||||||
|
|
||||||
|
|
||||||
|
@ -187,7 +196,8 @@ def make_wizard(default_file=None, confirm=False):
|
||||||
Load(default_file=default_file, check=True),
|
Load(default_file=default_file, check=True),
|
||||||
Message(message=WIZARD_FS),
|
Message(message=WIZARD_FS),
|
||||||
make_fs(),
|
make_fs(),
|
||||||
YesNo(question=WIZARD_ENV, yes=make_env(), no=Pass()),
|
Message(message=WIZARD_ENV),
|
||||||
|
YesNo(question=WIZARD_ENV_QUESTION, yes=make_env(), no=Pass()),
|
||||||
Message(message='\n' + HR + '\n'),
|
Message(message='\n' + HR + '\n'),
|
||||||
Save(default_file=default_file, check=True),
|
Save(default_file=default_file, check=True),
|
||||||
Message(message=WIZARD_TAIL),
|
Message(message=WIZARD_TAIL),
|
||||||
|
|
Loading…
Add table
Reference in a new issue