def _get_prompt_tokens_and_style(self):
"""Returns function to pass as prompt to prompt_toolkit."""
token_names, cstyles, strings = format_prompt_for_prompt_toolkit(self.prompt)
tokens = [getattr(Token, n) for n in token_names]
def get_tokens(cli):
return list(zip(tokens, strings))
class CustomStyle(Style):
styles = {
Token.Menu.Completions.Completion.Current: 'bg:#00aaaa #000000',
Token.Menu.Completions.Completion: 'bg:#008888 #ffffff',
Token.Menu.Completions.Meta.Current: 'bg:#00aaaa #000000',
Token.Menu.Completions.Meta: 'bg:#00aaaa #ffffff',
Token.Menu.Completions.ProgressButton: 'bg:#003333',
Token.Menu.Completions.ProgressBar: 'bg:#00aaaa',
Token.Toolbar: 'bg:#222222 #cccccc',
Token.Scrollbar: 'bg:#00aaaa',
Token.Scrollbar.Button: 'bg:#003333',
Token.Toolbar.Off: 'bg:#222222 #696969',
Token.Toolbar.On: 'bg:#222222 #ffffff',
Token.Toolbar.Search: 'noinherit bold',
Token.Toolbar.Search.Text: 'nobold',
Token.Toolbar.System: 'noinherit bold',
Token.Toolbar.Arg: 'noinherit bold',
Token.Toolbar.Arg.Text: 'nobold',
Token.AutoSuggestion: '#666666',
Token.Aborted: '#888888',
}
# update with the prompt styles
styles.update({t: s for (t, s) in zip(tokens, cstyles)})
# Update with with any user styles
userstyle = builtins.__xonsh_env__.get('PROMPT_TOOLKIT_STYLES')
if userstyle is not None:
styles.update(userstyle)
return get_tokens, CustomStyle
评论列表
文章目录