gitextract_7m1o6j63/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── copilot-instructions.md │ ├── dependabot.yml │ └── workflows/ │ ├── ci.py │ ├── ci.yml │ ├── codeql-analysis.yml │ ├── depscan.yml │ └── macos_crash_report.py ├── .gitignore ├── 3rdparty/ │ ├── base64/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── config.h │ │ ├── include/ │ │ │ └── libbase64.h │ │ └── lib/ │ │ ├── arch/ │ │ │ ├── avx/ │ │ │ │ ├── codec.c │ │ │ │ └── enc_loop_asm.c │ │ │ ├── avx2/ │ │ │ │ ├── codec.c │ │ │ │ ├── dec_loop.c │ │ │ │ ├── dec_reshuffle.c │ │ │ │ ├── enc_loop.c │ │ │ │ ├── enc_loop_asm.c │ │ │ │ ├── enc_reshuffle.c │ │ │ │ └── enc_translate.c │ │ │ ├── avx512/ │ │ │ │ ├── codec.c │ │ │ │ ├── enc_loop.c │ │ │ │ └── enc_reshuffle_translate.c │ │ │ ├── generic/ │ │ │ │ ├── 32/ │ │ │ │ │ ├── dec_loop.c │ │ │ │ │ └── enc_loop.c │ │ │ │ ├── 64/ │ │ │ │ │ └── enc_loop.c │ │ │ │ ├── codec.c │ │ │ │ ├── dec_head.c │ │ │ │ ├── dec_tail.c │ │ │ │ ├── enc_head.c │ │ │ │ └── enc_tail.c │ │ │ ├── neon32/ │ │ │ │ ├── codec.c │ │ │ │ ├── dec_loop.c │ │ │ │ ├── enc_loop.c │ │ │ │ ├── enc_reshuffle.c │ │ │ │ └── enc_translate.c │ │ │ ├── neon64/ │ │ │ │ ├── codec.c │ │ │ │ ├── dec_loop.c │ │ │ │ ├── enc_loop.c │ │ │ │ ├── enc_loop_asm.c │ │ │ │ └── enc_reshuffle.c │ │ │ ├── sse41/ │ │ │ │ └── codec.c │ │ │ ├── sse42/ │ │ │ │ └── codec.c │ │ │ └── ssse3/ │ │ │ ├── codec.c │ │ │ ├── dec_loop.c │ │ │ ├── dec_reshuffle.c │ │ │ ├── enc_loop.c │ │ │ ├── enc_loop_asm.c │ │ │ ├── enc_reshuffle.c │ │ │ └── enc_translate.c │ │ ├── codec_choose.c │ │ ├── codecs.h │ │ ├── env.h │ │ ├── exports.txt │ │ ├── lib.c │ │ ├── lib_openmp.c │ │ └── tables/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── table_dec_32bit.h │ │ ├── table_enc_12bit.h │ │ ├── table_enc_12bit.py │ │ ├── table_generator.c │ │ ├── tables.c │ │ └── tables.h │ ├── ringbuf/ │ │ ├── ringbuf.c │ │ └── ringbuf.h │ └── verstable.h ├── Brewfile ├── CHANGELOG.rst ├── CONTRIBUTING.md ├── INSTALL.md ├── LICENSE ├── Makefile ├── README.asciidoc ├── SECURITY.md ├── __main__.py ├── benchmark.py ├── build-terminfo ├── bypy/ │ ├── devenv.go │ ├── init_env.py │ ├── linux/ │ │ └── __main__.py │ ├── linux.conf │ ├── macos/ │ │ └── __main__.py │ ├── macos.conf │ ├── rsync.conf │ ├── site.py │ └── sources.json ├── count-lines-of-code ├── dev.sh ├── docs/ │ ├── Makefile │ ├── _static/ │ │ ├── custom.css │ │ ├── custom.js │ │ ├── timestamps.css │ │ └── timestamps.js │ ├── _templates/ │ │ └── base.html │ ├── actions.rst │ ├── basic.rst │ ├── binary.rst │ ├── build.rst │ ├── changelog.rst │ ├── clipboard.rst │ ├── color-stack.rst │ ├── conf.py │ ├── conf.rst │ ├── deccara.rst │ ├── desktop-notifications.rst │ ├── extract-rst-targets.py │ ├── faq.rst │ ├── file-transfer-protocol.rst │ ├── glossary.rst │ ├── graphics-protocol.rst │ ├── index.rst │ ├── installer.sh │ ├── integrations.rst │ ├── intro_vid.rst │ ├── invocation.rst │ ├── keyboard-protocol.rst │ ├── kittens/ │ │ ├── broadcast.rst │ │ ├── choose-files.rst │ │ ├── choose-fonts.rst │ │ ├── clipboard.rst │ │ ├── custom.rst │ │ ├── desktop-ui.rst │ │ ├── developing-builtin-kittens.rst │ │ ├── diff.rst │ │ ├── hints.rst │ │ ├── hyperlinked_grep.rst │ │ ├── icat.rst │ │ ├── notify.rst │ │ ├── panel.rst │ │ ├── query_terminal.rst │ │ ├── quick-access-terminal.rst │ │ ├── remote_file.rst │ │ ├── ssh.rst │ │ ├── themes.rst │ │ ├── transfer.rst │ │ └── unicode_input.rst │ ├── kittens_intro.rst │ ├── launch.rst │ ├── layouts.rst │ ├── mapping.rst │ ├── marks.rst │ ├── misc-protocol.rst │ ├── multiple-cursors-protocol.rst │ ├── notifications.py │ ├── open_actions.rst │ ├── overview.rst │ ├── performance.rst │ ├── pipe.rst │ ├── pointer-shapes.rst │ ├── press-mentions.rst │ ├── protocol-extensions.rst │ ├── quake-screenshots.rst │ ├── quickstart.rst │ ├── rc_protocol.rst │ ├── remote-control.rst │ ├── requirements.txt │ ├── sessions.rst │ ├── shell-integration.rst │ ├── support.html │ ├── support.rst │ ├── text-sizing-protocol.rst │ ├── underlines.rst │ ├── unscroll.rst │ └── wide-gamut-colors.rst ├── embeds.go ├── gen/ │ ├── README.rst │ ├── __init__.py │ ├── __main__.py │ ├── apc_parsers.py │ ├── bitfields.py │ ├── color_names.py │ ├── config.py │ ├── cursors.py │ ├── go_code.py │ ├── key_constants.py │ ├── rowcolumn-diacritics.txt │ ├── srgb_lut.py │ └── wcwidth.py ├── glad/ │ └── generate.py ├── glfw/ │ ├── __init__.py │ ├── backend_utils.c │ ├── backend_utils.h │ ├── cocoa_displaylink.m │ ├── cocoa_init.m │ ├── cocoa_joystick.h │ ├── cocoa_joystick.m │ ├── cocoa_monitor.m │ ├── cocoa_platform.h │ ├── cocoa_window.m │ ├── context.c │ ├── dbus_glfw.c │ ├── dbus_glfw.h │ ├── egl_context.c │ ├── egl_context.h │ ├── glfw.py │ ├── glfw3.h │ ├── glx_context.c │ ├── glx_context.h │ ├── ibus_glfw.c │ ├── ibus_glfw.h │ ├── init.c │ ├── input.c │ ├── internal.h │ ├── kwin-blur-v1.xml │ ├── linux_desktop_settings.c │ ├── linux_desktop_settings.h │ ├── linux_joystick.c │ ├── linux_joystick.h │ ├── linux_notify.c │ ├── linux_notify.h │ ├── main_loop.h │ ├── mappings.h │ ├── memfd.h │ ├── momentum-scroll.c │ ├── monitor.c │ ├── monotonic.c │ ├── nsgl_context.h │ ├── nsgl_context.m │ ├── null_init.c │ ├── null_joystick.c │ ├── null_joystick.h │ ├── null_monitor.c │ ├── null_platform.h │ ├── null_window.c │ ├── osmesa_context.c │ ├── osmesa_context.h │ ├── posix_thread.c │ ├── posix_thread.h │ ├── source-info.json │ ├── vulkan.c │ ├── window.c │ ├── wl_client_side_decorations.c │ ├── wl_client_side_decorations.h │ ├── wl_cursors.c │ ├── wl_cursors.h │ ├── wl_init.c │ ├── wl_monitor.c │ ├── wl_platform.h │ ├── wl_text_input.c │ ├── wl_text_input.h │ ├── wl_window.c │ ├── wlr-layer-shell-unstable-v1.xml │ ├── x11_init.c │ ├── x11_monitor.c │ ├── x11_platform.h │ ├── x11_window.c │ ├── xkb-compat-shim.h │ ├── xkb_glfw.c │ └── xkb_glfw.h ├── go.mod ├── go.sum ├── key_encoding.json ├── kittens/ │ ├── __init__.py │ ├── ask/ │ │ ├── __init__.py │ │ ├── choices.go │ │ ├── get_line.go │ │ ├── main.go │ │ └── main.py │ ├── broadcast/ │ │ ├── __init__.py │ │ └── main.py │ ├── choose_files/ │ │ ├── __init__.py │ │ ├── archive.go │ │ ├── calibre.go │ │ ├── cmd_preview.go │ │ ├── collection.go │ │ ├── ffmpeg.go │ │ ├── filters.go │ │ ├── footer.go │ │ ├── graphics.go │ │ ├── image_preview.go │ │ ├── main.go │ │ ├── main.py │ │ ├── preview.go │ │ ├── results.go │ │ ├── results_test.go │ │ ├── save-file.go │ │ ├── scan.go │ │ ├── scan_test.go │ │ └── search-bar.go │ ├── choose_fonts/ │ │ ├── __init__.py │ │ ├── backend.go │ │ ├── backend.py │ │ ├── face.go │ │ ├── faces.go │ │ ├── family_list.go │ │ ├── final.go │ │ ├── graphics.go │ │ ├── index_feature.go │ │ ├── list.go │ │ ├── main.go │ │ ├── main.py │ │ ├── styles.go │ │ ├── types.go │ │ └── ui.go │ ├── clipboard/ │ │ ├── __init__.py │ │ ├── legacy.go │ │ ├── main.go │ │ ├── main.py │ │ ├── read.go │ │ └── write.go │ ├── command_palette/ │ │ ├── __init__.py │ │ ├── main.go │ │ ├── main.py │ │ └── main_test.go │ ├── desktop_ui/ │ │ ├── __init__.py │ │ ├── main.go │ │ ├── main.py │ │ └── portal.go │ ├── diff/ │ │ ├── __init__.py │ │ ├── collect.go │ │ ├── collect_test.go │ │ ├── diff.go │ │ ├── highlight.go │ │ ├── main.go │ │ ├── main.py │ │ ├── mouse.go │ │ ├── patch.go │ │ ├── patch_test.go │ │ ├── render.go │ │ ├── search.go │ │ └── ui.go │ ├── hints/ │ │ ├── __init__.py │ │ ├── main.go │ │ ├── main.py │ │ ├── marks.go │ │ └── marks_test.go │ ├── hyperlinked_grep/ │ │ ├── __init__.py │ │ ├── main.go │ │ ├── main.py │ │ └── main_test.go │ ├── icat/ │ │ ├── __init__.py │ │ ├── detect.go │ │ ├── main.go │ │ ├── main.py │ │ ├── process_images.go │ │ ├── scaling_test.go │ │ └── transmit.go │ ├── notify/ │ │ ├── __init__.py │ │ ├── main.go │ │ └── main.py │ ├── pager/ │ │ ├── __init__.py │ │ ├── file_input.go │ │ ├── main.go │ │ └── main.py │ ├── panel/ │ │ ├── __init__.py │ │ ├── main.go │ │ └── main.py │ ├── query_terminal/ │ │ ├── __init__.py │ │ ├── main.go │ │ └── main.py │ ├── quick_access_terminal/ │ │ ├── __init__.py │ │ ├── main.go │ │ └── main.py │ ├── remote_file/ │ │ ├── __init__.py │ │ └── main.py │ ├── resize_window/ │ │ ├── __init__.py │ │ └── main.py │ ├── runner.py │ ├── show_key/ │ │ ├── __init__.py │ │ ├── kitty.go │ │ ├── legacy.go │ │ ├── main.go │ │ └── main.py │ ├── ssh/ │ │ ├── __init__.py │ │ ├── askpass.go │ │ ├── config.go │ │ ├── config_test.go │ │ ├── main.go │ │ ├── main.py │ │ ├── main_test.go │ │ ├── utils.go │ │ ├── utils.py │ │ └── utils_test.go │ ├── themes/ │ │ ├── __init__.py │ │ ├── list.go │ │ ├── main.go │ │ ├── main.py │ │ └── ui.go │ ├── transfer/ │ │ ├── __init__.py │ │ ├── algorithm.c │ │ ├── ftc.go │ │ ├── ftc_test.go │ │ ├── main.go │ │ ├── main.py │ │ ├── receive.go │ │ ├── rsync.pyi │ │ ├── send.go │ │ ├── send_test.go │ │ ├── utils.go │ │ └── utils.py │ ├── tui/ │ │ ├── __init__.py │ │ ├── dircolors.py │ │ ├── handler.py │ │ ├── images.py │ │ ├── line_edit.py │ │ ├── loop.py │ │ ├── operations.py │ │ ├── operations_stub.py │ │ ├── path_completer.py │ │ ├── progress.py │ │ ├── spinners.py │ │ └── utils.py │ └── unicode_input/ │ ├── __init__.py │ ├── main.go │ ├── main.py │ └── table.go ├── kitty/ │ ├── __init__.py │ ├── actions.py │ ├── alpha_blend.glsl │ ├── animation.c │ ├── animation.h │ ├── arches.h │ ├── arena.h │ ├── backtrace.h │ ├── banned.h │ ├── base64.h │ ├── bash.py │ ├── bgimage_fragment.glsl │ ├── bgimage_vertex.glsl │ ├── binary.h │ ├── blit_common.glsl │ ├── blit_fragment.glsl │ ├── blit_vertex.glsl │ ├── border_fragment.glsl │ ├── border_vertex.glsl │ ├── borders.py │ ├── boss.py │ ├── cell_defines.glsl │ ├── cell_fragment.glsl │ ├── cell_vertex.glsl │ ├── char-props-data.h │ ├── char-props.c │ ├── char-props.h │ ├── charsets.c │ ├── charsets.h │ ├── child-monitor.c │ ├── child.c │ ├── child.py │ ├── choose_entry.py │ ├── cleanup.c │ ├── cleanup.h │ ├── cli.py │ ├── cli_stub.py │ ├── client.py │ ├── clipboard.py │ ├── cocoa_window.h │ ├── cocoa_window.m │ ├── color-names.h │ ├── colors.c │ ├── colors.h │ ├── colors.py │ ├── conf/ │ │ ├── __init__.py │ │ ├── generate.py │ │ ├── types.py │ │ └── utils.py │ ├── config.py │ ├── constants.py │ ├── control-codes.h │ ├── core_text.m │ ├── cross-platform-random.h │ ├── crypto.c │ ├── cursor.c │ ├── cursor_trail.c │ ├── data-types.c │ ├── data-types.h │ ├── debug_config.py │ ├── decorations.c │ ├── decorations.h │ ├── desktop.c │ ├── disk-cache.c │ ├── disk-cache.h │ ├── entry_points.py │ ├── fast-file-copy.c │ ├── fast-file-copy.h │ ├── fast_data_types.pyi │ ├── file_transmission.py │ ├── fixed_size_deque.h │ ├── font-names.c │ ├── fontconfig.c │ ├── fonts/ │ │ ├── __init__.py │ │ ├── common.py │ │ ├── core_text.py │ │ ├── features.py │ │ ├── fontconfig.py │ │ ├── list.py │ │ └── render.py │ ├── fonts.c │ ├── fonts.h │ ├── freetype.c │ ├── freetype_render_ui_text.c │ ├── freetype_render_ui_text.h │ ├── gl-wrapper.c │ ├── gl-wrapper.h │ ├── gl.c │ ├── gl.h │ ├── glfw-wrapper.c │ ├── glfw-wrapper.h │ ├── glfw.c │ ├── glyph-cache.c │ ├── glyph-cache.h │ ├── graphics.c │ ├── graphics.h │ ├── graphics_fragment.glsl │ ├── graphics_vertex.glsl │ ├── guess_mime_type.py │ ├── history.c │ ├── history.h │ ├── hsluv.glsl │ ├── hyperlink.c │ ├── hyperlink.h │ ├── iqsort.h │ ├── key_encoding.c │ ├── key_encoding.py │ ├── key_names.py │ ├── keys.c │ ├── keys.h │ ├── keys.py │ ├── kittens.c │ ├── kitty-verstable.h │ ├── launch.py │ ├── launcher/ │ │ ├── cli-parser.h │ │ ├── cmdline.c │ │ ├── launcher.h │ │ ├── main.c │ │ ├── shlex.h │ │ ├── single-instance.c │ │ └── utils.h │ ├── layout/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── grid.py │ │ ├── interface.py │ │ ├── splits.py │ │ ├── stack.py │ │ ├── tall.py │ │ └── vertical.py │ ├── line-buf.c │ ├── line-buf.h │ ├── line.c │ ├── line.h │ ├── linear2srgb.glsl │ ├── lineops.h │ ├── logging.c │ ├── loop-utils.c │ ├── loop-utils.h │ ├── macos_process_info.c │ ├── main.py │ ├── marks.py │ ├── modes.h │ ├── monotonic.c │ ├── monotonic.h │ ├── mouse.c │ ├── multiprocessing.py │ ├── notifications.py │ ├── open_actions.py │ ├── options/ │ │ ├── __init__.py │ │ ├── definition.py │ │ ├── parse.py │ │ ├── to-c-generated.h │ │ ├── to-c.h │ │ ├── types.py │ │ └── utils.py │ ├── os_window_size.py │ ├── parse-graphics-command.h │ ├── parse-multicell-command.h │ ├── png-reader.c │ ├── png-reader.h │ ├── print-graphics.h │ ├── progress.py │ ├── rc/ │ │ ├── __init__.py │ │ ├── action.py │ │ ├── base.py │ │ ├── close_tab.py │ │ ├── close_window.py │ │ ├── create_marker.py │ │ ├── detach_tab.py │ │ ├── detach_window.py │ │ ├── disable_ligatures.py │ │ ├── env.py │ │ ├── focus_tab.py │ │ ├── focus_window.py │ │ ├── get_colors.py │ │ ├── get_text.py │ │ ├── goto_layout.py │ │ ├── kitten.py │ │ ├── last_used_layout.py │ │ ├── launch.py │ │ ├── load_config.py │ │ ├── ls.py │ │ ├── new_window.py │ │ ├── remove_marker.py │ │ ├── resize_os_window.py │ │ ├── resize_window.py │ │ ├── run.py │ │ ├── scroll_window.py │ │ ├── select_window.py │ │ ├── send_key.py │ │ ├── send_text.py │ │ ├── set_background_image.py │ │ ├── set_background_opacity.py │ │ ├── set_colors.py │ │ ├── set_enabled_layouts.py │ │ ├── set_font_size.py │ │ ├── set_spacing.py │ │ ├── set_tab_color.py │ │ ├── set_tab_title.py │ │ ├── set_user_vars.py │ │ ├── set_window_logo.py │ │ ├── set_window_title.py │ │ └── signal_child.py │ ├── remote_control.py │ ├── render_cache.py │ ├── resize.c │ ├── resize.h │ ├── rgb.py │ ├── rounded_rect_fragment.glsl │ ├── rounded_rect_vertex.glsl │ ├── rowcolumn-diacritics.c │ ├── safe-wrappers.h │ ├── screen.c │ ├── screen.h │ ├── screenshot_fragment.glsl │ ├── screenshot_vertex.glsl │ ├── search_query_parser.py │ ├── session.py │ ├── shaders.c │ ├── shaders.py │ ├── shell_integration.py │ ├── shlex.c │ ├── shm.py │ ├── short_uuid.py │ ├── simd-string-128.c │ ├── simd-string-256.c │ ├── simd-string-impl.h │ ├── simd-string.c │ ├── simd-string.h │ ├── simple_cli_definitions.py │ ├── srgb_gamma.h │ ├── state.c │ ├── state.h │ ├── systemd.c │ ├── tab_bar.py │ ├── tabs.py │ ├── terminfo.h │ ├── terminfo.py │ ├── text-cache.c │ ├── text-cache.h │ ├── threading.h │ ├── tint_fragment.glsl │ ├── tint_vertex.glsl │ ├── trail_fragment.glsl │ ├── trail_vertex.glsl │ ├── types.py │ ├── typing_compat.py │ ├── typing_compat.pyi │ ├── unicode-data.h │ ├── update_check.py │ ├── utils.glsl │ ├── utils.py │ ├── utmp.c │ ├── vt-parser.c │ ├── vt-parser.h │ ├── wcswidth.c │ ├── wcswidth.h │ ├── window.py │ ├── window_list.py │ ├── window_logo.c │ ├── window_logo.h │ ├── window_title_bar.py │ └── xdg.py ├── kitty_tests/ │ ├── CascadiaCode-Regular.otf │ ├── FiraCode-Medium.otf │ ├── GraphemeBreakTest.json │ ├── __init__.py │ ├── atexit.py │ ├── check_build.py │ ├── clipboard.py │ ├── command_palette.py │ ├── completion.py │ ├── crypto.py │ ├── datatypes.py │ ├── file_transmission.py │ ├── fonts.py │ ├── glfw.py │ ├── gr.py │ ├── graphics.py │ ├── keys.py │ ├── layout.py │ ├── main.py │ ├── mouse.py │ ├── multicell.py │ ├── notifications.py │ ├── open_actions.py │ ├── options.py │ ├── panels.py │ ├── parser.py │ ├── screen.py │ ├── search_query_parser.py │ ├── shell_integration.py │ ├── shm.py │ ├── ssh.py │ ├── tui.py │ ├── twemoji_smiley-cff2_colr_1.otf │ └── utmp.py ├── logo/ │ ├── attribution.txt │ └── make.py ├── publish.py ├── pyproject.toml ├── rsync-and-build.sh ├── session.vim ├── setup.py ├── shell-integration/ │ ├── bash/ │ │ └── kitty.bash │ ├── fish/ │ │ ├── vendor_completions.d/ │ │ │ ├── clone-in-kitty.fish │ │ │ ├── kitten.fish │ │ │ └── kitty.fish │ │ └── vendor_conf.d/ │ │ └── kitty-shell-integration.fish │ ├── ssh/ │ │ ├── bootstrap-utils.sh │ │ ├── bootstrap.py │ │ ├── bootstrap.sh │ │ ├── kitten │ │ └── kitty │ └── zsh/ │ ├── .zshenv │ ├── completions/ │ │ └── _kitty │ ├── kitty-integration │ └── kitty.zsh ├── shell.nix ├── staticcheck.conf ├── terminfo/ │ ├── kitty.termcap │ ├── kitty.terminfo │ └── x/ │ └── xterm-kitty ├── test.py ├── tools/ │ ├── README.rst │ ├── cli/ │ │ ├── bash.go │ │ ├── command.go │ │ ├── completion-main.go │ │ ├── completion-parse-args.go │ │ ├── completion.go │ │ ├── files.go │ │ ├── files_test.go │ │ ├── fish.go │ │ ├── group.go │ │ ├── help.go │ │ ├── markup/ │ │ │ └── prettify.go │ │ ├── option-from-string.go │ │ ├── option.go │ │ ├── parse-args.go │ │ ├── types_test.go │ │ ├── wcswidth_kitten.go │ │ └── zsh.go │ ├── cmd/ │ │ ├── at/ │ │ │ ├── complete_actions.go │ │ │ ├── env.go │ │ │ ├── launch.go │ │ │ ├── main.go │ │ │ ├── main_test.go │ │ │ ├── run.go │ │ │ ├── scroll_window.go │ │ │ ├── send_text.go │ │ │ ├── set_background_opacity.go │ │ │ ├── set_colors.go │ │ │ ├── set_font_size.go │ │ │ ├── set_spacing.go │ │ │ ├── set_tab_color.go │ │ │ ├── set_window_logo.go │ │ │ ├── shell.go │ │ │ ├── socket_io.go │ │ │ ├── template.go │ │ │ └── tty_io.go │ │ ├── atexit/ │ │ │ └── main.go │ │ ├── benchmark/ │ │ │ └── main.go │ │ ├── completion/ │ │ │ └── kitty.go │ │ ├── edit_in_kitty/ │ │ │ └── main.go │ │ ├── main.go │ │ ├── mouse_demo/ │ │ │ └── main.go │ │ ├── pytest/ │ │ │ └── main.go │ │ ├── run_shell/ │ │ │ └── main.go │ │ ├── show_error/ │ │ │ └── main.go │ │ ├── tool/ │ │ │ ├── confirm_and_run_shebang.go │ │ │ └── main.go │ │ └── update_self/ │ │ └── main.go │ ├── config/ │ │ ├── api.go │ │ ├── api_test.go │ │ ├── utils.go │ │ └── utils_test.go │ ├── crypto/ │ │ └── crypto.go │ ├── disk_cache/ │ │ ├── api.go │ │ ├── implementation.go │ │ └── implementation_test.go │ ├── fzf/ │ │ ├── algo.go │ │ ├── algo_test.go │ │ ├── api.go │ │ └── types.go │ ├── highlight/ │ │ ├── api.go │ │ └── impl.go │ ├── icons/ │ │ └── file-types.go │ ├── ignorefiles/ │ │ ├── api.go │ │ ├── gitignore.go │ │ └── gitignore_test.go │ ├── rsync/ │ │ ├── algorithm.go │ │ ├── api.go │ │ └── api_test.go │ ├── simdstring/ │ │ ├── benchmark.sh │ │ ├── benchmarks_test.go │ │ ├── generate.go │ │ ├── generate.sh │ │ ├── intrinsics.go │ │ ├── intrinsics_test.go │ │ ├── scalar.go │ │ └── test.sh │ ├── themes/ │ │ ├── collection.go │ │ └── collection_test.go │ ├── tty/ │ │ ├── tty.go │ │ ├── tty_bsd.go │ │ └── tty_linux.go │ ├── tui/ │ │ ├── dcs_to_kitty.go │ │ ├── download_with_progress.go │ │ ├── graphics/ │ │ │ ├── collection.go │ │ │ ├── command.go │ │ │ └── command_test.go │ │ ├── hold.go │ │ ├── loop/ │ │ │ ├── api.go │ │ │ ├── capabilities.go │ │ │ ├── key-encoding.go │ │ │ ├── key-encoding_test.go │ │ │ ├── mouse.go │ │ │ ├── read.go │ │ │ ├── run.go │ │ │ ├── terminal-state.go │ │ │ ├── timers.go │ │ │ └── write.go │ │ ├── mouse.go │ │ ├── password.go │ │ ├── progress-bar.go │ │ ├── progress-bar_test.go │ │ ├── readline/ │ │ │ ├── actions.go │ │ │ ├── actions_test.go │ │ │ ├── api.go │ │ │ ├── completion.go │ │ │ ├── draw.go │ │ │ ├── history.go │ │ │ └── keys.go │ │ ├── render_lines.go │ │ ├── run.go │ │ ├── sgr/ │ │ │ ├── insert-formatting.go │ │ │ └── insert-formatting_test.go │ │ ├── shell_integration/ │ │ │ ├── api.go │ │ │ ├── api_test.go │ │ │ └── data.go │ │ ├── shortcuts/ │ │ │ ├── api.go │ │ │ └── implementation.go │ │ ├── spinners.go │ │ ├── subseq/ │ │ │ ├── score.go │ │ │ └── score_test.go │ │ ├── tmux.go │ │ └── ui_kitten.go │ ├── unicode_names/ │ │ ├── names.txt │ │ ├── query.go │ │ └── query_test.go │ ├── utils/ │ │ ├── atexit.go │ │ ├── atomic-write.go │ │ ├── base85/ │ │ │ ├── base85.go │ │ │ └── base85_test.go │ │ ├── cache.go │ │ ├── cached_values.go │ │ ├── clock_with_raw.go │ │ ├── clock_without_raw.go │ │ ├── colors.go │ │ ├── download_file.go │ │ ├── embed.go │ │ ├── filelock.go │ │ ├── filelock_test.go │ │ ├── hostname.go │ │ ├── humanize/ │ │ │ ├── bytes.go │ │ │ ├── times.go │ │ │ └── times_test.go │ │ ├── images/ │ │ │ ├── convert.go │ │ │ ├── formats.go │ │ │ ├── loading.go │ │ │ ├── rowcolumn_diacritics.go │ │ │ ├── serialize_test.go │ │ │ ├── to_rgb.go │ │ │ ├── to_rgba.go │ │ │ └── utils.go │ │ ├── io.go │ │ ├── iso8601.go │ │ ├── iso8601_test.go │ │ ├── levenshtein.go │ │ ├── longest-common.go │ │ ├── longest-common_test.go │ │ ├── mimetypes.go │ │ ├── misc.go │ │ ├── passwd.go │ │ ├── passwd_test.go │ │ ├── paths/ │ │ │ └── well_known.go │ │ ├── paths.go │ │ ├── random/ │ │ │ └── random.go │ │ ├── regexp.go │ │ ├── ring.go │ │ ├── ring_test.go │ │ ├── secrets/ │ │ │ └── tokens.go │ │ ├── select.go │ │ ├── select_posix.go │ │ ├── select_without_pselect.go │ │ ├── set.go │ │ ├── shell.go │ │ ├── shlex/ │ │ │ ├── ansi_c_escapes.go │ │ │ ├── shlex.go │ │ │ └── shlex_test.go │ │ ├── short-uuid.go │ │ ├── short-uuid_test.go │ │ ├── sockets.go │ │ ├── sockets_test.go │ │ ├── stream_decompressor.go │ │ ├── stream_decompressor_test.go │ │ ├── strings.go │ │ ├── strings_test.go │ │ ├── style/ │ │ │ ├── api.go │ │ │ ├── colorspaces.go │ │ │ ├── colorspaces_bench_test.go │ │ │ ├── colorspaces_test.go │ │ │ ├── indent-and-wrap.go │ │ │ ├── indent-and-wrap_test.go │ │ │ ├── wrapper.go │ │ │ └── wrapper_test.go │ │ ├── tar.go │ │ ├── tar_test.go │ │ ├── tmpfile_linux.go │ │ ├── tmpfile_others.go │ │ ├── tpmfile_test.go │ │ ├── types.go │ │ ├── unsafe.go │ │ ├── utf-8.go │ │ └── which.go │ ├── vt/ │ │ ├── cell.go │ │ ├── line.go │ │ └── linebuf.go │ └── wcswidth/ │ ├── char-props-data.go │ ├── char-props.go │ ├── char-props_test.go │ ├── escape-code-parser.go │ ├── escape-code-parser_test.go │ ├── iter.go │ ├── truncate.go │ ├── wcswidth.go │ └── wcswidth_test.go └── update-on-ox