from IPython.terminal.prompts import Prompts, Token
import os
class MyPrompt(Prompts):
def in_prompt_tokens(self, cli=None): # default
return [
(Token.Prompt, 'In ['),
(Token.PromptNum, str(self.shell.execution_count)),
(Token.Prompt, ']: '),
]
def in_prompt_tokens(self, cli=None): # sample
return [(Token, os.getcwd()),
(Token.Prompt, ' >>>')]
def in_prompt_tokens(self, cli=None): # custom
path = os.path.basename(os.getcwd())
return [
(Token.Prompt, '<'),
(Token.PromptNum, '~/'+path),
(Token.Prompt, '>'),
(Token.Prompt, '['),
(Token.PromptNum, str(self.shell.execution_count)),
(Token.Prompt, ']: '),
]
def in_prompt_tokens(self, cli=None): # custom
path = os.path.basename(os.getcwd())
return [
(Token.PromptNum, str(self.shell.execution_count)),
(Token.Prompt, ':'),
(Token.PromptNum, '~/'+path),
(Token.Prompt, '$ '),
]
"""
use:
import myprompt as MP
ip=get_ipython()
ip.prompts=MP.MyPrompt(ip)
"""
我使用此脚本尝试了各种提示。它包括默认 in_prompt_tokens
方法,示例自定义示例和几个替代方法。最后模仿我的bash
提示
73:~/mypy$
在外观中,元(Token..., str)
组根据设置字符串的颜色token_type
。Token
,Token.Prompt
,Token.PromptNum
可能的类型。寻找Token.<tab>
更多(例如OutPrompt(Num)
)。
IPython/terminal/prompts.py
我可能不会使用其中任何一个,因为我喜欢默认的匹配In /Out
对。此外,我可以使用--term-title
在标签标题中显示目录。