gitextract_htk8glhs/ ├── .codecov.yml ├── .github/ │ └── workflows/ │ └── test.yaml ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yml ├── AUTHORS.rst ├── CHANGELOG ├── LICENSE ├── MANIFEST.in ├── PROJECTS.rst ├── README.rst ├── appveyor.yml ├── docs/ │ ├── conf.py │ ├── index.rst │ ├── make.bat │ ├── pages/ │ │ ├── advanced_topics/ │ │ │ ├── architecture.rst │ │ │ ├── asyncio.rst │ │ │ ├── filters.rst │ │ │ ├── index.rst │ │ │ ├── input_hooks.rst │ │ │ ├── key_bindings.rst │ │ │ ├── rendering_flow.rst │ │ │ ├── rendering_pipeline.rst │ │ │ ├── styling.rst │ │ │ └── unit_testing.rst │ │ ├── asking_for_a_choice.rst │ │ ├── asking_for_input.rst │ │ ├── dialogs.rst │ │ ├── full_screen_apps.rst │ │ ├── gallery.rst │ │ ├── getting_started.rst │ │ ├── printing_text.rst │ │ ├── progress_bars.rst │ │ ├── reference.rst │ │ ├── related_projects.rst │ │ ├── tutorials/ │ │ │ ├── index.rst │ │ │ └── repl.rst │ │ └── upgrading/ │ │ ├── 2.0.rst │ │ ├── 3.0.rst │ │ └── index.rst │ └── requirements.txt ├── examples/ │ ├── choices/ │ │ ├── color.py │ │ ├── default.py │ │ ├── frame-and-bottom-toolbar.py │ │ ├── gray-frame-on-accept.py │ │ ├── many-choices.py │ │ ├── mouse-support.py │ │ ├── simple-selection.py │ │ └── with-frame.py │ ├── dialogs/ │ │ ├── button_dialog.py │ │ ├── checkbox_dialog.py │ │ ├── input_dialog.py │ │ ├── messagebox.py │ │ ├── password_dialog.py │ │ ├── progress_dialog.py │ │ ├── radio_dialog.py │ │ ├── styled_messagebox.py │ │ └── yes_no_dialog.py │ ├── full-screen/ │ │ ├── ansi-art-and-textarea.py │ │ ├── buttons.py │ │ ├── calculator.py │ │ ├── dummy-app.py │ │ ├── full-screen-demo.py │ │ ├── hello-world.py │ │ ├── no-layout.py │ │ ├── pager.py │ │ ├── scrollable-panes/ │ │ │ ├── simple-example.py │ │ │ └── with-completion-menu.py │ │ ├── simple-demos/ │ │ │ ├── alignment.py │ │ │ ├── autocompletion.py │ │ │ ├── colorcolumn.py │ │ │ ├── cursorcolumn-cursorline.py │ │ │ ├── float-transparency.py │ │ │ ├── floats.py │ │ │ ├── focus.py │ │ │ ├── horizontal-align.py │ │ │ ├── horizontal-split.py │ │ │ ├── line-prefixes.py │ │ │ ├── margins.py │ │ │ ├── vertical-align.py │ │ │ └── vertical-split.py │ │ ├── split-screen.py │ │ └── text-editor.py │ ├── gevent-get-input.py │ ├── print-text/ │ │ ├── ansi-colors.py │ │ ├── ansi.py │ │ ├── html.py │ │ ├── named-colors.py │ │ ├── print-formatted-text.py │ │ ├── print-frame.py │ │ ├── prompt-toolkit-logo-ansi-art.py │ │ ├── pygments-tokens.py │ │ └── true-color-demo.py │ ├── progress-bar/ │ │ ├── a-lot-of-parallel-tasks.py │ │ ├── colored-title-and-label.py │ │ ├── custom-key-bindings.py │ │ ├── many-parallel-tasks.py │ │ ├── nested-progress-bars.py │ │ ├── scrolling-task-name.py │ │ ├── simple-progress-bar.py │ │ ├── styled-1.py │ │ ├── styled-2.py │ │ ├── styled-apt-get-install.py │ │ ├── styled-rainbow.py │ │ ├── styled-tqdm-1.py │ │ ├── styled-tqdm-2.py │ │ ├── two-tasks.py │ │ └── unknown-length.py │ ├── prompts/ │ │ ├── accept-default.py │ │ ├── asyncio-prompt.py │ │ ├── auto-completion/ │ │ │ ├── autocomplete-with-control-space.py │ │ │ ├── autocompletion-like-readline.py │ │ │ ├── autocompletion.py │ │ │ ├── colored-completions-with-formatted-text.py │ │ │ ├── colored-completions.py │ │ │ ├── combine-multiple-completers.py │ │ │ ├── fuzzy-custom-completer.py │ │ │ ├── fuzzy-word-completer.py │ │ │ ├── multi-column-autocompletion-with-meta.py │ │ │ ├── multi-column-autocompletion.py │ │ │ ├── nested-autocompletion.py │ │ │ └── slow-completions.py │ │ ├── auto-suggestion.py │ │ ├── autocorrection.py │ │ ├── bottom-toolbar.py │ │ ├── clock-input.py │ │ ├── colored-prompt.py │ │ ├── confirmation-prompt.py │ │ ├── cursor-shapes.py │ │ ├── custom-key-binding.py │ │ ├── custom-lexer.py │ │ ├── custom-vi-operator-and-text-object.py │ │ ├── enforce-tty-input-output.py │ │ ├── fancy-zsh-prompt.py │ │ ├── finalterm-shell-integration.py │ │ ├── get-input-vi-mode.py │ │ ├── get-input-with-default.py │ │ ├── get-input.py │ │ ├── get-multiline-input.py │ │ ├── get-password-with-toggle-display-shortcut.py │ │ ├── get-password.py │ │ ├── history/ │ │ │ ├── persistent-history.py │ │ │ └── slow-history.py │ │ ├── html-input.py │ │ ├── input-validation.py │ │ ├── inputhook.py │ │ ├── mouse-support.py │ │ ├── multiline-autosuggest.py │ │ ├── multiline-prompt.py │ │ ├── no-wrapping.py │ │ ├── operate-and-get-next.py │ │ ├── patch-stdout.py │ │ ├── placeholder-text.py │ │ ├── regular-language.py │ │ ├── rprompt.py │ │ ├── swap-light-and-dark-colors.py │ │ ├── switch-between-vi-emacs.py │ │ ├── system-clipboard-integration.py │ │ ├── system-prompt.py │ │ ├── terminal-title.py │ │ ├── up-arrow-partial-string-matching.py │ │ └── with-frames/ │ │ ├── frame-and-autocompletion.py │ │ ├── gray-frame-on-accept.py │ │ └── with-frame.py │ ├── ssh/ │ │ └── asyncssh-server.py │ ├── telnet/ │ │ ├── chat-app.py │ │ ├── dialog.py │ │ ├── hello-world.py │ │ └── toolbar.py │ └── tutorial/ │ ├── README.md │ └── sqlite-cli.py ├── pyproject.toml ├── src/ │ └── prompt_toolkit/ │ ├── __init__.py │ ├── application/ │ │ ├── __init__.py │ │ ├── application.py │ │ ├── current.py │ │ ├── dummy.py │ │ └── run_in_terminal.py │ ├── auto_suggest.py │ ├── buffer.py │ ├── cache.py │ ├── clipboard/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── in_memory.py │ │ └── pyperclip.py │ ├── completion/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── deduplicate.py │ │ ├── filesystem.py │ │ ├── fuzzy_completer.py │ │ ├── nested.py │ │ └── word_completer.py │ ├── contrib/ │ │ ├── __init__.py │ │ ├── completers/ │ │ │ ├── __init__.py │ │ │ └── system.py │ │ ├── regular_languages/ │ │ │ ├── __init__.py │ │ │ ├── compiler.py │ │ │ ├── completion.py │ │ │ ├── lexer.py │ │ │ ├── regex_parser.py │ │ │ └── validation.py │ │ ├── ssh/ │ │ │ ├── __init__.py │ │ │ └── server.py │ │ └── telnet/ │ │ ├── __init__.py │ │ ├── log.py │ │ ├── protocol.py │ │ └── server.py │ ├── cursor_shapes.py │ ├── data_structures.py │ ├── document.py │ ├── enums.py │ ├── eventloop/ │ │ ├── __init__.py │ │ ├── async_generator.py │ │ ├── inputhook.py │ │ ├── utils.py │ │ └── win32.py │ ├── filters/ │ │ ├── __init__.py │ │ ├── app.py │ │ ├── base.py │ │ ├── cli.py │ │ └── utils.py │ ├── formatted_text/ │ │ ├── __init__.py │ │ ├── ansi.py │ │ ├── base.py │ │ ├── html.py │ │ ├── pygments.py │ │ └── utils.py │ ├── history.py │ ├── input/ │ │ ├── __init__.py │ │ ├── ansi_escape_sequences.py │ │ ├── base.py │ │ ├── defaults.py │ │ ├── posix_pipe.py │ │ ├── posix_utils.py │ │ ├── typeahead.py │ │ ├── vt100.py │ │ ├── vt100_parser.py │ │ ├── win32.py │ │ └── win32_pipe.py │ ├── key_binding/ │ │ ├── __init__.py │ │ ├── bindings/ │ │ │ ├── __init__.py │ │ │ ├── auto_suggest.py │ │ │ ├── basic.py │ │ │ ├── completion.py │ │ │ ├── cpr.py │ │ │ ├── emacs.py │ │ │ ├── focus.py │ │ │ ├── mouse.py │ │ │ ├── named_commands.py │ │ │ ├── open_in_editor.py │ │ │ ├── page_navigation.py │ │ │ ├── scroll.py │ │ │ ├── search.py │ │ │ └── vi.py │ │ ├── defaults.py │ │ ├── digraphs.py │ │ ├── emacs_state.py │ │ ├── key_bindings.py │ │ ├── key_processor.py │ │ └── vi_state.py │ ├── keys.py │ ├── layout/ │ │ ├── __init__.py │ │ ├── containers.py │ │ ├── controls.py │ │ ├── dimension.py │ │ ├── dummy.py │ │ ├── layout.py │ │ ├── margins.py │ │ ├── menus.py │ │ ├── mouse_handlers.py │ │ ├── processors.py │ │ ├── screen.py │ │ ├── scrollable_pane.py │ │ └── utils.py │ ├── lexers/ │ │ ├── __init__.py │ │ ├── base.py │ │ └── pygments.py │ ├── log.py │ ├── mouse_events.py │ ├── output/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── color_depth.py │ │ ├── conemu.py │ │ ├── defaults.py │ │ ├── flush_stdout.py │ │ ├── plain_text.py │ │ ├── vt100.py │ │ ├── win32.py │ │ └── windows10.py │ ├── patch_stdout.py │ ├── py.typed │ ├── renderer.py │ ├── search.py │ ├── selection.py │ ├── shortcuts/ │ │ ├── __init__.py │ │ ├── choice_input.py │ │ ├── dialogs.py │ │ ├── progress_bar/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ └── formatters.py │ │ ├── prompt.py │ │ └── utils.py │ ├── styles/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── defaults.py │ │ ├── named_colors.py │ │ ├── pygments.py │ │ ├── style.py │ │ └── style_transformation.py │ ├── token.py │ ├── utils.py │ ├── validation.py │ ├── widgets/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── dialogs.py │ │ ├── menus.py │ │ └── toolbars.py │ └── win32_types.py ├── tests/ │ ├── test_async_generator.py │ ├── test_buffer.py │ ├── test_cli.py │ ├── test_completion.py │ ├── test_document.py │ ├── test_filter.py │ ├── test_formatted_text.py │ ├── test_history.py │ ├── test_inputstream.py │ ├── test_key_binding.py │ ├── test_layout.py │ ├── test_memory_leaks.py │ ├── test_print_formatted_text.py │ ├── test_regular_languages.py │ ├── test_shortcuts.py │ ├── test_style.py │ ├── test_style_transformation.py │ ├── test_utils.py │ ├── test_vt100_output.py │ ├── test_widgets.py │ └── test_yank_nth_arg.py ├── tools/ │ ├── debug_input_cross_platform.py │ └── debug_vt100_input.py └── tox.ini