Python prompt_toolkit.application.Application() Examples
The following are 25
code examples of prompt_toolkit.application.Application().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
prompt_toolkit.application
, or try the search function
.
Example #1
Source File: main.py From pymux with BSD 3-Clause "New" or "Revised" License | 6 votes |
def listen_on_socket(self, socket_name=None): """ Listen for clients on a Unix socket. Returns the socket name. """ def connection_cb(pipe_connection): # We have to create a new `context`, because this will be the scope for # a new prompt_toolkit.Application to become active. with context(): connection = ServerConnection(self, pipe_connection) self.connections.append(connection) self.socket_name = bind_and_listen_on_socket(socket_name, connection_cb) # Set session_name according to socket name. # if '.' in self.socket_name: # self.session_name = self.socket_name.rpartition('.')[-1] logger.info('Listening on %r.' % self.socket_name) return self.socket_name
Example #2
Source File: dialogs.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 6 votes |
def message_dialog( title: AnyFormattedText = "", text: AnyFormattedText = "", ok_text: str = "Ok", style: Optional[BaseStyle] = None, ) -> Application[None]: """ Display a simple message box and wait until the user presses enter. """ dialog = Dialog( title=title, body=Label(text=text, dont_extend_height=True), buttons=[Button(text=ok_text, handler=_return_none),], with_background=True, ) return _create_app(dialog, style)
Example #3
Source File: utils.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 6 votes |
def print_container(container: "Container", file: Optional[TextIO] = None) -> None: """ Print any layout to the output in a non-interactive way. Example usage:: from prompt_toolkit.widgets import Frame, TextArea print_container( Frame(TextArea(text='Hello world!'))) """ if file: output = create_output(stdout=file) else: output = get_app_session().output def exit_immediately() -> None: # Use `call_from_executor` to exit "soon", so that we still render one # initial time, before exiting the application. get_event_loop().call_soon(lambda: app.exit()) app: Application[None] = Application( layout=Layout(container=container), output=output, input=DummyInput() ) app.run(pre_run=exit_immediately)
Example #4
Source File: line-prefixes.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Disable/enable wrapping. " global wrap_lines wrap_lines = not wrap_lines # The `Application`
Example #5
Source File: editor.py From pyvim with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _create_application(self): """ Create CommandLineInterface instance. """ # Create Application. application = Application( input=self.input, output=self.output, editing_mode=EditingMode.VI, layout=self.editor_layout.layout, key_bindings=self.key_bindings, # get_title=lambda: get_terminal_title(self), style=DynamicStyle(lambda: self.current_style), paste_mode=Condition(lambda: self.paste_mode), # ignore_case=Condition(lambda: self.ignore_case), # TODO include_default_pygments_style=False, mouse_support=Condition(lambda: self.enable_mouse_support), full_screen=True, enable_page_navigation_bindings=True) # Handle command line previews. # (e.g. when typing ':colorscheme blue', it should already show the # preview before pressing enter.) def preview(_): if self.application.layout.has_focus(self.command_buffer): self.previewer.preview(self.command_buffer.text) self.command_buffer.on_text_changed += preview return application
Example #6
Source File: test_key_binding.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def set_dummy_app(): """ Return a context manager that makes sure that this dummy application is active. This is important, because we need an `Application` with `is_done=False` flag, otherwise no keys will be processed. """ app = Application( layout=Layout(Window()), output=DummyOutput(), input=create_pipe_input() ) return set_app(app)
Example #7
Source File: dialogs.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def checkboxlist_dialog( title: AnyFormattedText = "", text: AnyFormattedText = "", ok_text: str = "Ok", cancel_text: str = "Cancel", values: Optional[List[Tuple[_T, AnyFormattedText]]] = None, style: Optional[BaseStyle] = None, ) -> Application[List[_T]]: """ Display a simple list of element the user can choose multiple values amongst. Several elements can be selected at a time using Arrow keys and Enter. The focus can be moved between the list and the Ok/Cancel button with tab. """ if values is None: values = [] def ok_handler() -> None: get_app().exit(result=cb_list.current_values) cb_list = CheckboxList(values) dialog = Dialog( title=title, body=HSplit([Label(text=text, dont_extend_height=True), cb_list,], padding=1), buttons=[ Button(text=ok_text, handler=ok_handler), Button(text=cancel_text, handler=_return_none), ], with_background=True, ) return _create_app(dialog, style)
Example #8
Source File: dialogs.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def radiolist_dialog( title: AnyFormattedText = "", text: AnyFormattedText = "", ok_text: str = "Ok", cancel_text: str = "Cancel", values: Optional[List[Tuple[_T, AnyFormattedText]]] = None, style: Optional[BaseStyle] = None, ) -> Application[_T]: """ Display a simple list of element the user can choose amongst. Only one element can be selected at a time using Arrow keys and Enter. The focus can be moved between the list and the Ok/Cancel button with tab. """ if values is None: values = [] def ok_handler() -> None: get_app().exit(result=radio_list.current_value) radio_list = RadioList(values) dialog = Dialog( title=title, body=HSplit( [Label(text=text, dont_extend_height=True), radio_list,], padding=1 ), buttons=[ Button(text=ok_text, handler=ok_handler), Button(text=cancel_text, handler=_return_none), ], with_background=True, ) return _create_app(dialog, style)
Example #9
Source File: dialogs.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def input_dialog( title: AnyFormattedText = "", text: AnyFormattedText = "", ok_text: str = "OK", cancel_text: str = "Cancel", completer: Optional[Completer] = None, password: FilterOrBool = False, style: Optional[BaseStyle] = None, ) -> Application[str]: """ Display a text input box. Return the given text, or None when cancelled. """ def accept(buf: Buffer) -> bool: get_app().layout.focus(ok_button) return True # Keep text. def ok_handler() -> None: get_app().exit(result=textfield.text) ok_button = Button(text=ok_text, handler=ok_handler) cancel_button = Button(text=cancel_text, handler=_return_none) textfield = TextArea( multiline=False, password=password, completer=completer, accept_handler=accept ) dialog = Dialog( title=title, body=HSplit( [Label(text=text, dont_extend_height=True), textfield,], padding=D(preferred=1, max=1), ), buttons=[ok_button, cancel_button], with_background=True, ) return _create_app(dialog, style)
Example #10
Source File: dialogs.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def yes_no_dialog( title: AnyFormattedText = "", text: AnyFormattedText = "", yes_text: str = "Yes", no_text: str = "No", style: Optional[BaseStyle] = None, ) -> Application[bool]: """ Display a Yes/No dialog. Return a boolean. """ def yes_handler() -> None: get_app().exit(result=True) def no_handler() -> None: get_app().exit(result=False) dialog = Dialog( title=title, body=Label(text=text, dont_extend_height=True), buttons=[ Button(text=yes_text, handler=yes_handler), Button(text=no_text, handler=no_handler), ], with_background=True, ) return _create_app(dialog, style)
Example #11
Source File: key_processor.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def cli(self) -> "Application": " For backward-compatibility. " return self.app
Example #12
Source File: key_processor.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def app(self) -> "Application[Any]": """ The current `Application` object. """ return self._app
Example #13
Source File: focus.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): event.app.layout.focus_previous() # 3. The `Application`
Example #14
Source File: cursorcolumn-cursorline.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #15
Source File: vertical-align.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #16
Source File: horizontal-align.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #17
Source File: floats.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #18
Source File: float-transparency.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #19
Source File: vertical-split.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #20
Source File: colorcolumn.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #21
Source File: horizontal-split.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #22
Source File: alignment.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _(event): " Quit application. " event.app.exit() # 3. The `Application`
Example #23
Source File: python_input.py From ptpython with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _create_application( self, input: Optional[Input], output: Optional[Output] ) -> Application: """ Create an `Application` instance. """ return Application( layout=self.ptpython_layout.layout, key_bindings=merge_key_bindings( [ load_python_bindings(self), load_auto_suggest_bindings(), load_sidebar_bindings(self), load_confirm_exit_bindings(self), ConditionalKeyBindings( load_open_in_editor_bindings(), Condition(lambda: self.enable_open_in_editor), ), # Extra key bindings should not be active when the sidebar is visible. ConditionalKeyBindings( self.extra_key_bindings, Condition(lambda: not self.show_sidebar), ), ] ), color_depth=lambda: self.color_depth, paste_mode=Condition(lambda: self.paste_mode), mouse_support=Condition(lambda: self.enable_mouse_support), style=DynamicStyle(lambda: self._current_style), style_transformation=self.style_transformation, include_default_pygments_style=False, reverse_vi_search_direction=True, input=input, output=output, )
Example #24
Source File: history_browser.py From ptpython with BSD 3-Clause "New" or "Revised" License | 4 votes |
def __init__(self, python_input, original_document): """ Create an `Application` for the history screen. This has to be run as a sub application of `python_input`. When this application runs and returns, it retuns the selected lines. """ self.python_input = python_input history_mapping = HistoryMapping(self, python_input.history, original_document) self.history_mapping = history_mapping document = Document(history_mapping.concatenated_history) document = Document( document.text, cursor_position=document.cursor_position + document.get_start_of_line_position(), ) self.history_buffer = Buffer( document=document, on_cursor_position_changed=self._history_buffer_pos_changed, accept_handler=( lambda buff: get_app().exit(result=self.default_buffer.text) ), read_only=True, ) self.default_buffer = Buffer( name=DEFAULT_BUFFER, document=history_mapping.get_new_document(), on_cursor_position_changed=self._default_buffer_pos_changed, read_only=True, ) self.help_buffer = Buffer(document=Document(HELP_TEXT, 0), read_only=True) self.history_layout = HistoryLayout(self) self.app = Application( layout=self.history_layout.layout, full_screen=True, style=python_input._current_style, mouse_support=Condition(lambda: python_input.enable_mouse_support), key_bindings=create_key_bindings(self, python_input, history_mapping), )
Example #25
Source File: dialogs.py From python-prompt-toolkit with BSD 3-Clause "New" or "Revised" License | 4 votes |
def progress_dialog( title: AnyFormattedText = "", text: AnyFormattedText = "", run_callback: Callable[[Callable[[int], None], Callable[[str], None]], None] = ( lambda *a: None ), style: Optional[BaseStyle] = None, ) -> Application[None]: """ :param run_callback: A function that receives as input a `set_percentage` function and it does the work. """ loop = get_event_loop() progressbar = ProgressBar() text_area = TextArea( focusable=False, # Prefer this text area as big as possible, to avoid having a window # that keeps resizing when we add text to it. height=D(preferred=10 ** 10), ) dialog = Dialog( body=HSplit( [Box(Label(text=text)), Box(text_area, padding=D.exact(1)), progressbar,] ), title=title, with_background=True, ) app = _create_app(dialog, style) def set_percentage(value: int) -> None: progressbar.percentage = int(value) app.invalidate() def log_text(text: str) -> None: loop.call_soon_threadsafe(text_area.buffer.insert_text, text) app.invalidate() # Run the callback in the executor. When done, set a return value for the # UI, so that it quits. def start() -> None: try: run_callback(set_percentage, log_text) finally: app.exit() def pre_run() -> None: run_in_executor_with_context(start) app.pre_run_callables.append(pre_run) return app