prompt_toolkit_shell.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:gitsome 作者: donnemartin 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号