本文整理汇总了Python中prompt_toolkit.history.InMemoryHistory.append_string方法的典型用法代码示例。如果您正苦于以下问题:Python InMemoryHistory.append_string方法的具体用法?Python InMemoryHistory.append_string怎么用?Python InMemoryHistory.append_string使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类prompt_toolkit.history.InMemoryHistory
的用法示例。
在下文中一共展示了InMemoryHistory.append_string方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: init_prompt_toolkit_cli
# 需要导入模块: from prompt_toolkit.history import InMemoryHistory [as 别名]
# 或者: from prompt_toolkit.history.InMemoryHistory import append_string [as 别名]
def init_prompt_toolkit_cli(self):
if self.simple_prompt:
# Fall back to plain non-interactive output for tests.
# This is very limited, and only accepts a single line.
def prompt():
isp = self.input_splitter
prompt_text = "".join(x[1] for x in self.prompts.in_prompt_tokens())
prompt_continuation = "".join(x[1] for x in self.prompts.continuation_prompt_tokens())
while isp.push_accepts_more():
line = input(prompt_text)
isp.push(line)
prompt_text = prompt_continuation
return isp.source_reset()
self.prompt_for_code = prompt
return
# Set up keyboard shortcuts
key_bindings = create_ipython_shortcuts(self)
# Pre-populate history from IPython's history database
history = InMemoryHistory()
last_cell = u""
for __, ___, cell in self.history_manager.get_tail(self.history_load_length,
include_latest=True):
# Ignore blank lines and consecutive duplicates
cell = cell.rstrip()
if cell and (cell != last_cell):
history.append_string(cell)
last_cell = cell
self._style = self._make_style_from_name_or_cls(self.highlighting_style)
self.style = DynamicStyle(lambda: self._style)
editing_mode = getattr(EditingMode, self.editing_mode.upper())
self.pt_app = PromptSession(
editing_mode=editing_mode,
key_bindings=key_bindings,
history=history,
completer=IPythonPTCompleter(shell=self),
enable_history_search = self.enable_history_search,
style=self.style,
include_default_pygments_style=False,
mouse_support=self.mouse_support,
enable_open_in_editor=self.extra_open_editor_shortcuts,
color_depth=(ColorDepth.TRUE_COLOR if self.true_color else None),
**self._extra_prompt_options())
示例2: main
# 需要导入模块: from prompt_toolkit.history import InMemoryHistory [as 别名]
# 或者: from prompt_toolkit.history.InMemoryHistory import append_string [as 别名]
def main():
# Create some history first. (Easy for testing.)
history = InMemoryHistory()
history.append_string('import os')
history.append_string('print("hello")')
history.append_string('print("world")')
history.append_string('import path')
# Print help.
print('This CLI has fish-style auto-suggestion enable.')
print('Type for instance "pri", then you\'ll see a suggestion.')
print('Press the right arrow to insert the suggestion.')
print('Press Control-C to retry. Control-D to exit.')
print()
session = PromptSession(
history=history,
auto_suggest=AutoSuggestFromHistory(),
enable_history_search=True)
while True:
try:
text = session.prompt('Say something: ')
except KeyboardInterrupt:
pass # Ctrl-C pressed. Try again.
else:
break
print('You said: %s' % text)
示例3: main
# 需要导入模块: from prompt_toolkit.history import InMemoryHistory [as 别名]
# 或者: from prompt_toolkit.history.InMemoryHistory import append_string [as 别名]
def main():
# Create some history first. (Easy for testing.)
history = InMemoryHistory()
history.append_string('import os')
history.append_string('print("hello")')
history.append_string('print("world")')
history.append_string('import path')
# Print help.
print('This CLI has up-arrow partial string matching enabled.')
print('Type for instance "pri" followed by up-arrow and you')
print('get the last items starting with "pri".')
print('Press Control-C to retry. Control-D to exit.')
print()
session = PromptSession(history=history, enable_history_search=True)
while True:
try:
text = session.prompt('Say something: ')
except KeyboardInterrupt:
pass # Ctrl-C pressed. Try again.
else:
break
print('You said: %s' % text)
示例4: _history
# 需要导入模块: from prompt_toolkit.history import InMemoryHistory [as 别名]
# 或者: from prompt_toolkit.history.InMemoryHistory import append_string [as 别名]
def _history():
h = InMemoryHistory()
h.append_string('line1 first input')
h.append_string('line2 second input')
h.append_string('line3 third input')
return h
示例5: init_prompt_toolkit_cli
# 需要导入模块: from prompt_toolkit.history import InMemoryHistory [as 别名]
# 或者: from prompt_toolkit.history.InMemoryHistory import append_string [as 别名]
def init_prompt_toolkit_cli(self):
if self.simple_prompt or ('JUPYTER_CONSOLE_TEST' in os.environ):
# Simple restricted interface for tests so we can find prompts with
# pexpect. Multi-line input not supported.
def prompt():
return cast_unicode_py2(input('In [%d]: ' % self.execution_count))
self.prompt_for_code = prompt
self.print_out_prompt = \
lambda: print('Out[%d]: ' % self.execution_count, end='')
return
kb = KeyBindings()
insert_mode = vi_insert_mode | emacs_insert_mode
@kb.add("enter", filter=(has_focus(DEFAULT_BUFFER)
& ~has_selection
& insert_mode
))
def _(event):
b = event.current_buffer
d = b.document
if not (d.on_last_line or d.cursor_position_row >= d.line_count
- d.empty_line_count_at_the_end()):
b.newline()
return
# Pressing enter flushes any pending display. This also ensures
# the displayed execution_count is correct.
self.handle_iopub()
more, indent = self.check_complete(d.text)
if (not more) and b.accept_handler:
b.validate_and_handle()
else:
b.insert_text('\n' + indent)
@kb.add("c-c", filter=has_focus(DEFAULT_BUFFER))
def _(event):
event.current_buffer.reset()
@kb.add("c-\\", filter=has_focus(DEFAULT_BUFFER))
def _(event):
raise EOFError
@kb.add("c-z", filter=Condition(lambda: suspend_to_background_supported()))
def _(event):
event.cli.suspend_to_background()
# Pre-populate history from IPython's history database
history = InMemoryHistory()
last_cell = u""
for _, _, cell in self.history_manager.get_tail(self.history_load_length,
include_latest=True):
# Ignore blank lines and consecutive duplicates
cell = cast_unicode_py2(cell.rstrip())
if cell and (cell != last_cell):
history.append_string(cell)
style_overrides = {
Token.Prompt: '#009900',
Token.PromptNum: '#00ff00 bold',
Token.OutPrompt: '#ff2200',
Token.OutPromptNum: '#ff0000 bold',
}
if self.highlighting_style:
style_cls = get_style_by_name(self.highlighting_style)
else:
style_cls = get_style_by_name('default')
# The default theme needs to be visible on both a dark background
# and a light background, because we can't tell what the terminal
# looks like. These tweaks to the default theme help with that.
style_overrides.update({
Token.Number: '#007700',
Token.Operator: 'noinherit',
Token.String: '#BB6622',
Token.Name.Function: '#2080D0',
Token.Name.Class: 'bold #2080D0',
Token.Name.Namespace: 'bold #2080D0',
})
style_overrides.update(self.highlighting_style_overrides)
style = merge_styles([
style_from_pygments_cls(style_cls),
style_from_pygments_dict(style_overrides),
])
editing_mode = getattr(EditingMode, self.editing_mode.upper())
langinfo = self.kernel_info.get('language_info', {})
lexer = langinfo.get('pygments_lexer', langinfo.get('name', 'text'))
# If enabled in the settings, highlight matching brackets
# when the DEFAULT_BUFFER has the focus
input_processors = [ConditionalProcessor(
processor=HighlightMatchingBracketProcessor(chars='[](){}'),
filter=has_focus(DEFAULT_BUFFER) & ~is_done &
Condition(lambda: self.highlight_matching_brackets))
]
self.pt_cli = PromptSession(
message=(lambda: PygmentsTokens(self.get_prompt_tokens())),
#.........这里部分代码省略.........
示例6: _history
# 需要导入模块: from prompt_toolkit.history import InMemoryHistory [as 别名]
# 或者: from prompt_toolkit.history.InMemoryHistory import append_string [as 别名]
def _history():
" Prefilled history. "
history = InMemoryHistory()
history.append_string('alpha beta gamma delta')
history.append_string('one two three four')
return history