aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/ipython/py3/IPython/terminal/prompts.py
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.ru>2022-02-10 16:44:30 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:44:30 +0300
commit2598ef1d0aee359b4b6d5fdd1758916d5907d04f (patch)
tree012bb94d777798f1f56ac1cec429509766d05181 /contrib/python/ipython/py3/IPython/terminal/prompts.py
parent6751af0b0c1b952fede40b19b71da8025b5d8bcf (diff)
downloadydb-2598ef1d0aee359b4b6d5fdd1758916d5907d04f.tar.gz
Restoring authorship annotation for <shadchin@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/python/ipython/py3/IPython/terminal/prompts.py')
-rw-r--r--contrib/python/ipython/py3/IPython/terminal/prompts.py216
1 files changed, 108 insertions, 108 deletions
diff --git a/contrib/python/ipython/py3/IPython/terminal/prompts.py b/contrib/python/ipython/py3/IPython/terminal/prompts.py
index 3f5c07b980..55e90ccdd3 100644
--- a/contrib/python/ipython/py3/IPython/terminal/prompts.py
+++ b/contrib/python/ipython/py3/IPython/terminal/prompts.py
@@ -1,108 +1,108 @@
-"""Terminal input and output prompts."""
-
-from pygments.token import Token
-import sys
-
-from IPython.core.displayhook import DisplayHook
-
-from prompt_toolkit.formatted_text import fragment_list_width, PygmentsTokens
-from prompt_toolkit.shortcuts import print_formatted_text
-from prompt_toolkit.enums import EditingMode
-
-
-class Prompts(object):
- def __init__(self, shell):
- self.shell = shell
-
- def vi_mode(self):
- if (getattr(self.shell.pt_app, 'editing_mode', None) == EditingMode.VI
- and self.shell.prompt_includes_vi_mode):
- mode = str(self.shell.pt_app.app.vi_state.input_mode)
- if mode.startswith('InputMode.'):
- mode = mode[10:13].lower()
- elif mode.startswith('vi-'):
- mode = mode[3:6]
- return '['+mode+'] '
- return ''
-
-
- def in_prompt_tokens(self):
- return [
- (Token.Prompt, self.vi_mode() ),
- (Token.Prompt, 'In ['),
- (Token.PromptNum, str(self.shell.execution_count)),
- (Token.Prompt, ']: '),
- ]
-
- def _width(self):
- return fragment_list_width(self.in_prompt_tokens())
-
- def continuation_prompt_tokens(self, width=None):
- if width is None:
- width = self._width()
- return [
- (Token.Prompt, (' ' * (width - 5)) + '...: '),
- ]
-
- def rewrite_prompt_tokens(self):
- width = self._width()
- return [
- (Token.Prompt, ('-' * (width - 2)) + '> '),
- ]
-
- def out_prompt_tokens(self):
- return [
- (Token.OutPrompt, 'Out['),
- (Token.OutPromptNum, str(self.shell.execution_count)),
- (Token.OutPrompt, ']: '),
- ]
-
-class ClassicPrompts(Prompts):
- def in_prompt_tokens(self):
- return [
- (Token.Prompt, '>>> '),
- ]
-
- def continuation_prompt_tokens(self, width=None):
- return [
- (Token.Prompt, '... ')
- ]
-
- def rewrite_prompt_tokens(self):
- return []
-
- def out_prompt_tokens(self):
- return []
-
-class RichPromptDisplayHook(DisplayHook):
- """Subclass of base display hook using coloured prompt"""
- def write_output_prompt(self):
- sys.stdout.write(self.shell.separate_out)
- # If we're not displaying a prompt, it effectively ends with a newline,
- # because the output will be left-aligned.
- self.prompt_end_newline = True
-
- if self.do_full_cache:
- tokens = self.shell.prompts.out_prompt_tokens()
- prompt_txt = ''.join(s for t, s in tokens)
- if prompt_txt and not prompt_txt.endswith('\n'):
- # Ask for a newline before multiline output
- self.prompt_end_newline = False
-
- if self.shell.pt_app:
- print_formatted_text(PygmentsTokens(tokens),
- style=self.shell.pt_app.app.style, end='',
- )
- else:
- sys.stdout.write(prompt_txt)
-
- def write_format_data(self, format_dict, md_dict=None) -> None:
- if self.shell.mime_renderers:
-
- for mime, handler in self.shell.mime_renderers.items():
- if mime in format_dict:
- handler(format_dict[mime], None)
- return
-
- super().write_format_data(format_dict, md_dict)
-
+"""Terminal input and output prompts."""
+
+from pygments.token import Token
+import sys
+
+from IPython.core.displayhook import DisplayHook
+
+from prompt_toolkit.formatted_text import fragment_list_width, PygmentsTokens
+from prompt_toolkit.shortcuts import print_formatted_text
+from prompt_toolkit.enums import EditingMode
+
+
+class Prompts(object):
+ def __init__(self, shell):
+ self.shell = shell
+
+ def vi_mode(self):
+ if (getattr(self.shell.pt_app, 'editing_mode', None) == EditingMode.VI
+ and self.shell.prompt_includes_vi_mode):
+ mode = str(self.shell.pt_app.app.vi_state.input_mode)
+ if mode.startswith('InputMode.'):
+ mode = mode[10:13].lower()
+ elif mode.startswith('vi-'):
+ mode = mode[3:6]
+ return '['+mode+'] '
+ return ''
+
+
+ def in_prompt_tokens(self):
+ return [
+ (Token.Prompt, self.vi_mode() ),
+ (Token.Prompt, 'In ['),
+ (Token.PromptNum, str(self.shell.execution_count)),
+ (Token.Prompt, ']: '),
+ ]
+
+ def _width(self):
+ return fragment_list_width(self.in_prompt_tokens())
+
+ def continuation_prompt_tokens(self, width=None):
+ if width is None:
+ width = self._width()
+ return [
+ (Token.Prompt, (' ' * (width - 5)) + '...: '),
+ ]
+
+ def rewrite_prompt_tokens(self):
+ width = self._width()
+ return [
+ (Token.Prompt, ('-' * (width - 2)) + '> '),
+ ]
+
+ def out_prompt_tokens(self):
+ return [
+ (Token.OutPrompt, 'Out['),
+ (Token.OutPromptNum, str(self.shell.execution_count)),
+ (Token.OutPrompt, ']: '),
+ ]
+
+class ClassicPrompts(Prompts):
+ def in_prompt_tokens(self):
+ return [
+ (Token.Prompt, '>>> '),
+ ]
+
+ def continuation_prompt_tokens(self, width=None):
+ return [
+ (Token.Prompt, '... ')
+ ]
+
+ def rewrite_prompt_tokens(self):
+ return []
+
+ def out_prompt_tokens(self):
+ return []
+
+class RichPromptDisplayHook(DisplayHook):
+ """Subclass of base display hook using coloured prompt"""
+ def write_output_prompt(self):
+ sys.stdout.write(self.shell.separate_out)
+ # If we're not displaying a prompt, it effectively ends with a newline,
+ # because the output will be left-aligned.
+ self.prompt_end_newline = True
+
+ if self.do_full_cache:
+ tokens = self.shell.prompts.out_prompt_tokens()
+ prompt_txt = ''.join(s for t, s in tokens)
+ if prompt_txt and not prompt_txt.endswith('\n'):
+ # Ask for a newline before multiline output
+ self.prompt_end_newline = False
+
+ if self.shell.pt_app:
+ print_formatted_text(PygmentsTokens(tokens),
+ style=self.shell.pt_app.app.style, end='',
+ )
+ else:
+ sys.stdout.write(prompt_txt)
+
+ def write_format_data(self, format_dict, md_dict=None) -> None:
+ if self.shell.mime_renderers:
+
+ for mime, handler in self.shell.mime_renderers.items():
+ if mime in format_dict:
+ handler(format_dict[mime], None)
+ return
+
+ super().write_format_data(format_dict, md_dict)
+