gitextract_4c2m1yy1/ ├── .devcontainer/ │ └── devcontainer.json ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── copilot-instructions.md │ ├── hooks/ │ │ └── setupRepo.json │ ├── instructions/ │ │ ├── benchmark.instructions.md │ │ └── unit-test.instructions.md │ └── workflows/ │ ├── ci.yml │ ├── codeql-analysis.yml │ ├── copilot-setup-steps.yml │ └── release.yml ├── .gitignore ├── .gitmodules ├── .npmignore ├── .nvmrc ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ ├── settings.json │ └── tasks.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── addons/ │ ├── addon-attach/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AttachAddon.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── AttachAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-attach.d.ts │ │ └── webpack.config.js │ ├── addon-clipboard/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ClipboardAddon.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── ClipboardAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-clipboard.d.ts │ │ └── webpack.config.js │ ├── addon-fit/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── FitAddon.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── FitAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-fit.d.ts │ │ └── webpack.config.js │ ├── addon-image/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── fixture/ │ │ │ ├── endless.sh │ │ │ ├── gcrglf.sh │ │ │ ├── growing_rect.js │ │ │ ├── iip/ │ │ │ │ ├── palette.iip │ │ │ │ ├── spinfox.iip │ │ │ │ ├── w3c_gif.iip │ │ │ │ ├── w3c_jpg.iip │ │ │ │ └── w3c_png.iip │ │ │ ├── inspect_palette.sh │ │ │ ├── overdraw.sh │ │ │ ├── palette.blob │ │ │ ├── palette.sixel │ │ │ └── textcursor.sh │ │ ├── package.json │ │ ├── src/ │ │ │ ├── IIPHandler.ts │ │ │ ├── IIPHeaderParser.test.ts │ │ │ ├── IIPHeaderParser.ts │ │ │ ├── IIPImageStorage.ts │ │ │ ├── IIPMetrics.test.ts │ │ │ ├── IIPMetrics.ts │ │ │ ├── ImageAddon.ts │ │ │ ├── ImageRenderer.ts │ │ │ ├── ImageStorage.ts │ │ │ ├── SixelHandler.ts │ │ │ ├── SixelImageStorage.ts │ │ │ ├── Types.ts │ │ │ ├── kitty/ │ │ │ │ ├── KittyGraphicsHandler.ts │ │ │ │ ├── KittyGraphicsTypes.test.ts │ │ │ │ ├── KittyGraphicsTypes.ts │ │ │ │ └── KittyImageStorage.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── ImageAddon.test.ts │ │ │ ├── KittyGraphics.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-image.d.ts │ │ └── webpack.config.js │ ├── addon-ligatures/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── fonts/ │ │ │ └── FiraCode-Regular.otf │ │ ├── package.json │ │ ├── src/ │ │ │ ├── LigaturesAddon.ts │ │ │ ├── Types.ts │ │ │ ├── font.ts │ │ │ ├── fontLigatures/ │ │ │ │ ├── flatten.ts │ │ │ │ ├── index.test.ts │ │ │ │ ├── index.ts │ │ │ │ ├── merge.test.ts │ │ │ │ ├── merge.ts │ │ │ │ ├── mergeRange.test.ts │ │ │ │ ├── mergeRange.ts │ │ │ │ ├── processors/ │ │ │ │ │ ├── 6-1.ts │ │ │ │ │ ├── 6-2.ts │ │ │ │ │ ├── 6-3.ts │ │ │ │ │ ├── 8-1.ts │ │ │ │ │ ├── classDef.ts │ │ │ │ │ ├── coverage.ts │ │ │ │ │ ├── helper.ts │ │ │ │ │ └── substitution.ts │ │ │ │ ├── tables.ts │ │ │ │ ├── types.ts │ │ │ │ └── walk.ts │ │ │ ├── index.ts │ │ │ ├── parse.test.ts │ │ │ ├── parse.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── LigaturesAddon.test.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-ligatures.d.ts │ │ └── webpack.config.js │ ├── addon-progress/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── ProgressAddon.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── ProgressAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-progress.d.ts │ │ └── webpack.config.js │ ├── addon-search/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── fixtures/ │ │ │ └── issue-2444 │ │ ├── package.json │ │ ├── src/ │ │ │ ├── DecorationManager.ts │ │ │ ├── SearchAddon.ts │ │ │ ├── SearchEngine.test.ts │ │ │ ├── SearchEngine.ts │ │ │ ├── SearchLineCache.test.ts │ │ │ ├── SearchLineCache.ts │ │ │ ├── SearchResultTracker.ts │ │ │ ├── SearchState.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── SearchAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-search.d.ts │ │ └── webpack.config.js │ ├── addon-serialize/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── README.md │ │ ├── benchmark/ │ │ │ ├── SerializeAddon.benchmark.ts │ │ │ ├── benchmark.json │ │ │ └── tsconfig.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── SerializeAddon.test.ts │ │ │ ├── SerializeAddon.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── SerializeAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-serialize.d.ts │ │ └── webpack.config.js │ ├── addon-unicode-graphemes/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── benchmark/ │ │ │ ├── UnicodeGraphemeAddon.benchmark.ts │ │ │ ├── benchmark.json │ │ │ └── tsconfig.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── UnicodeGraphemeProvider.ts │ │ │ ├── UnicodeGraphemesAddon.ts │ │ │ ├── third-party/ │ │ │ │ ├── UnicodeProperties.ts │ │ │ │ ├── tiny-inflate.ts │ │ │ │ └── unicode-trie.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── UnicodeGraphemesAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-unicode-graphemes.d.ts │ │ └── webpack.config.js │ ├── addon-unicode11/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── Unicode11Addon.ts │ │ │ ├── UnicodeV11.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── Unicode11Addon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-unicode11.d.ts │ │ └── webpack.config.js │ ├── addon-web-fonts/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── WebFontsAddon.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── WebFontsAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-web-fonts.d.ts │ │ └── webpack.config.js │ ├── addon-web-links/ │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── WebLinkProvider.ts │ │ │ ├── WebLinksAddon.ts │ │ │ └── tsconfig.json │ │ ├── test/ │ │ │ ├── WebLinksAddon.test.ts │ │ │ ├── playwright.config.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ ├── typings/ │ │ │ └── addon-web-links.d.ts │ │ └── webpack.config.js │ └── addon-webgl/ │ ├── .gitignore │ ├── .npmignore │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── CellColorResolver.ts │ │ ├── CharAtlasCache.ts │ │ ├── CharAtlasUtils.ts │ │ ├── Constants.ts │ │ ├── CursorBlinkStateManager.ts │ │ ├── DevicePixelObserver.ts │ │ ├── GlyphRenderer.ts │ │ ├── RectangleRenderer.ts │ │ ├── RenderModel.ts │ │ ├── TextureAtlas.ts │ │ ├── TypedArray.test.ts │ │ ├── TypedArray.ts │ │ ├── Types.ts │ │ ├── WebglAddon.ts │ │ ├── WebglRenderer.ts │ │ ├── WebglUtils.ts │ │ ├── customGlyphs/ │ │ │ ├── CustomGlyphDefinitions.ts │ │ │ ├── CustomGlyphRasterizer.ts │ │ │ └── Types.ts │ │ ├── renderLayer/ │ │ │ ├── BaseRenderLayer.ts │ │ │ ├── LinkRenderLayer.ts │ │ │ └── Types.ts │ │ └── tsconfig.json │ ├── test/ │ │ ├── WebglRenderer.test.ts │ │ ├── playwright.config.ts │ │ └── tsconfig.json │ ├── tsconfig.json │ ├── typings/ │ │ └── addon-webgl.d.ts │ └── webpack.config.js ├── bin/ │ ├── agent/ │ │ └── setup-repo.mjs │ ├── convert_svg_to_custom_glyph.js │ ├── esbuild.mjs │ ├── esbuild_all.mjs │ ├── extract_vtfeatures.js │ ├── lint_changes.js │ ├── package_headless.js │ ├── publish.js │ ├── test_integration.js │ ├── test_mousemodes.js │ ├── test_unit.js │ ├── update-website.sh │ ├── vs_base_find_unused.js │ └── vs_base_update.ps1 ├── css/ │ └── xterm.css ├── demo/ │ ├── client/ │ │ ├── client.ts │ │ ├── components/ │ │ │ ├── controlBar.ts │ │ │ └── window/ │ │ │ ├── addonImageWindow.ts │ │ │ ├── addonLigaturesWindow.ts │ │ │ ├── addonProgressWindow.ts │ │ │ ├── addonSearchWindow.ts │ │ │ ├── addonSerializeWindow.ts │ │ │ ├── addonWebFontsWindow.ts │ │ │ ├── addonWebLinksWindow.ts │ │ │ ├── addonsWindow.ts │ │ │ ├── baseWindow.ts │ │ │ ├── cellInspectorWindow.ts │ │ │ ├── gpuWindow.ts │ │ │ ├── optionsWindow.ts │ │ │ ├── styleWindow.ts │ │ │ ├── testWindow.ts │ │ │ ├── vtWindow.ts │ │ │ └── webglWindow.ts │ │ ├── tsconfig.json │ │ ├── types.ts │ │ └── unicodeTable.ts │ ├── fonts/ │ │ ├── bpdots.regular.otf │ │ └── font-licenses.txt │ ├── index.css │ ├── index.html │ ├── server/ │ │ ├── server.ts │ │ └── tsconfig.json │ ├── start.js │ ├── test.html │ └── tsconfig.json ├── eslint.config.mjs ├── eslint.config.typings.mjs ├── fixtures/ │ └── escape_sequence_files/ │ ├── NOTES │ ├── run_tests.py │ ├── t0001-all_printable.in │ ├── t0001-all_printable.text │ ├── t0002-history.in │ ├── t0002-history.text │ ├── t0002j-simple_string.in │ ├── t0002j-simple_string.text │ ├── t0003-line_wrap.in │ ├── t0003-line_wrap.text │ ├── t0003j-LF.in │ ├── t0003j-LF.text │ ├── t0004-LF.in │ ├── t0004-LF.text │ ├── t0004j-CR.in │ ├── t0004j-CR.text │ ├── t0005-CR.in │ ├── t0005-CR.text │ ├── t0006-IND.in │ ├── t0006-IND.text │ ├── t0007-space_at_end.in │ ├── t0007-space_at_end.text │ ├── t0008-BS.in │ ├── t0008-BS.text │ ├── t0009-NEL.in │ ├── t0009-NEL.text │ ├── t0010-RI.in │ ├── t0010-RI.text │ ├── t0011-RI_scroll.in │ ├── t0011-RI_scroll.text │ ├── t0012-VT.in │ ├── t0012-VT.text │ ├── t0013-FF.in │ ├── t0013-FF.text │ ├── t0014-CAN.in │ ├── t0014-CAN.text │ ├── t0015-SUB.in │ ├── t0015-SUB.text │ ├── t0016-SU.in │ ├── t0016-SU.text │ ├── t0017-SD.in │ ├── t0017-SD.text │ ├── t0020-CUF.in │ ├── t0020-CUF.text │ ├── t0021-CUB.in │ ├── t0021-CUB.text │ ├── t0022-CUU.in │ ├── t0022-CUU.text │ ├── t0023-CUU_scroll.in │ ├── t0023-CUU_scroll.text │ ├── t0024-CUD.in │ ├── t0024-CUD.text │ ├── t0025-CUP.in │ ├── t0025-CUP.text │ ├── t0026-CNL.in │ ├── t0026-CNL.text │ ├── t0027-CPL.in │ ├── t0027-CPL.text │ ├── t0030-HPR.in │ ├── t0030-HPR.text │ ├── t0031-HPB.in_ │ ├── t0031-HPB.text │ ├── t0032-VPB.in │ ├── t0032-VPB.text │ ├── t0033-VPB_scroll.in │ ├── t0033-VPB_scroll.text │ ├── t0034-VPR.in │ ├── t0034-VPR.text │ ├── t0035-HVP.in │ ├── t0035-HVP.text │ ├── t0040-REP.in │ ├── t0040-REP.text │ ├── t0050-ICH.in │ ├── t0050-ICH.text │ ├── t0051-IL.in │ ├── t0051-IL.text │ ├── t0052-DL.in │ ├── t0052-DL.text │ ├── t0053-DCH.in │ ├── t0053-DCH.text │ ├── t0054-ECH.in │ ├── t0054-ECH.text │ ├── t0055-EL.in │ ├── t0055-EL.text │ ├── t0056-ED.in │ ├── t0056-ED.text │ ├── t0057-ED3.in │ ├── t0057-ED3.note │ ├── t0057-ED3.text │ ├── t0060-DECSC.in │ ├── t0060-DECSC.text │ ├── t0061-CSI_s.in │ ├── t0061-CSI_s.text │ ├── t0070-DECSTBM_LF.in │ ├── t0070-DECSTBM_LF.text │ ├── t0071-DECSTBM_IND.in │ ├── t0071-DECSTBM_IND.text │ ├── t0072-DECSTBM_NEL.in │ ├── t0072-DECSTBM_NEL.text │ ├── t0073-DECSTBM_RI.in │ ├── t0073-DECSTBM_RI.text │ ├── t0074-DECSTBM_SU_SD.in │ ├── t0074-DECSTBM_SU_SD.text │ ├── t0075-DECSTBM_CUU_CUD.in │ ├── t0075-DECSTBM_CUU_CUD.text │ ├── t0076-DECSTBM_IL_DL.in │ ├── t0076-DECSTBM_IL_DL.text │ ├── t0077-DECSTBM_quirks.in │ ├── t0077-DECSTBM_quirks.text │ ├── t0078-DECSTBM_CPL_CNL.in │ ├── t0078-DECSTBM_CPL_CNL.text │ ├── t0079-DECSTBM_VPR.in │ ├── t0079-DECSTBM_VPR.text │ ├── t0080-HT.in │ ├── t0080-HT.text │ ├── t0081-TBC.in │ ├── t0081-TBC.text │ ├── t0082-HTS.in │ ├── t0082-HTS.text │ ├── t0083-CHT.in │ ├── t0083-CHT.text │ ├── t0084-CBT.in │ ├── t0084-CBT.text │ ├── t0084-CBT.text-xterm │ ├── t0090-alt_screen.in │ ├── t0090-alt_screen.text │ ├── t0091-alt_screen_ED3.in │ ├── t0091-alt_screen_ED3.text │ ├── t0092-alt_screen_DECSC.in │ ├── t0092-alt_screen_DECSC.text │ ├── t0100-IRM.in │ ├── t0100-IRM.text │ ├── t0101-NLM.in │ ├── t0101-NLM.text │ ├── t0102-DECAWM.in │ ├── t0102-DECAWM.text │ ├── t0103-reverse_wrap.in │ ├── t0103-reverse_wrap.text │ ├── t0200-SGR.html │ ├── t0200-SGR.in_ │ ├── t0220-SGR_inverse.html │ ├── t0220-SGR_inverse.in_ │ ├── t0300-vttest1.in │ ├── t0300-vttest1.text │ ├── t0500-bash_long_line.in │ ├── t0500-bash_long_line.text │ ├── t0501-bash_ls.in │ ├── t0501-bash_ls.text │ ├── t0502-bash_ls_color.in │ ├── t0502-bash_ls_color.text │ ├── t0503-zsh_ls_color.in │ ├── t0503-zsh_ls_color.text │ ├── t0504-vim.in │ ├── t0504-vim.text │ ├── t600-DECSTBM_SR.in │ ├── t600-DECSTBM_SR.text │ ├── t601-DECSTBM_SL.in │ ├── t601-DECSTBM_SL.text │ ├── t602-DECSTBM_DECIC.in │ ├── t602-DECSTBM_DECIC.text │ ├── t603-DECSTBM_DECDC.in │ └── t603-DECSTBM_DECDC.text ├── headless/ │ ├── .gitignore │ ├── .npmignore │ ├── README.md │ └── package.json ├── images/ │ └── build-flow.tldr ├── package.json ├── src/ │ ├── browser/ │ │ ├── AccessibilityManager.ts │ │ ├── Clipboard.test.ts │ │ ├── Clipboard.ts │ │ ├── ColorContrastCache.test.ts │ │ ├── ColorContrastCache.ts │ │ ├── CoreBrowserTerminal.ts │ │ ├── Dom.ts │ │ ├── Linkifier.test.ts │ │ ├── Linkifier.ts │ │ ├── LocalizableStrings.ts │ │ ├── OscLinkProvider.ts │ │ ├── RenderDebouncer.ts │ │ ├── Terminal.test.ts │ │ ├── Terminal2.test.ts │ │ ├── TestUtils.test.ts │ │ ├── TimeBasedDebouncer.ts │ │ ├── Types.ts │ │ ├── Viewport.ts │ │ ├── decorations/ │ │ │ ├── BufferDecorationRenderer.ts │ │ │ ├── ColorZoneStore.test.ts │ │ │ ├── ColorZoneStore.ts │ │ │ └── OverviewRulerRenderer.ts │ │ ├── input/ │ │ │ ├── CompositionHelper.test.ts │ │ │ ├── CompositionHelper.ts │ │ │ ├── Mouse.test.ts │ │ │ ├── Mouse.ts │ │ │ ├── MoveToCell.test.ts │ │ │ └── MoveToCell.ts │ │ ├── public/ │ │ │ └── Terminal.ts │ │ ├── renderer/ │ │ │ ├── dom/ │ │ │ │ ├── DomRenderer.ts │ │ │ │ ├── DomRendererRowFactory.test.ts │ │ │ │ ├── DomRendererRowFactory.ts │ │ │ │ ├── WidthCache.test.ts │ │ │ │ └── WidthCache.ts │ │ │ └── shared/ │ │ │ ├── Constants.ts │ │ │ ├── README.md │ │ │ ├── RendererUtils.test.ts │ │ │ ├── RendererUtils.ts │ │ │ ├── SelectionRenderModel.ts │ │ │ ├── TextBlinkStateManager.test.ts │ │ │ ├── TextBlinkStateManager.ts │ │ │ └── Types.ts │ │ ├── scrollable/ │ │ │ ├── abstractScrollbar.ts │ │ │ ├── fastDomNode.ts │ │ │ ├── globalPointerMoveMonitor.ts │ │ │ ├── horizontalScrollbar.ts │ │ │ ├── mouseEvent.ts │ │ │ ├── scrollable.ts │ │ │ ├── scrollableElement.ts │ │ │ ├── scrollableElementOptions.ts │ │ │ ├── scrollbarArrow.ts │ │ │ ├── scrollbarState.ts │ │ │ ├── scrollbarVisibilityController.ts │ │ │ ├── touch.ts │ │ │ ├── verticalScrollbar.ts │ │ │ └── widget.ts │ │ ├── selection/ │ │ │ ├── SelectionModel.test.ts │ │ │ ├── SelectionModel.ts │ │ │ └── Types.ts │ │ ├── services/ │ │ │ ├── CharSizeService.ts │ │ │ ├── CharacterJoinerService.test.ts │ │ │ ├── CharacterJoinerService.ts │ │ │ ├── CoreBrowserService.ts │ │ │ ├── KeyboardService.ts │ │ │ ├── LinkProviderService.ts │ │ │ ├── MouseCoordsService.ts │ │ │ ├── MouseService.test.ts │ │ │ ├── MouseService.ts │ │ │ ├── RenderService.ts │ │ │ ├── SelectionService.test.ts │ │ │ ├── SelectionService.ts │ │ │ ├── Services.ts │ │ │ ├── ThemeService.test.ts │ │ │ └── ThemeService.ts │ │ ├── shared/ │ │ │ └── Constants.ts │ │ └── tsconfig.json │ ├── common/ │ │ ├── Async.ts │ │ ├── CircularList.test.ts │ │ ├── CircularList.ts │ │ ├── Clone.test.ts │ │ ├── Clone.ts │ │ ├── Color.test.ts │ │ ├── Color.ts │ │ ├── CoreTerminal.ts │ │ ├── Event.test.ts │ │ ├── Event.ts │ │ ├── InputHandler.test.ts │ │ ├── InputHandler.ts │ │ ├── Lifecycle.ts │ │ ├── MultiKeyMap.test.ts │ │ ├── MultiKeyMap.ts │ │ ├── Platform.ts │ │ ├── SortedList.test.ts │ │ ├── SortedList.ts │ │ ├── TaskQueue.ts │ │ ├── TestUtils.test.ts │ │ ├── Types.ts │ │ ├── Version.ts │ │ ├── WindowsMode.ts │ │ ├── buffer/ │ │ │ ├── AttributeData.ts │ │ │ ├── Buffer.test.ts │ │ │ ├── Buffer.ts │ │ │ ├── BufferLine.test.ts │ │ │ ├── BufferLine.ts │ │ │ ├── BufferRange.test.ts │ │ │ ├── BufferRange.ts │ │ │ ├── BufferReflow.test.ts │ │ │ ├── BufferReflow.ts │ │ │ ├── BufferSet.test.ts │ │ │ ├── BufferSet.ts │ │ │ ├── CellData.test.ts │ │ │ ├── CellData.ts │ │ │ ├── Constants.ts │ │ │ ├── Marker.ts │ │ │ └── Types.ts │ │ ├── data/ │ │ │ ├── Charsets.ts │ │ │ └── EscapeSequences.ts │ │ ├── input/ │ │ │ ├── Keyboard.test.ts │ │ │ ├── Keyboard.ts │ │ │ ├── KittyKeyboard.test.ts │ │ │ ├── KittyKeyboard.ts │ │ │ ├── TextDecoder.test.ts │ │ │ ├── TextDecoder.ts │ │ │ ├── UnicodeV6.test.ts │ │ │ ├── UnicodeV6.ts │ │ │ ├── Win32InputMode.test.ts │ │ │ ├── Win32InputMode.ts │ │ │ ├── WriteBuffer.test.ts │ │ │ ├── WriteBuffer.ts │ │ │ ├── XParseColor.test.ts │ │ │ └── XParseColor.ts │ │ ├── parser/ │ │ │ ├── ApcParser.test.ts │ │ │ ├── ApcParser.ts │ │ │ ├── Constants.ts │ │ │ ├── DcsParser.test.ts │ │ │ ├── DcsParser.ts │ │ │ ├── EscapeSequenceParser.test.ts │ │ │ ├── EscapeSequenceParser.ts │ │ │ ├── OscParser.test.ts │ │ │ ├── OscParser.ts │ │ │ ├── Params.test.ts │ │ │ ├── Params.ts │ │ │ └── Types.ts │ │ ├── public/ │ │ │ ├── AddonManager.test.ts │ │ │ ├── AddonManager.ts │ │ │ ├── BufferApiView.ts │ │ │ ├── BufferLineApiView.ts │ │ │ ├── BufferNamespaceApi.ts │ │ │ ├── ParserApi.ts │ │ │ └── UnicodeApi.ts │ │ ├── services/ │ │ │ ├── BufferService.ts │ │ │ ├── CharsetService.ts │ │ │ ├── CoreService.test.ts │ │ │ ├── CoreService.ts │ │ │ ├── DecorationService.test.ts │ │ │ ├── DecorationService.ts │ │ │ ├── InstantiationService.ts │ │ │ ├── LogService.ts │ │ │ ├── MouseStateService.test.ts │ │ │ ├── MouseStateService.ts │ │ │ ├── OptionsService.test.ts │ │ │ ├── OptionsService.ts │ │ │ ├── OscLinkService.test.ts │ │ │ ├── OscLinkService.ts │ │ │ ├── ServiceRegistry.ts │ │ │ ├── Services.ts │ │ │ ├── UnicodeService.test.ts │ │ │ └── UnicodeService.ts │ │ └── tsconfig.json │ ├── headless/ │ │ ├── Terminal.ts │ │ ├── public/ │ │ │ ├── Terminal.test.ts │ │ │ └── Terminal.ts │ │ └── tsconfig.json │ ├── tsconfig-base.json │ └── tsconfig-library-base.json ├── test/ │ ├── benchmark/ │ │ ├── EscapeSequenceParser.benchmark.ts │ │ ├── Event.benchmark.ts │ │ ├── Terminal.benchmark.ts │ │ ├── benchmark.json │ │ └── tsconfig.json │ └── playwright/ │ ├── CharWidth.test.ts │ ├── InputHandler.test.ts │ ├── MouseTracking.test.ts │ ├── Parser.test.ts │ ├── Renderer.test.ts │ ├── SharedRendererTests.ts │ ├── Terminal.test.ts │ ├── TestUtils.ts │ ├── playwright.config.ts │ └── tsconfig.json ├── tsconfig.all.json ├── typings/ │ ├── xterm-headless.d.ts │ └── xterm.d.ts ├── webpack.config.headless.js └── webpack.config.js