本文整理汇总了Python中prompt_toolkit.key_binding.vi_state.InputMode.INSERT属性的典型用法代码示例。如果您正苦于以下问题:Python InputMode.INSERT属性的具体用法?Python InputMode.INSERT怎么用?Python InputMode.INSERT使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类prompt_toolkit.key_binding.vi_state.InputMode
的用法示例。
在下文中一共展示了InputMode.INSERT属性的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: enter_history
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def enter_history(self) -> None:
"""
Display the history.
"""
app = get_app()
app.vi_state.input_mode = InputMode.NAVIGATION
history = PythonHistory(self, self.default_buffer.document)
from prompt_toolkit.application import in_terminal
import asyncio
async def do_in_terminal() -> None:
async with in_terminal():
result = await history.app.run_async()
if result is not None:
self.default_buffer.text = result
app.vi_state.input_mode = InputMode.INSERT
asyncio.ensure_future(do_in_terminal())
示例2: _get_vi_mode
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def _get_vi_mode():
return {
InputMode.INSERT: "I",
InputMode.NAVIGATION: "N",
InputMode.REPLACE: "R",
InputMode.INSERT_MULTIPLE: "M",
}[get_app().vi_state.input_mode]
示例3: _get_vi_mode
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def _get_vi_mode():
"""Get the current vi mode for display."""
return {
InputMode.INSERT: "I",
InputMode.NAVIGATION: "N",
InputMode.REPLACE: "R",
InputMode.INSERT_MULTIPLE: "M",
}[get_app().vi_state.input_mode]
示例4: _get_vi_mode
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def _get_vi_mode():
"""Get the current vi mode for display."""
return {
InputMode.INSERT: 'I',
InputMode.NAVIGATION: 'N',
InputMode.REPLACE: 'R',
InputMode.INSERT_MULTIPLE: 'M',
}[get_app().vi_state.input_mode]
示例5: _get_vi_mode
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def _get_vi_mode():
return {
InputMode.INSERT: 'I',
InputMode.NAVIGATION: 'N',
InputMode.REPLACE: 'R',
InputMode.INSERT_MULTIPLE: 'M',
}[get_app().vi_state.input_mode]
示例6: enter_command_mode
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def enter_command_mode(self):
"""
Go into command mode.
"""
self.application.layout.focus(self.command_buffer)
self.application.vi_state.input_mode = InputMode.INSERT
self.previewer.save()
示例7: load_vi_system_bindings
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def load_vi_system_bindings():
registry = ConditionalRegistry(Registry(), ViMode())
handle = registry.add_binding
has_focus = filters.HasFocus(SYSTEM_BUFFER)
navigation_mode = ViNavigationMode()
@handle('!', filter=~has_focus & navigation_mode)
def _(event):
"""
'!' opens the system prompt.
"""
event.cli.push_focus(SYSTEM_BUFFER)
event.cli.vi_state.input_mode = InputMode.INSERT
@handle(Keys.Escape, filter=has_focus)
@handle(Keys.ControlC, filter=has_focus)
def _(event):
"""
Cancel system prompt.
"""
event.cli.vi_state.input_mode = InputMode.NAVIGATION
event.cli.buffers[SYSTEM_BUFFER].reset()
event.cli.pop_focus()
@handle(Keys.ControlJ, filter=has_focus)
def _(event):
"""
Run system command.
"""
event.cli.vi_state.input_mode = InputMode.NAVIGATION
system_buffer = event.cli.buffers[SYSTEM_BUFFER]
event.cli.run_system_command(system_buffer.text)
system_buffer.reset(append_to_history=True)
# Focus previous buffer again.
event.cli.pop_focus()
return registry
示例8: get_inputmode_fragments
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def get_inputmode_fragments(python_input: "PythonInput") -> StyleAndTextTuples:
"""
Return current input mode as a list of (token, text) tuples for use in a
toolbar.
"""
app = get_app()
@if_mousedown
def toggle_vi_mode(mouse_event: MouseEvent) -> None:
python_input.vi_mode = not python_input.vi_mode
token = "class:status-toolbar"
input_mode_t = "class:status-toolbar.input-mode"
mode = app.vi_state.input_mode
result: StyleAndTextTuples = []
append = result.append
if python_input.title:
result.extend(to_formatted_text(python_input.title))
append((input_mode_t, "[F4] ", toggle_vi_mode))
# InputMode
if python_input.vi_mode:
recording_register = app.vi_state.recording_register
if recording_register:
append((token, " "))
append((token + " class:record", "RECORD({})".format(recording_register)))
append((token, " - "))
if app.current_buffer.selection_state is not None:
if app.current_buffer.selection_state.type == SelectionType.LINES:
append((input_mode_t, "Vi (VISUAL LINE)", toggle_vi_mode))
elif app.current_buffer.selection_state.type == SelectionType.CHARACTERS:
append((input_mode_t, "Vi (VISUAL)", toggle_vi_mode))
append((token, " "))
elif app.current_buffer.selection_state.type == SelectionType.BLOCK:
append((input_mode_t, "Vi (VISUAL BLOCK)", toggle_vi_mode))
append((token, " "))
elif mode in (InputMode.INSERT, "vi-insert-multiple"):
append((input_mode_t, "Vi (INSERT)", toggle_vi_mode))
append((token, " "))
elif mode == InputMode.NAVIGATION:
append((input_mode_t, "Vi (NAV)", toggle_vi_mode))
append((token, " "))
elif mode == InputMode.REPLACE:
append((input_mode_t, "Vi (REPLACE)", toggle_vi_mode))
append((token, " "))
else:
if app.emacs_state.is_recording:
append((token, " "))
append((token + " class:record", "RECORD"))
append((token, " - "))
append((input_mode_t, "Emacs", toggle_vi_mode))
append((token, " "))
return result
示例9: __init__
# 需要导入模块: from prompt_toolkit.key_binding.vi_state import InputMode [as 别名]
# 或者: from prompt_toolkit.key_binding.vi_state.InputMode import INSERT [as 别名]
def __init__(self, editor, editor_buffer):
def get_text():
app = get_app()
insert_mode = app.vi_state.input_mode in (InputMode.INSERT, InputMode.INSERT_MULTIPLE)
replace_mode = app.vi_state.input_mode == InputMode.REPLACE
sel = editor_buffer.buffer.selection_state
temp_navigation = app.vi_state.temporary_navigation_mode
visual_line = sel is not None and sel.type == SelectionType.LINES
visual_block = sel is not None and sel.type == SelectionType.BLOCK
visual_char = sel is not None and sel.type == SelectionType.CHARACTERS
def mode():
if get_app().layout.has_focus(editor_buffer.buffer):
if insert_mode:
if temp_navigation:
return ' -- (insert) --'
elif editor.paste_mode:
return ' -- INSERT (paste)--'
else:
return ' -- INSERT --'
elif replace_mode:
if temp_navigation:
return ' -- (replace) --'
else:
return ' -- REPLACE --'
elif visual_block:
return ' -- VISUAL BLOCK --'
elif visual_line:
return ' -- VISUAL LINE --'
elif visual_char:
return ' -- VISUAL --'
return ' '
def recording():
if app.vi_state.recording_register:
return 'recording '
else:
return ''
return ''.join([
' ',
recording(),
(editor_buffer.location or ''),
(' [New File]' if editor_buffer.is_new else ''),
('*' if editor_buffer.has_unsaved_changes else ''),
(' '),
mode(),
])
super(WindowStatusBar, self).__init__(
get_text,
style='class:toolbar.status')