kenichi-shibata
7/5/2017 - 9:22 AM

My custom IPython prompts

My custom IPython prompts

# encoding: utf-8
from IPython.terminal.prompts import Prompts, Token
import os

class MyPrompts(Prompts):
    def in_prompt_tokens(self, cli=None):
        return [
            (Token, ' '),
            (Token.PromptNum, str(self.shell.execution_count)),
            (Token.Prompt, u'│ '),
        ]
    
    def continuation_prompt_tokens(self, cli=None, width=None):
        if width is None:
            width = self._width()
        return [
            (Token.Prompt, (' ' * (width - 2)) + u'│ '),
        ]

    def out_prompt_tokens(self):
        return [
            (Token, ' '),
            (Token.OutPromptNum, str(self.shell.execution_count)),
            (Token.OutPrompt, '> '),
        ]

ip = get_ipython()
if getattr(ip, 'pt_cli'):
    ip.prompts = MyPrompts(ip)