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
|
||||
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 = """
|
||||
Thanks for using the xonsh configuration wizard!"""
|
||||
|
||||
|
||||
|
||||
def make_fs():
|
||||
"""Makes the foreign shell part of the wizard."""
|
||||
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)
|
||||
return s
|
||||
|
||||
ENVVAR_PROMPT = """
|
||||
ENVVAR_MESSAGE = """
|
||||
{{BOLD_CYAN}}${name}{{NO_COLOR}}
|
||||
{docstr}
|
||||
{{RED}}default value:{{NO_COLOR}} {default}
|
||||
{{RED}}current value:{{NO_COLOR}} {current}
|
||||
{{BOLD_GREEN}}>>>{{NO_COLOR}} """
|
||||
{{RED}}current value:{{NO_COLOR}} {current}"""
|
||||
|
||||
ENVVAR_PROMPT = "{BOLD_GREEN}>>>{NO_COLOR} "
|
||||
|
||||
def make_envvar(name):
|
||||
"""Makes a StoreNonEmpty node for an environment variable."""
|
||||
|
@ -155,20 +159,25 @@ def make_envvar(name):
|
|||
curr = pformat(curr, width=69)
|
||||
if '\n' in 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))
|
||||
mnode = Message(message=msg)
|
||||
ens = env.get_ensurer(name)
|
||||
path = '/env/' + name
|
||||
node = StoreNonEmpty(prompt, converter=ens.convert, show_conversion=True,
|
||||
path=path)
|
||||
return node
|
||||
pnode = StoreNonEmpty(ENVVAR_PROMPT, converter=ens.convert,
|
||||
show_conversion=True, path=path)
|
||||
return mnode, pnode
|
||||
|
||||
|
||||
def make_env():
|
||||
"""Makes an environment variable wizard."""
|
||||
kids = map(make_envvar, sorted(builtins.__xonsh_env__.docs.keys()))
|
||||
kids = [k for k in kids if k is not None]
|
||||
wiz = Wizard(children=kids)
|
||||
flatkids = []
|
||||
for k in kids:
|
||||
if k is None:
|
||||
continue
|
||||
flatkids.extend(k)
|
||||
wiz = Wizard(children=flatkids)
|
||||
return wiz
|
||||
|
||||
|
||||
|
@ -187,7 +196,8 @@ def make_wizard(default_file=None, confirm=False):
|
|||
Load(default_file=default_file, check=True),
|
||||
Message(message=WIZARD_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'),
|
||||
Save(default_file=default_file, check=True),
|
||||
Message(message=WIZARD_TAIL),
|
||||
|
|
Loading…
Add table
Reference in a new issue