@fairyhunter13/opentui-core 0.1.114 → 0.1.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/3d/SpriteResourceManager.d.ts +74 -0
- package/3d/SpriteUtils.d.ts +13 -0
- package/3d/TextureUtils.d.ts +24 -0
- package/3d/ThreeRenderable.d.ts +40 -0
- package/3d/WGPURenderer.d.ts +61 -0
- package/3d/animation/ExplodingSpriteEffect.d.ts +71 -0
- package/3d/animation/PhysicsExplodingSpriteEffect.d.ts +76 -0
- package/3d/animation/SpriteAnimator.d.ts +124 -0
- package/3d/animation/SpriteParticleGenerator.d.ts +62 -0
- package/3d/canvas.d.ts +44 -0
- package/3d/index.d.ts +12 -0
- package/3d/physics/PlanckPhysicsAdapter.d.ts +19 -0
- package/3d/physics/RapierPhysicsAdapter.d.ts +19 -0
- package/3d/physics/physics-interface.d.ts +27 -0
- package/3d.d.ts +2 -0
- package/3d.js +34041 -0
- package/3d.js.map +155 -0
- package/LICENSE +21 -0
- package/NativeSpanFeed.d.ts +41 -0
- package/Renderable.d.ts +334 -0
- package/animation/Timeline.d.ts +126 -0
- package/ansi.d.ts +13 -0
- package/buffer.d.ts +111 -0
- package/console.d.ts +144 -0
- package/edit-buffer.d.ts +98 -0
- package/editor-view.d.ts +73 -0
- package/index-j4m38kjn.js +411 -0
- package/index-j4m38kjn.js.map +10 -0
- package/index-tse8gzh0.js +20614 -0
- package/index-tse8gzh0.js.map +67 -0
- package/index-vv2jcd4r.js +12299 -0
- package/index-vv2jcd4r.js.map +42 -0
- package/index.d.ts +23 -0
- package/index.js +478 -0
- package/index.js.map +9 -0
- package/lib/KeyHandler.d.ts +61 -0
- package/lib/RGBA.d.ts +25 -0
- package/lib/ascii.font.d.ts +508 -0
- package/lib/border.d.ts +51 -0
- package/lib/bunfs.d.ts +7 -0
- package/lib/clipboard.d.ts +17 -0
- package/lib/clock.d.ts +15 -0
- package/lib/data-paths.d.ts +26 -0
- package/lib/debounce.d.ts +42 -0
- package/lib/detect-links.d.ts +6 -0
- package/lib/env.d.ts +42 -0
- package/lib/extmarks-history.d.ts +17 -0
- package/lib/extmarks.d.ts +89 -0
- package/lib/hast-styled-text.d.ts +17 -0
- package/lib/index.d.ts +21 -0
- package/lib/keymapping.d.ts +25 -0
- package/lib/objects-in-viewport.d.ts +24 -0
- package/lib/output.capture.d.ts +24 -0
- package/lib/parse.keypress-kitty.d.ts +2 -0
- package/lib/parse.keypress.d.ts +26 -0
- package/lib/parse.mouse.d.ts +30 -0
- package/lib/paste.d.ts +7 -0
- package/lib/queue.d.ts +15 -0
- package/lib/renderable.validations.d.ts +12 -0
- package/lib/scroll-acceleration.d.ts +43 -0
- package/lib/selection.d.ts +63 -0
- package/lib/singleton.d.ts +7 -0
- package/lib/stdin-parser.d.ts +87 -0
- package/lib/styled-text.d.ts +63 -0
- package/lib/terminal-capability-detection.d.ts +30 -0
- package/lib/terminal-palette.d.ts +50 -0
- package/lib/tree-sitter/assets/update.d.ts +11 -0
- package/lib/tree-sitter/client.d.ts +47 -0
- package/lib/tree-sitter/default-parsers.d.ts +2 -0
- package/lib/tree-sitter/download-utils.d.ts +21 -0
- package/lib/tree-sitter/index.d.ts +8 -0
- package/lib/tree-sitter/parser.worker.d.ts +1 -0
- package/lib/tree-sitter/parsers-config.d.ts +53 -0
- package/lib/tree-sitter/resolve-ft.d.ts +5 -0
- package/lib/tree-sitter/types.d.ts +82 -0
- package/lib/tree-sitter-styled-text.d.ts +14 -0
- package/lib/validate-dir-name.d.ts +1 -0
- package/lib/yoga.options.d.ts +32 -0
- package/package.json +50 -62
- package/parser.worker.js +899 -0
- package/parser.worker.js.map +12 -0
- package/plugins/core-slot.d.ts +72 -0
- package/plugins/registry.d.ts +42 -0
- package/plugins/types.d.ts +34 -0
- package/post/effects.d.ts +147 -0
- package/post/filters.d.ts +65 -0
- package/post/matrices.d.ts +20 -0
- package/renderables/ASCIIFont.d.ts +52 -0
- package/renderables/Box.d.ts +81 -0
- package/renderables/Code.d.ts +78 -0
- package/renderables/Diff.d.ts +142 -0
- package/renderables/EditBufferRenderable.d.ts +237 -0
- package/renderables/FrameBuffer.d.ts +16 -0
- package/renderables/Input.d.ts +67 -0
- package/renderables/LineNumberRenderable.d.ts +78 -0
- package/renderables/Markdown.d.ts +185 -0
- package/renderables/ScrollBar.d.ts +77 -0
- package/renderables/ScrollBox.d.ts +124 -0
- package/renderables/Select.d.ts +115 -0
- package/renderables/Slider.d.ts +47 -0
- package/renderables/TabSelect.d.ts +96 -0
- package/renderables/Text.d.ts +36 -0
- package/renderables/TextBufferRenderable.d.ts +105 -0
- package/renderables/TextNode.d.ts +91 -0
- package/renderables/TextTable.d.ts +140 -0
- package/renderables/Textarea.d.ts +63 -0
- package/renderables/TimeToFirstDraw.d.ts +24 -0
- package/renderables/__tests__/renderable-test-utils.d.ts +12 -0
- package/renderables/composition/VRenderable.d.ts +16 -0
- package/renderables/composition/constructs.d.ts +35 -0
- package/renderables/composition/vnode.d.ts +46 -0
- package/renderables/index.d.ts +23 -0
- package/renderables/markdown-parser.d.ts +10 -0
- package/renderer.d.ts +419 -0
- package/runtime-plugin-support.d.ts +3 -0
- package/runtime-plugin-support.js +29 -0
- package/runtime-plugin-support.js.map +10 -0
- package/runtime-plugin.d.ts +16 -0
- package/runtime-plugin.js +16 -0
- package/runtime-plugin.js.map +9 -0
- package/syntax-style.d.ts +54 -0
- package/testing/manual-clock.d.ts +17 -0
- package/testing/mock-keys.d.ts +81 -0
- package/testing/mock-mouse.d.ts +38 -0
- package/testing/mock-tree-sitter-client.d.ts +23 -0
- package/testing/spy.d.ts +7 -0
- package/testing/test-recorder.d.ts +61 -0
- package/testing/test-renderer.d.ts +23 -0
- package/testing.d.ts +6 -0
- package/testing.js +697 -0
- package/testing.js.map +15 -0
- package/text-buffer-view.d.ts +42 -0
- package/text-buffer.d.ts +67 -0
- package/types.d.ts +139 -0
- package/utils.d.ts +14 -0
- package/zig-structs.d.ts +155 -0
- package/zig.d.ts +353 -0
- package/dev/keypress-debug-renderer.ts +0 -148
- package/dev/keypress-debug.ts +0 -43
- package/dev/print-env-vars.ts +0 -32
- package/dev/test-tmux-graphics-334.sh +0 -68
- package/dev/thai-debug-test.ts +0 -68
- package/docs/development.md +0 -144
- package/scripts/build.ts +0 -400
- package/scripts/publish.ts +0 -60
- package/src/3d/SpriteResourceManager.ts +0 -286
- package/src/3d/SpriteUtils.ts +0 -70
- package/src/3d/TextureUtils.ts +0 -196
- package/src/3d/ThreeRenderable.ts +0 -197
- package/src/3d/WGPURenderer.ts +0 -294
- package/src/3d/animation/ExplodingSpriteEffect.ts +0 -513
- package/src/3d/animation/PhysicsExplodingSpriteEffect.ts +0 -429
- package/src/3d/animation/SpriteAnimator.ts +0 -633
- package/src/3d/animation/SpriteParticleGenerator.ts +0 -435
- package/src/3d/canvas.ts +0 -464
- package/src/3d/index.ts +0 -12
- package/src/3d/physics/PlanckPhysicsAdapter.ts +0 -72
- package/src/3d/physics/RapierPhysicsAdapter.ts +0 -66
- package/src/3d/physics/physics-interface.ts +0 -31
- package/src/3d/shaders/supersampling.wgsl +0 -201
- package/src/3d.ts +0 -3
- package/src/NativeSpanFeed.ts +0 -300
- package/src/Renderable.ts +0 -1704
- package/src/__snapshots__/buffer.test.ts.snap +0 -28
- package/src/animation/Timeline.test.ts +0 -2709
- package/src/animation/Timeline.ts +0 -598
- package/src/ansi.ts +0 -18
- package/src/benchmark/attenuation-benchmark.ts +0 -81
- package/src/benchmark/colormatrix-benchmark.ts +0 -128
- package/src/benchmark/gain-benchmark.ts +0 -80
- package/src/benchmark/latest-all-bench-run.json +0 -707
- package/src/benchmark/latest-async-bench-run.json +0 -336
- package/src/benchmark/latest-default-bench-run.json +0 -657
- package/src/benchmark/latest-large-bench-run.json +0 -707
- package/src/benchmark/latest-quick-bench-run.json +0 -207
- package/src/benchmark/markdown-benchmark.ts +0 -1796
- package/src/benchmark/native-span-feed-async-benchmark.ts +0 -355
- package/src/benchmark/native-span-feed-benchmark.md +0 -56
- package/src/benchmark/native-span-feed-benchmark.ts +0 -596
- package/src/benchmark/native-span-feed-compare.ts +0 -280
- package/src/benchmark/renderer-benchmark.ts +0 -754
- package/src/benchmark/text-table-benchmark.ts +0 -948
- package/src/buffer.test.ts +0 -291
- package/src/buffer.ts +0 -554
- package/src/console.test.ts +0 -612
- package/src/console.ts +0 -1254
- package/src/edit-buffer.test.ts +0 -1769
- package/src/edit-buffer.ts +0 -411
- package/src/editor-view.test.ts +0 -1032
- package/src/editor-view.ts +0 -284
- package/src/examples/ascii-font-selection-demo.ts +0 -245
- package/src/examples/assets/Water_2_M_Normal.jpg +0 -0
- package/src/examples/assets/concrete.png +0 -0
- package/src/examples/assets/crate.png +0 -0
- package/src/examples/assets/crate_emissive.png +0 -0
- package/src/examples/assets/forrest_background.png +0 -0
- package/src/examples/assets/hast-example.json +0 -1018
- package/src/examples/assets/heart.png +0 -0
- package/src/examples/assets/main_char_heavy_attack.png +0 -0
- package/src/examples/assets/main_char_idle.png +0 -0
- package/src/examples/assets/main_char_jump_end.png +0 -0
- package/src/examples/assets/main_char_jump_landing.png +0 -0
- package/src/examples/assets/main_char_jump_start.png +0 -0
- package/src/examples/assets/main_char_run_loop.png +0 -0
- package/src/examples/assets/roughness_map.jpg +0 -0
- package/src/examples/build.ts +0 -115
- package/src/examples/code-demo.ts +0 -924
- package/src/examples/console-demo.ts +0 -358
- package/src/examples/core-plugin-slots-demo.ts +0 -759
- package/src/examples/diff-demo.ts +0 -701
- package/src/examples/draggable-three-demo.ts +0 -259
- package/src/examples/editor-demo.ts +0 -322
- package/src/examples/extmarks-demo.ts +0 -196
- package/src/examples/focus-restore-demo.ts +0 -310
- package/src/examples/fonts.ts +0 -245
- package/src/examples/fractal-shader-demo.ts +0 -268
- package/src/examples/framebuffer-demo.ts +0 -674
- package/src/examples/full-unicode-demo.ts +0 -241
- package/src/examples/golden-star-demo.ts +0 -933
- package/src/examples/grayscale-buffer-demo.ts +0 -249
- package/src/examples/hast-syntax-highlighting-demo.ts +0 -129
- package/src/examples/index.ts +0 -926
- package/src/examples/input-demo.ts +0 -377
- package/src/examples/input-select-layout-demo.ts +0 -425
- package/src/examples/install.sh +0 -143
- package/src/examples/keypress-debug-demo.ts +0 -452
- package/src/examples/lib/HexList.ts +0 -122
- package/src/examples/lib/PaletteGrid.ts +0 -125
- package/src/examples/lib/standalone-keys.ts +0 -25
- package/src/examples/lib/tab-controller.ts +0 -243
- package/src/examples/lights-phong-demo.ts +0 -290
- package/src/examples/link-demo.ts +0 -220
- package/src/examples/live-state-demo.ts +0 -480
- package/src/examples/markdown-demo.ts +0 -725
- package/src/examples/mouse-interaction-demo.ts +0 -428
- package/src/examples/nested-zindex-demo.ts +0 -357
- package/src/examples/opacity-example.ts +0 -235
- package/src/examples/opentui-demo.ts +0 -1057
- package/src/examples/physx-planck-2d-demo.ts +0 -623
- package/src/examples/physx-rapier-2d-demo.ts +0 -655
- package/src/examples/relative-positioning-demo.ts +0 -323
- package/src/examples/scroll-example.ts +0 -214
- package/src/examples/scrollbox-mouse-test.ts +0 -112
- package/src/examples/scrollbox-overlay-hit-test.ts +0 -206
- package/src/examples/select-demo.ts +0 -237
- package/src/examples/shader-cube-demo.ts +0 -1015
- package/src/examples/simple-layout-example.ts +0 -591
- package/src/examples/slider-demo.ts +0 -617
- package/src/examples/split-mode-demo.ts +0 -453
- package/src/examples/sprite-animation-demo.ts +0 -443
- package/src/examples/sprite-particle-generator-demo.ts +0 -486
- package/src/examples/static-sprite-demo.ts +0 -193
- package/src/examples/sticky-scroll-example.ts +0 -308
- package/src/examples/styled-text-demo.ts +0 -282
- package/src/examples/tab-select-demo.ts +0 -219
- package/src/examples/terminal-title.ts +0 -29
- package/src/examples/terminal.ts +0 -305
- package/src/examples/text-node-demo.ts +0 -416
- package/src/examples/text-selection-demo.ts +0 -377
- package/src/examples/text-table-demo.ts +0 -503
- package/src/examples/text-truncation-demo.ts +0 -481
- package/src/examples/text-wrap.ts +0 -757
- package/src/examples/texture-loading-demo.ts +0 -259
- package/src/examples/timeline-example.ts +0 -670
- package/src/examples/transparency-demo.ts +0 -400
- package/src/examples/vnode-composition-demo.ts +0 -404
- package/src/examples/wide-grapheme-overlay-demo.ts +0 -280
- package/src/index.ts +0 -24
- package/src/lib/KeyHandler.integration.test.ts +0 -292
- package/src/lib/KeyHandler.stopPropagation.test.ts +0 -289
- package/src/lib/KeyHandler.test.ts +0 -662
- package/src/lib/KeyHandler.ts +0 -222
- package/src/lib/RGBA.test.ts +0 -984
- package/src/lib/RGBA.ts +0 -204
- package/src/lib/ascii.font.ts +0 -330
- package/src/lib/border.test.ts +0 -83
- package/src/lib/border.ts +0 -170
- package/src/lib/bunfs.test.ts +0 -27
- package/src/lib/bunfs.ts +0 -18
- package/src/lib/clipboard.test.ts +0 -41
- package/src/lib/clipboard.ts +0 -47
- package/src/lib/clock.ts +0 -35
- package/src/lib/data-paths.test.ts +0 -133
- package/src/lib/data-paths.ts +0 -109
- package/src/lib/debounce.ts +0 -106
- package/src/lib/detect-links.test.ts +0 -98
- package/src/lib/detect-links.ts +0 -56
- package/src/lib/env.test.ts +0 -228
- package/src/lib/env.ts +0 -209
- package/src/lib/extmarks-history.ts +0 -51
- package/src/lib/extmarks-multiwidth.test.ts +0 -322
- package/src/lib/extmarks.test.ts +0 -3457
- package/src/lib/extmarks.ts +0 -843
- package/src/lib/fonts/block.json +0 -405
- package/src/lib/fonts/grid.json +0 -265
- package/src/lib/fonts/huge.json +0 -741
- package/src/lib/fonts/pallet.json +0 -314
- package/src/lib/fonts/shade.json +0 -591
- package/src/lib/fonts/slick.json +0 -321
- package/src/lib/fonts/tiny.json +0 -69
- package/src/lib/hast-styled-text.ts +0 -59
- package/src/lib/index.ts +0 -21
- package/src/lib/keymapping.test.ts +0 -317
- package/src/lib/keymapping.ts +0 -115
- package/src/lib/objects-in-viewport.test.ts +0 -787
- package/src/lib/objects-in-viewport.ts +0 -153
- package/src/lib/output.capture.ts +0 -58
- package/src/lib/parse.keypress-kitty.protocol.test.ts +0 -340
- package/src/lib/parse.keypress-kitty.test.ts +0 -663
- package/src/lib/parse.keypress-kitty.ts +0 -439
- package/src/lib/parse.keypress.test.ts +0 -1849
- package/src/lib/parse.keypress.ts +0 -397
- package/src/lib/parse.mouse.test.ts +0 -552
- package/src/lib/parse.mouse.ts +0 -232
- package/src/lib/paste.ts +0 -16
- package/src/lib/queue.ts +0 -65
- package/src/lib/renderable.validations.test.ts +0 -87
- package/src/lib/renderable.validations.ts +0 -83
- package/src/lib/scroll-acceleration.ts +0 -98
- package/src/lib/selection.ts +0 -240
- package/src/lib/singleton.ts +0 -28
- package/src/lib/stdin-parser.test.ts +0 -2290
- package/src/lib/stdin-parser.ts +0 -1810
- package/src/lib/styled-text.ts +0 -178
- package/src/lib/terminal-capability-detection.test.ts +0 -202
- package/src/lib/terminal-capability-detection.ts +0 -79
- package/src/lib/terminal-palette.test.ts +0 -878
- package/src/lib/terminal-palette.ts +0 -383
- package/src/lib/tree-sitter/assets/README.md +0 -118
- package/src/lib/tree-sitter/assets/update.ts +0 -334
- package/src/lib/tree-sitter/assets.d.ts +0 -9
- package/src/lib/tree-sitter/cache.test.ts +0 -273
- package/src/lib/tree-sitter/client.test.ts +0 -1165
- package/src/lib/tree-sitter/client.ts +0 -607
- package/src/lib/tree-sitter/default-parsers.ts +0 -86
- package/src/lib/tree-sitter/download-utils.ts +0 -148
- package/src/lib/tree-sitter/index.ts +0 -28
- package/src/lib/tree-sitter/parser.worker.ts +0 -1042
- package/src/lib/tree-sitter/parsers-config.ts +0 -81
- package/src/lib/tree-sitter/resolve-ft.test.ts +0 -55
- package/src/lib/tree-sitter/resolve-ft.ts +0 -189
- package/src/lib/tree-sitter/types.ts +0 -82
- package/src/lib/tree-sitter-styled-text.test.ts +0 -1253
- package/src/lib/tree-sitter-styled-text.ts +0 -306
- package/src/lib/validate-dir-name.ts +0 -55
- package/src/lib/yoga.options.test.ts +0 -628
- package/src/lib/yoga.options.ts +0 -346
- package/src/plugins/core-slot.ts +0 -579
- package/src/plugins/registry.ts +0 -402
- package/src/plugins/types.ts +0 -46
- package/src/post/effects.ts +0 -930
- package/src/post/filters.ts +0 -489
- package/src/post/matrices.ts +0 -288
- package/src/renderables/ASCIIFont.ts +0 -219
- package/src/renderables/Box.test.ts +0 -205
- package/src/renderables/Box.ts +0 -326
- package/src/renderables/Code.test.ts +0 -2062
- package/src/renderables/Code.ts +0 -357
- package/src/renderables/Diff.regression.test.ts +0 -226
- package/src/renderables/Diff.test.ts +0 -3101
- package/src/renderables/Diff.ts +0 -1211
- package/src/renderables/EditBufferRenderable.test.ts +0 -288
- package/src/renderables/EditBufferRenderable.ts +0 -1166
- package/src/renderables/FrameBuffer.ts +0 -47
- package/src/renderables/Input.test.ts +0 -1228
- package/src/renderables/Input.ts +0 -247
- package/src/renderables/LineNumberRenderable.ts +0 -724
- package/src/renderables/Markdown.ts +0 -1393
- package/src/renderables/ScrollBar.ts +0 -422
- package/src/renderables/ScrollBox.ts +0 -883
- package/src/renderables/Select.test.ts +0 -1033
- package/src/renderables/Select.ts +0 -524
- package/src/renderables/Slider.test.ts +0 -456
- package/src/renderables/Slider.ts +0 -342
- package/src/renderables/TabSelect.test.ts +0 -197
- package/src/renderables/TabSelect.ts +0 -455
- package/src/renderables/Text.selection-buffer.test.ts +0 -123
- package/src/renderables/Text.test.ts +0 -2660
- package/src/renderables/Text.ts +0 -147
- package/src/renderables/TextBufferRenderable.ts +0 -518
- package/src/renderables/TextNode.test.ts +0 -1058
- package/src/renderables/TextNode.ts +0 -325
- package/src/renderables/TextTable.test.ts +0 -1421
- package/src/renderables/TextTable.ts +0 -1344
- package/src/renderables/Textarea.ts +0 -430
- package/src/renderables/TimeToFirstDraw.ts +0 -89
- package/src/renderables/__snapshots__/Code.test.ts.snap +0 -13
- package/src/renderables/__snapshots__/Diff.test.ts.snap +0 -785
- package/src/renderables/__snapshots__/Text.test.ts.snap +0 -421
- package/src/renderables/__snapshots__/TextTable.test.ts.snap +0 -215
- package/src/renderables/__tests__/LineNumberRenderable.scrollbox-simple.test.ts +0 -144
- package/src/renderables/__tests__/LineNumberRenderable.scrollbox.test.ts +0 -816
- package/src/renderables/__tests__/LineNumberRenderable.test.ts +0 -1865
- package/src/renderables/__tests__/LineNumberRenderable.wrapping.test.ts +0 -85
- package/src/renderables/__tests__/Markdown.code-colors.test.ts +0 -242
- package/src/renderables/__tests__/Markdown.test.ts +0 -2518
- package/src/renderables/__tests__/MultiRenderable.selection.test.ts +0 -87
- package/src/renderables/__tests__/Textarea.buffer.test.ts +0 -682
- package/src/renderables/__tests__/Textarea.destroyed-events.test.ts +0 -675
- package/src/renderables/__tests__/Textarea.editing.test.ts +0 -2041
- package/src/renderables/__tests__/Textarea.error-handling.test.ts +0 -35
- package/src/renderables/__tests__/Textarea.events.test.ts +0 -738
- package/src/renderables/__tests__/Textarea.highlights.test.ts +0 -590
- package/src/renderables/__tests__/Textarea.keybinding.test.ts +0 -3149
- package/src/renderables/__tests__/Textarea.paste.test.ts +0 -357
- package/src/renderables/__tests__/Textarea.rendering.test.ts +0 -1866
- package/src/renderables/__tests__/Textarea.scroll.test.ts +0 -733
- package/src/renderables/__tests__/Textarea.selection.test.ts +0 -1590
- package/src/renderables/__tests__/Textarea.stress.test.ts +0 -670
- package/src/renderables/__tests__/Textarea.undo-redo.test.ts +0 -383
- package/src/renderables/__tests__/Textarea.visual-lines.test.ts +0 -310
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.code.test.ts.snap +0 -221
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.scrollbox-simple.test.ts.snap +0 -89
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.scrollbox.test.ts.snap +0 -457
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.test.ts.snap +0 -158
- package/src/renderables/__tests__/__snapshots__/Textarea.rendering.test.ts.snap +0 -387
- package/src/renderables/__tests__/markdown-parser.test.ts +0 -217
- package/src/renderables/__tests__/renderable-test-utils.ts +0 -60
- package/src/renderables/composition/README.md +0 -8
- package/src/renderables/composition/VRenderable.ts +0 -32
- package/src/renderables/composition/constructs.ts +0 -127
- package/src/renderables/composition/vnode.ts +0 -289
- package/src/renderables/index.ts +0 -23
- package/src/renderables/markdown-parser.ts +0 -66
- package/src/renderer.ts +0 -2681
- package/src/runtime-plugin-support.ts +0 -39
- package/src/runtime-plugin.ts +0 -615
- package/src/syntax-style.test.ts +0 -841
- package/src/syntax-style.ts +0 -257
- package/src/testing/README.md +0 -210
- package/src/testing/capture-spans.test.ts +0 -194
- package/src/testing/integration.test.ts +0 -276
- package/src/testing/manual-clock.ts +0 -117
- package/src/testing/mock-keys.test.ts +0 -1378
- package/src/testing/mock-keys.ts +0 -457
- package/src/testing/mock-mouse.test.ts +0 -218
- package/src/testing/mock-mouse.ts +0 -247
- package/src/testing/mock-tree-sitter-client.ts +0 -73
- package/src/testing/spy.ts +0 -13
- package/src/testing/test-recorder.test.ts +0 -415
- package/src/testing/test-recorder.ts +0 -145
- package/src/testing/test-renderer.ts +0 -132
- package/src/testing.ts +0 -7
- package/src/tests/__snapshots__/absolute-positioning.snapshot.test.ts.snap +0 -481
- package/src/tests/__snapshots__/renderable.snapshot.test.ts.snap +0 -19
- package/src/tests/__snapshots__/scrollbox.test.ts.snap +0 -29
- package/src/tests/absolute-positioning.snapshot.test.ts +0 -638
- package/src/tests/allocator-stats.test.ts +0 -38
- package/src/tests/destroy-during-render.test.ts +0 -200
- package/src/tests/destroy-on-exit.fixture.ts +0 -36
- package/src/tests/destroy-on-exit.test.ts +0 -41
- package/src/tests/hover-cursor.test.ts +0 -98
- package/src/tests/native-span-feed-async.test.ts +0 -173
- package/src/tests/native-span-feed-close.test.ts +0 -120
- package/src/tests/native-span-feed-coverage.test.ts +0 -227
- package/src/tests/native-span-feed-edge-cases.test.ts +0 -352
- package/src/tests/native-span-feed-use-after-free.test.ts +0 -45
- package/src/tests/opacity.test.ts +0 -123
- package/src/tests/renderable.snapshot.test.ts +0 -524
- package/src/tests/renderable.test.ts +0 -1281
- package/src/tests/renderer.clock.test.ts +0 -158
- package/src/tests/renderer.console-startup.test.ts +0 -185
- package/src/tests/renderer.control.test.ts +0 -425
- package/src/tests/renderer.core-slot-binding.test.ts +0 -952
- package/src/tests/renderer.cursor.test.ts +0 -26
- package/src/tests/renderer.destroy-during-render.test.ts +0 -147
- package/src/tests/renderer.focus-restore.test.ts +0 -257
- package/src/tests/renderer.focus.test.ts +0 -294
- package/src/tests/renderer.idle.test.ts +0 -219
- package/src/tests/renderer.input.test.ts +0 -2237
- package/src/tests/renderer.kitty-flags.test.ts +0 -195
- package/src/tests/renderer.mouse.test.ts +0 -1274
- package/src/tests/renderer.palette.test.ts +0 -629
- package/src/tests/renderer.selection.test.ts +0 -49
- package/src/tests/renderer.slot-registry.test.ts +0 -684
- package/src/tests/renderer.useMouse.test.ts +0 -47
- package/src/tests/runtime-plugin-node-modules-cycle.fixture.ts +0 -76
- package/src/tests/runtime-plugin-node-modules-mjs.fixture.ts +0 -43
- package/src/tests/runtime-plugin-node-modules-no-bare-rewrite.fixture.ts +0 -67
- package/src/tests/runtime-plugin-node-modules-package-type-cache.fixture.ts +0 -72
- package/src/tests/runtime-plugin-node-modules-runtime-specifier.fixture.ts +0 -44
- package/src/tests/runtime-plugin-node-modules-scoped-package-bare-rewrite.fixture.ts +0 -85
- package/src/tests/runtime-plugin-path-alias.fixture.ts +0 -43
- package/src/tests/runtime-plugin-resolve-roots.fixture.ts +0 -65
- package/src/tests/runtime-plugin-support.fixture.ts +0 -11
- package/src/tests/runtime-plugin-support.test.ts +0 -19
- package/src/tests/runtime-plugin-windows-file-url.fixture.ts +0 -30
- package/src/tests/runtime-plugin.fixture.ts +0 -40
- package/src/tests/runtime-plugin.test.ts +0 -354
- package/src/tests/scrollbox-culling-bug.test.ts +0 -114
- package/src/tests/scrollbox-hitgrid-resize.test.ts +0 -136
- package/src/tests/scrollbox-hitgrid.test.ts +0 -909
- package/src/tests/scrollbox.test.ts +0 -1530
- package/src/tests/wrap-resize-perf.test.ts +0 -276
- package/src/tests/yoga-setters.test.ts +0 -921
- package/src/text-buffer-view.test.ts +0 -705
- package/src/text-buffer-view.ts +0 -189
- package/src/text-buffer.test.ts +0 -347
- package/src/text-buffer.ts +0 -250
- package/src/types.ts +0 -161
- package/src/utils.ts +0 -88
- package/src/zig/ansi.zig +0 -268
- package/src/zig/bench/README.md +0 -50
- package/src/zig/bench/buffer-draw-text-buffer_bench.zig +0 -887
- package/src/zig/bench/edit-buffer_bench.zig +0 -476
- package/src/zig/bench/native-span-feed_bench.zig +0 -100
- package/src/zig/bench/rope-markers_bench.zig +0 -713
- package/src/zig/bench/rope_bench.zig +0 -514
- package/src/zig/bench/styled-text_bench.zig +0 -470
- package/src/zig/bench/text-buffer-coords_bench.zig +0 -362
- package/src/zig/bench/text-buffer-view_bench.zig +0 -459
- package/src/zig/bench/text-chunk-graphemes_bench.zig +0 -273
- package/src/zig/bench/utf8_bench.zig +0 -799
- package/src/zig/bench-utils.zig +0 -431
- package/src/zig/bench.zig +0 -217
- package/src/zig/buffer-methods.zig +0 -211
- package/src/zig/buffer.zig +0 -2281
- package/src/zig/build.zig +0 -289
- package/src/zig/build.zig.zon +0 -16
- package/src/zig/edit-buffer.zig +0 -825
- package/src/zig/editor-view.zig +0 -802
- package/src/zig/event-bus.zig +0 -13
- package/src/zig/event-emitter.zig +0 -65
- package/src/zig/file-logger.zig +0 -92
- package/src/zig/grapheme.zig +0 -599
- package/src/zig/lib.zig +0 -1854
- package/src/zig/link.zig +0 -333
- package/src/zig/logger.zig +0 -43
- package/src/zig/mem-registry.zig +0 -125
- package/src/zig/native-span-feed-bench-lib.zig +0 -7
- package/src/zig/native-span-feed.zig +0 -708
- package/src/zig/renderer.zig +0 -1393
- package/src/zig/rope.zig +0 -1220
- package/src/zig/syntax-style.zig +0 -161
- package/src/zig/terminal.zig +0 -987
- package/src/zig/test.zig +0 -72
- package/src/zig/tests/README.md +0 -18
- package/src/zig/tests/buffer-methods_test.zig +0 -1109
- package/src/zig/tests/buffer_test.zig +0 -2557
- package/src/zig/tests/edit-buffer-history_test.zig +0 -271
- package/src/zig/tests/edit-buffer_test.zig +0 -1689
- package/src/zig/tests/editor-view_test.zig +0 -3299
- package/src/zig/tests/event-emitter_test.zig +0 -249
- package/src/zig/tests/grapheme_test.zig +0 -1304
- package/src/zig/tests/link_test.zig +0 -190
- package/src/zig/tests/mem-registry_test.zig +0 -473
- package/src/zig/tests/memory_leak_regression_test.zig +0 -159
- package/src/zig/tests/native-span-feed_test.zig +0 -1264
- package/src/zig/tests/renderer_test.zig +0 -1017
- package/src/zig/tests/rope-nested_test.zig +0 -712
- package/src/zig/tests/rope_fuzz_test.zig +0 -238
- package/src/zig/tests/rope_test.zig +0 -2362
- package/src/zig/tests/segment-merge.test.zig +0 -148
- package/src/zig/tests/syntax-style_test.zig +0 -557
- package/src/zig/tests/terminal_test.zig +0 -754
- package/src/zig/tests/text-buffer-drawing_test.zig +0 -3237
- package/src/zig/tests/text-buffer-highlights_test.zig +0 -666
- package/src/zig/tests/text-buffer-iterators_test.zig +0 -776
- package/src/zig/tests/text-buffer-segment_test.zig +0 -320
- package/src/zig/tests/text-buffer-selection_test.zig +0 -1035
- package/src/zig/tests/text-buffer-selection_viewport_test.zig +0 -358
- package/src/zig/tests/text-buffer-view_test.zig +0 -3649
- package/src/zig/tests/text-buffer_test.zig +0 -2191
- package/src/zig/tests/unicode-width-map.zon +0 -3909
- package/src/zig/tests/utf8_no_zwj_test.zig +0 -260
- package/src/zig/tests/utf8_test.zig +0 -4057
- package/src/zig/tests/utf8_wcwidth_cursor_test.zig +0 -267
- package/src/zig/tests/utf8_wcwidth_test.zig +0 -357
- package/src/zig/tests/word-wrap-editing_test.zig +0 -498
- package/src/zig/tests/wrap-cache-perf_test.zig +0 -113
- package/src/zig/text-buffer-iterators.zig +0 -499
- package/src/zig/text-buffer-segment.zig +0 -404
- package/src/zig/text-buffer-view.zig +0 -1371
- package/src/zig/text-buffer.zig +0 -1180
- package/src/zig/utf8.zig +0 -1948
- package/src/zig/utils.zig +0 -9
- package/src/zig-structs.ts +0 -261
- package/src/zig.ts +0 -3884
- package/tsconfig.build.json +0 -24
- package/tsconfig.json +0 -27
- /package/{src/lib/tree-sitter/assets → assets}/javascript/highlights.scm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/javascript/tree-sitter-javascript.wasm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/markdown/highlights.scm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/markdown/injections.scm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/markdown/tree-sitter-markdown.wasm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/markdown_inline/highlights.scm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/markdown_inline/tree-sitter-markdown_inline.wasm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/typescript/highlights.scm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/typescript/tree-sitter-typescript.wasm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/zig/highlights.scm +0 -0
- /package/{src/lib/tree-sitter/assets → assets}/zig/tree-sitter-zig.wasm +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export * from "./ASCIIFont.js";
|
|
2
|
+
export * from "./Box.js";
|
|
3
|
+
export * from "./Code.js";
|
|
4
|
+
export * from "./composition/constructs.js";
|
|
5
|
+
export * from "./composition/VRenderable.js";
|
|
6
|
+
export * from "./composition/vnode.js";
|
|
7
|
+
export * from "./Diff.js";
|
|
8
|
+
export * from "./EditBufferRenderable.js";
|
|
9
|
+
export * from "./FrameBuffer.js";
|
|
10
|
+
export * from "./Input.js";
|
|
11
|
+
export * from "./LineNumberRenderable.js";
|
|
12
|
+
export * from "./Markdown.js";
|
|
13
|
+
export * from "./ScrollBar.js";
|
|
14
|
+
export * from "./ScrollBox.js";
|
|
15
|
+
export * from "./Select.js";
|
|
16
|
+
export * from "./Slider.js";
|
|
17
|
+
export * from "./TextTable.js";
|
|
18
|
+
export * from "./TabSelect.js";
|
|
19
|
+
export * from "./Text.js";
|
|
20
|
+
export * from "./TimeToFirstDraw.js";
|
|
21
|
+
export * from "./TextBufferRenderable.js";
|
|
22
|
+
export * from "./TextNode.js";
|
|
23
|
+
export * from "./Textarea.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type MarkedToken } from "marked";
|
|
2
|
+
export interface ParseState {
|
|
3
|
+
content: string;
|
|
4
|
+
tokens: MarkedToken[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Incrementally parse markdown, reusing unchanged tokens from previous parse.
|
|
8
|
+
* Compares token.raw at each offset - matching tokens keep same object reference.
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseMarkdownIncremental(newContent: string, prevState: ParseState | null, trailingUnstable?: number): ParseState;
|
package/renderer.d.ts
ADDED
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
import { Renderable, RootRenderable } from "./Renderable.js";
|
|
2
|
+
import { DebugOverlayCorner, type CursorStyleOptions, type MousePointerStyle, type RenderContext, type ThemeMode, type WidthMethod } from "./types.js";
|
|
3
|
+
import { RGBA, type ColorInput } from "./lib/RGBA.js";
|
|
4
|
+
import type { Pointer } from "bun:ffi";
|
|
5
|
+
import { OptimizedBuffer } from "./buffer.js";
|
|
6
|
+
import { type RenderLib } from "./zig.js";
|
|
7
|
+
import { TerminalConsole, type ConsoleOptions } from "./console.js";
|
|
8
|
+
import { type MouseEventType, type RawMouseEvent, type ScrollInfo } from "./lib/parse.mouse.js";
|
|
9
|
+
import { Selection } from "./lib/selection.js";
|
|
10
|
+
import { type ClipboardTarget } from "./lib/clipboard.js";
|
|
11
|
+
import { EventEmitter } from "events";
|
|
12
|
+
import { KeyHandler, InternalKeyHandler } from "./lib/KeyHandler.js";
|
|
13
|
+
import { type EditBufferRenderable } from "./renderables/EditBufferRenderable.js";
|
|
14
|
+
import { type TerminalColors, type GetPaletteOptions } from "./lib/terminal-palette.js";
|
|
15
|
+
import { type Clock } from "./lib/clock.js";
|
|
16
|
+
export interface CliRendererConfig {
|
|
17
|
+
stdin?: NodeJS.ReadStream;
|
|
18
|
+
stdout?: NodeJS.WriteStream;
|
|
19
|
+
remote?: boolean;
|
|
20
|
+
testing?: boolean;
|
|
21
|
+
exitOnCtrlC?: boolean;
|
|
22
|
+
exitSignals?: NodeJS.Signals[];
|
|
23
|
+
forwardEnvKeys?: string[];
|
|
24
|
+
debounceDelay?: number;
|
|
25
|
+
targetFps?: number;
|
|
26
|
+
maxFps?: number;
|
|
27
|
+
memorySnapshotInterval?: number;
|
|
28
|
+
useThread?: boolean;
|
|
29
|
+
gatherStats?: boolean;
|
|
30
|
+
maxStatSamples?: number;
|
|
31
|
+
consoleOptions?: Omit<ConsoleOptions, "clock">;
|
|
32
|
+
postProcessFns?: ((buffer: OptimizedBuffer, deltaTime: number) => void)[];
|
|
33
|
+
enableMouseMovement?: boolean;
|
|
34
|
+
useMouse?: boolean;
|
|
35
|
+
autoFocus?: boolean;
|
|
36
|
+
screenMode?: ScreenMode;
|
|
37
|
+
footerHeight?: number;
|
|
38
|
+
externalOutputMode?: ExternalOutputMode;
|
|
39
|
+
consoleMode?: ConsoleMode;
|
|
40
|
+
useKittyKeyboard?: KittyKeyboardOptions | null;
|
|
41
|
+
backgroundColor?: ColorInput;
|
|
42
|
+
openConsoleOnError?: boolean;
|
|
43
|
+
prependInputHandlers?: ((sequence: string) => boolean)[];
|
|
44
|
+
stdinParserMaxBufferBytes?: number;
|
|
45
|
+
clock?: Clock;
|
|
46
|
+
onDestroy?: () => void;
|
|
47
|
+
}
|
|
48
|
+
export type ScreenMode = "alternate-screen" | "main-screen" | "split-footer";
|
|
49
|
+
export type ExternalOutputMode = "capture-stdout" | "passthrough";
|
|
50
|
+
export type ConsoleMode = "console-overlay" | "disabled";
|
|
51
|
+
export type PixelResolution = {
|
|
52
|
+
width: number;
|
|
53
|
+
height: number;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Kitty Keyboard Protocol configuration options
|
|
57
|
+
* See: https://sw.kovidgoyal.net/kitty/keyboard-protocol/#progressive-enhancement
|
|
58
|
+
*/
|
|
59
|
+
export interface KittyKeyboardOptions {
|
|
60
|
+
/** Disambiguate escape codes (fixes ESC timing, alt+key ambiguity, ctrl+c as event). Default: true */
|
|
61
|
+
disambiguate?: boolean;
|
|
62
|
+
/** Report alternate keys (numpad, shifted, base layout) for cross-keyboard shortcuts. Default: true */
|
|
63
|
+
alternateKeys?: boolean;
|
|
64
|
+
/** Report event types (press/repeat/release). Default: false */
|
|
65
|
+
events?: boolean;
|
|
66
|
+
/** Report all keys as escape codes. Default: false */
|
|
67
|
+
allKeysAsEscapes?: boolean;
|
|
68
|
+
/** Report text associated with key events. Default: false */
|
|
69
|
+
reportText?: boolean;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build kitty keyboard protocol flags based on configuration
|
|
73
|
+
* @param config Kitty keyboard configuration object (null/undefined = disabled)
|
|
74
|
+
* @returns The combined flags value (0 = disabled, >0 = enabled)
|
|
75
|
+
* @internal Exported for testing
|
|
76
|
+
*/
|
|
77
|
+
export declare function buildKittyKeyboardFlags(config: KittyKeyboardOptions | null | undefined): number;
|
|
78
|
+
export declare class MouseEvent {
|
|
79
|
+
readonly type: MouseEventType;
|
|
80
|
+
readonly button: number;
|
|
81
|
+
readonly x: number;
|
|
82
|
+
readonly y: number;
|
|
83
|
+
readonly source?: Renderable;
|
|
84
|
+
readonly modifiers: {
|
|
85
|
+
shift: boolean;
|
|
86
|
+
alt: boolean;
|
|
87
|
+
ctrl: boolean;
|
|
88
|
+
};
|
|
89
|
+
readonly scroll?: ScrollInfo;
|
|
90
|
+
readonly target: Renderable | null;
|
|
91
|
+
readonly isDragging?: boolean;
|
|
92
|
+
private _propagationStopped;
|
|
93
|
+
private _defaultPrevented;
|
|
94
|
+
get propagationStopped(): boolean;
|
|
95
|
+
get defaultPrevented(): boolean;
|
|
96
|
+
constructor(target: Renderable | null, attributes: RawMouseEvent & {
|
|
97
|
+
source?: Renderable;
|
|
98
|
+
isDragging?: boolean;
|
|
99
|
+
});
|
|
100
|
+
stopPropagation(): void;
|
|
101
|
+
preventDefault(): void;
|
|
102
|
+
}
|
|
103
|
+
export declare enum MouseButton {
|
|
104
|
+
LEFT = 0,
|
|
105
|
+
MIDDLE = 1,
|
|
106
|
+
RIGHT = 2,
|
|
107
|
+
WHEEL_UP = 4,
|
|
108
|
+
WHEEL_DOWN = 5
|
|
109
|
+
}
|
|
110
|
+
export declare function createCliRenderer(config?: CliRendererConfig): Promise<CliRenderer>;
|
|
111
|
+
export declare enum CliRenderEvents {
|
|
112
|
+
RESIZE = "resize",
|
|
113
|
+
FOCUS = "focus",
|
|
114
|
+
BLUR = "blur",
|
|
115
|
+
FOCUSED_EDITOR = "focused_editor",
|
|
116
|
+
THEME_MODE = "theme_mode",
|
|
117
|
+
CAPABILITIES = "capabilities",
|
|
118
|
+
SELECTION = "selection",
|
|
119
|
+
DEBUG_OVERLAY_TOGGLE = "debugOverlay:toggle",
|
|
120
|
+
DESTROY = "destroy",
|
|
121
|
+
MEMORY_SNAPSHOT = "memory:snapshot"
|
|
122
|
+
}
|
|
123
|
+
export declare enum RendererControlState {
|
|
124
|
+
IDLE = "idle",
|
|
125
|
+
AUTO_STARTED = "auto_started",
|
|
126
|
+
EXPLICIT_STARTED = "explicit_started",
|
|
127
|
+
EXPLICIT_PAUSED = "explicit_paused",
|
|
128
|
+
EXPLICIT_SUSPENDED = "explicit_suspended",
|
|
129
|
+
EXPLICIT_STOPPED = "explicit_stopped"
|
|
130
|
+
}
|
|
131
|
+
export declare class CliRenderer extends EventEmitter implements RenderContext {
|
|
132
|
+
private static animationFrameId;
|
|
133
|
+
private lib;
|
|
134
|
+
rendererPtr: Pointer;
|
|
135
|
+
stdin: NodeJS.ReadStream;
|
|
136
|
+
private stdout;
|
|
137
|
+
private exitOnCtrlC;
|
|
138
|
+
private exitSignals;
|
|
139
|
+
private _exitListenersAdded;
|
|
140
|
+
private _isDestroyed;
|
|
141
|
+
private _destroyPending;
|
|
142
|
+
private _destroyFinalized;
|
|
143
|
+
private _destroyCleanupPrepared;
|
|
144
|
+
nextRenderBuffer: OptimizedBuffer;
|
|
145
|
+
currentRenderBuffer: OptimizedBuffer;
|
|
146
|
+
private _isRunning;
|
|
147
|
+
private _targetFps;
|
|
148
|
+
private _maxFps;
|
|
149
|
+
private automaticMemorySnapshot;
|
|
150
|
+
private memorySnapshotInterval;
|
|
151
|
+
private memorySnapshotTimer;
|
|
152
|
+
private lastMemorySnapshot;
|
|
153
|
+
readonly root: RootRenderable;
|
|
154
|
+
width: number;
|
|
155
|
+
height: number;
|
|
156
|
+
private _useThread;
|
|
157
|
+
private gatherStats;
|
|
158
|
+
private frameTimes;
|
|
159
|
+
private maxStatSamples;
|
|
160
|
+
private postProcessFns;
|
|
161
|
+
private backgroundColor;
|
|
162
|
+
private waitingForPixelResolution;
|
|
163
|
+
private readonly clock;
|
|
164
|
+
private rendering;
|
|
165
|
+
private renderingNative;
|
|
166
|
+
private renderTimeout;
|
|
167
|
+
private lastTime;
|
|
168
|
+
private frameCount;
|
|
169
|
+
private lastFpsTime;
|
|
170
|
+
private currentFps;
|
|
171
|
+
private targetFrameTime;
|
|
172
|
+
private minTargetFrameTime;
|
|
173
|
+
private immediateRerenderRequested;
|
|
174
|
+
private updateScheduled;
|
|
175
|
+
private liveRequestCounter;
|
|
176
|
+
private _controlState;
|
|
177
|
+
private frameCallbacks;
|
|
178
|
+
private renderStats;
|
|
179
|
+
debugOverlay: {
|
|
180
|
+
enabled: any;
|
|
181
|
+
corner: DebugOverlayCorner;
|
|
182
|
+
};
|
|
183
|
+
private _console;
|
|
184
|
+
private _resolution;
|
|
185
|
+
private _keyHandler;
|
|
186
|
+
private stdinParser;
|
|
187
|
+
private readonly oscSubscribers;
|
|
188
|
+
private hasLoggedStdinParserError;
|
|
189
|
+
private animationRequest;
|
|
190
|
+
private resizeTimeoutId;
|
|
191
|
+
private capabilityTimeoutId;
|
|
192
|
+
private resizeDebounceDelay;
|
|
193
|
+
private enableMouseMovement;
|
|
194
|
+
private _useMouse;
|
|
195
|
+
private autoFocus;
|
|
196
|
+
private _screenMode;
|
|
197
|
+
private _footerHeight;
|
|
198
|
+
private _externalOutputMode;
|
|
199
|
+
private _suspendedMouseEnabled;
|
|
200
|
+
private _previousControlState;
|
|
201
|
+
private capturedRenderable?;
|
|
202
|
+
private lastOverRenderableNum;
|
|
203
|
+
private lastOverRenderable?;
|
|
204
|
+
private currentSelection;
|
|
205
|
+
private selectionContainers;
|
|
206
|
+
private clipboard;
|
|
207
|
+
private _splitHeight;
|
|
208
|
+
private renderOffset;
|
|
209
|
+
private _terminalWidth;
|
|
210
|
+
private _terminalHeight;
|
|
211
|
+
private _terminalIsSetup;
|
|
212
|
+
private realStdoutWrite;
|
|
213
|
+
private captureCallback;
|
|
214
|
+
private _useConsole;
|
|
215
|
+
private sigwinchHandler;
|
|
216
|
+
private _capabilities;
|
|
217
|
+
private _latestPointer;
|
|
218
|
+
private _hasPointer;
|
|
219
|
+
private _lastPointerModifiers;
|
|
220
|
+
private _currentMousePointerStyle;
|
|
221
|
+
private _currentFocusedRenderable;
|
|
222
|
+
private lifecyclePasses;
|
|
223
|
+
private _openConsoleOnError;
|
|
224
|
+
private _paletteDetector;
|
|
225
|
+
private _cachedPalette;
|
|
226
|
+
private _paletteDetectionPromise;
|
|
227
|
+
private _onDestroy?;
|
|
228
|
+
private _themeMode;
|
|
229
|
+
private _terminalFocusState;
|
|
230
|
+
private sequenceHandlers;
|
|
231
|
+
private prependedInputHandlers;
|
|
232
|
+
private shouldRestoreModesOnNextFocus;
|
|
233
|
+
private idleResolvers;
|
|
234
|
+
private _debugInputs;
|
|
235
|
+
private _debugModeEnabled;
|
|
236
|
+
private handleError;
|
|
237
|
+
private dumpOutputCache;
|
|
238
|
+
private exitHandler;
|
|
239
|
+
private warningHandler;
|
|
240
|
+
get controlState(): RendererControlState;
|
|
241
|
+
constructor(lib: RenderLib, rendererPtr: Pointer, stdin: NodeJS.ReadStream, stdout: NodeJS.WriteStream, width: number, height: number, config?: CliRendererConfig);
|
|
242
|
+
private addExitListeners;
|
|
243
|
+
private removeExitListeners;
|
|
244
|
+
get isDestroyed(): boolean;
|
|
245
|
+
registerLifecyclePass(renderable: Renderable): void;
|
|
246
|
+
unregisterLifecyclePass(renderable: Renderable): void;
|
|
247
|
+
getLifecyclePasses(): Set<Renderable>;
|
|
248
|
+
get currentFocusedRenderable(): Renderable | null;
|
|
249
|
+
get currentFocusedEditor(): EditBufferRenderable | null;
|
|
250
|
+
private normalizeClockTime;
|
|
251
|
+
private getElapsedMs;
|
|
252
|
+
focusRenderable(renderable: Renderable): void;
|
|
253
|
+
private setCapturedRenderable;
|
|
254
|
+
addToHitGrid(x: number, y: number, width: number, height: number, id: number): void;
|
|
255
|
+
pushHitGridScissorRect(x: number, y: number, width: number, height: number): void;
|
|
256
|
+
popHitGridScissorRect(): void;
|
|
257
|
+
clearHitGridScissorRects(): void;
|
|
258
|
+
get widthMethod(): WidthMethod;
|
|
259
|
+
private writeOut;
|
|
260
|
+
requestRender(): void;
|
|
261
|
+
private activateFrame;
|
|
262
|
+
get consoleMode(): ConsoleMode;
|
|
263
|
+
set consoleMode(mode: ConsoleMode);
|
|
264
|
+
get isRunning(): boolean;
|
|
265
|
+
private isIdleNow;
|
|
266
|
+
private resolveIdleIfNeeded;
|
|
267
|
+
idle(): Promise<void>;
|
|
268
|
+
get resolution(): PixelResolution | null;
|
|
269
|
+
get console(): TerminalConsole;
|
|
270
|
+
get keyInput(): KeyHandler;
|
|
271
|
+
get _internalKeyInput(): InternalKeyHandler;
|
|
272
|
+
get terminalWidth(): number;
|
|
273
|
+
get terminalHeight(): number;
|
|
274
|
+
get useThread(): boolean;
|
|
275
|
+
get targetFps(): number;
|
|
276
|
+
set targetFps(targetFps: number);
|
|
277
|
+
get maxFps(): number;
|
|
278
|
+
set maxFps(maxFps: number);
|
|
279
|
+
get useMouse(): boolean;
|
|
280
|
+
set useMouse(useMouse: boolean);
|
|
281
|
+
get screenMode(): ScreenMode;
|
|
282
|
+
set screenMode(mode: ScreenMode);
|
|
283
|
+
get footerHeight(): number;
|
|
284
|
+
set footerHeight(footerHeight: number);
|
|
285
|
+
get externalOutputMode(): ExternalOutputMode;
|
|
286
|
+
set externalOutputMode(mode: ExternalOutputMode);
|
|
287
|
+
get liveRequestCount(): number;
|
|
288
|
+
get currentControlState(): string;
|
|
289
|
+
get capabilities(): any | null;
|
|
290
|
+
get themeMode(): ThemeMode | null;
|
|
291
|
+
getDebugInputs(): Array<{
|
|
292
|
+
timestamp: string;
|
|
293
|
+
sequence: string;
|
|
294
|
+
}>;
|
|
295
|
+
get useKittyKeyboard(): boolean;
|
|
296
|
+
set useKittyKeyboard(use: boolean);
|
|
297
|
+
private interceptStdoutWrite;
|
|
298
|
+
private applyScreenMode;
|
|
299
|
+
private flushStdoutCache;
|
|
300
|
+
private enableMouse;
|
|
301
|
+
private disableMouse;
|
|
302
|
+
enableKittyKeyboard(flags?: number): void;
|
|
303
|
+
disableKittyKeyboard(): void;
|
|
304
|
+
set useThread(useThread: boolean);
|
|
305
|
+
setupTerminal(): Promise<void>;
|
|
306
|
+
private stdinListener;
|
|
307
|
+
addInputHandler(handler: (sequence: string) => boolean): void;
|
|
308
|
+
prependInputHandler(handler: (sequence: string) => boolean): void;
|
|
309
|
+
removeInputHandler(handler: (sequence: string) => boolean): void;
|
|
310
|
+
private updateStdinParserProtocolContext;
|
|
311
|
+
subscribeOsc(handler: (sequence: string) => void): () => void;
|
|
312
|
+
private capabilityHandler;
|
|
313
|
+
private focusHandler;
|
|
314
|
+
private themeModeHandler;
|
|
315
|
+
private dispatchSequenceHandlers;
|
|
316
|
+
private drainStdinParser;
|
|
317
|
+
private handleStdinEvent;
|
|
318
|
+
private handleStdinParserFailure;
|
|
319
|
+
private setupInput;
|
|
320
|
+
private dispatchMouseEvent;
|
|
321
|
+
private processSingleMouseEvent;
|
|
322
|
+
/**
|
|
323
|
+
* Recheck hover state after hit grid changes.
|
|
324
|
+
* Called after render when native code detects the hit grid changed.
|
|
325
|
+
* Fires out/over events if the element under the cursor changed.
|
|
326
|
+
*/
|
|
327
|
+
private recheckHoverState;
|
|
328
|
+
setMousePointer(style: MousePointerStyle): void;
|
|
329
|
+
hitTest(x: number, y: number): number;
|
|
330
|
+
private takeMemorySnapshot;
|
|
331
|
+
private startMemorySnapshotTimer;
|
|
332
|
+
private stopMemorySnapshotTimer;
|
|
333
|
+
setMemorySnapshotInterval(interval: number): void;
|
|
334
|
+
private handleResize;
|
|
335
|
+
private queryPixelResolution;
|
|
336
|
+
private processResize;
|
|
337
|
+
setBackgroundColor(color: ColorInput): void;
|
|
338
|
+
toggleDebugOverlay(): void;
|
|
339
|
+
configureDebugOverlay(options: {
|
|
340
|
+
enabled?: boolean;
|
|
341
|
+
corner?: DebugOverlayCorner;
|
|
342
|
+
}): void;
|
|
343
|
+
setTerminalTitle(title: string): void;
|
|
344
|
+
copyToClipboardOSC52(text: string, target?: ClipboardTarget): boolean;
|
|
345
|
+
clearClipboardOSC52(target?: ClipboardTarget): boolean;
|
|
346
|
+
isOsc52Supported(): boolean;
|
|
347
|
+
dumpHitGrid(): void;
|
|
348
|
+
dumpBuffers(timestamp?: number): void;
|
|
349
|
+
dumpStdoutBuffer(timestamp?: number): void;
|
|
350
|
+
static setCursorPosition(renderer: CliRenderer, x: number, y: number, visible?: boolean): void;
|
|
351
|
+
static setCursorStyle(renderer: CliRenderer, options: CursorStyleOptions): void;
|
|
352
|
+
static setCursorColor(renderer: CliRenderer, color: RGBA): void;
|
|
353
|
+
setCursorPosition(x: number, y: number, visible?: boolean): void;
|
|
354
|
+
setCursorStyle(options: CursorStyleOptions): void;
|
|
355
|
+
setCursorColor(color: RGBA): void;
|
|
356
|
+
getCursorState(): import("./zig.js").CursorState;
|
|
357
|
+
addPostProcessFn(processFn: (buffer: OptimizedBuffer, deltaTime: number) => void): void;
|
|
358
|
+
removePostProcessFn(processFn: (buffer: OptimizedBuffer, deltaTime: number) => void): void;
|
|
359
|
+
clearPostProcessFns(): void;
|
|
360
|
+
setFrameCallback(callback: (deltaTime: number) => Promise<void>): void;
|
|
361
|
+
removeFrameCallback(callback: (deltaTime: number) => Promise<void>): void;
|
|
362
|
+
clearFrameCallbacks(): void;
|
|
363
|
+
requestLive(): void;
|
|
364
|
+
dropLive(): void;
|
|
365
|
+
start(): void;
|
|
366
|
+
auto(): void;
|
|
367
|
+
private internalStart;
|
|
368
|
+
pause(): void;
|
|
369
|
+
suspend(): void;
|
|
370
|
+
resume(): void;
|
|
371
|
+
private internalPause;
|
|
372
|
+
stop(): void;
|
|
373
|
+
private internalStop;
|
|
374
|
+
destroy(): void;
|
|
375
|
+
private cleanupBeforeDestroy;
|
|
376
|
+
private prepareDestroyDuringRender;
|
|
377
|
+
private finalizeDestroy;
|
|
378
|
+
private startRenderLoop;
|
|
379
|
+
private loop;
|
|
380
|
+
intermediateRender(): void;
|
|
381
|
+
private renderNative;
|
|
382
|
+
private collectStatSample;
|
|
383
|
+
getStats(): {
|
|
384
|
+
fps: number;
|
|
385
|
+
frameCount: number;
|
|
386
|
+
frameTimes: number[];
|
|
387
|
+
averageFrameTime: number;
|
|
388
|
+
minFrameTime: number;
|
|
389
|
+
maxFrameTime: number;
|
|
390
|
+
};
|
|
391
|
+
resetStats(): void;
|
|
392
|
+
setGatherStats(enabled: boolean): void;
|
|
393
|
+
getSelection(): Selection | null;
|
|
394
|
+
get hasSelection(): boolean;
|
|
395
|
+
getSelectionContainer(): Renderable | null;
|
|
396
|
+
clearSelection(): void;
|
|
397
|
+
/**
|
|
398
|
+
* Start a new selection at the given coordinates.
|
|
399
|
+
* Used by both mouse and keyboard selection.
|
|
400
|
+
*/
|
|
401
|
+
startSelection(renderable: Renderable, x: number, y: number): void;
|
|
402
|
+
updateSelection(currentRenderable: Renderable | undefined, x: number, y: number, options?: {
|
|
403
|
+
finishDragging?: boolean;
|
|
404
|
+
}): void;
|
|
405
|
+
requestSelectionUpdate(): void;
|
|
406
|
+
private isWithinContainer;
|
|
407
|
+
private finishSelection;
|
|
408
|
+
private notifySelectablesOfSelectionChange;
|
|
409
|
+
private walkSelectableRenderables;
|
|
410
|
+
get paletteDetectionStatus(): "idle" | "detecting" | "cached";
|
|
411
|
+
clearPaletteCache(): void;
|
|
412
|
+
/**
|
|
413
|
+
* Detects the terminal's color palette
|
|
414
|
+
*
|
|
415
|
+
* @returns Promise resolving to TerminalColors object containing palette and special colors
|
|
416
|
+
* @throws Error if renderer is suspended
|
|
417
|
+
*/
|
|
418
|
+
getPalette(options?: GetPaletteOptions): Promise<TerminalColors>;
|
|
419
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRuntimePlugin, runtimeModuleIdForSpecifier, type CreateRuntimePluginOptions, type RuntimeModuleEntry, type RuntimeModuleExports, type RuntimeModuleLoader } from "./runtime-plugin.js";
|
|
2
|
+
export declare function ensureRuntimePluginSupport(options?: CreateRuntimePluginOptions): boolean;
|
|
3
|
+
export { createRuntimePlugin, runtimeModuleIdForSpecifier, type CreateRuntimePluginOptions, type RuntimeModuleEntry, type RuntimeModuleExports, type RuntimeModuleLoader, };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
createRuntimePlugin,
|
|
4
|
+
runtimeModuleIdForSpecifier
|
|
5
|
+
} from "./index-j4m38kjn.js";
|
|
6
|
+
import"./index-vv2jcd4r.js";
|
|
7
|
+
import"./index-tse8gzh0.js";
|
|
8
|
+
|
|
9
|
+
// src/runtime-plugin-support.ts
|
|
10
|
+
var {plugin: registerBunPlugin } = globalThis.Bun;
|
|
11
|
+
var runtimePluginSupportInstalledKey = "__opentuiCoreRuntimePluginSupportInstalled__";
|
|
12
|
+
function ensureRuntimePluginSupport(options = {}) {
|
|
13
|
+
const state = globalThis;
|
|
14
|
+
if (state[runtimePluginSupportInstalledKey]) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
registerBunPlugin(createRuntimePlugin(options));
|
|
18
|
+
state[runtimePluginSupportInstalledKey] = true;
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
ensureRuntimePluginSupport();
|
|
22
|
+
export {
|
|
23
|
+
runtimeModuleIdForSpecifier,
|
|
24
|
+
ensureRuntimePluginSupport,
|
|
25
|
+
createRuntimePlugin
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
//# debugId=7487C2BFD13C698664756E2164756E21
|
|
29
|
+
//# sourceMappingURL=runtime-plugin-support.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/runtime-plugin-support.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import { plugin as registerBunPlugin } from \"bun\"\nimport {\n createRuntimePlugin,\n runtimeModuleIdForSpecifier,\n type CreateRuntimePluginOptions,\n type RuntimeModuleEntry,\n type RuntimeModuleExports,\n type RuntimeModuleLoader,\n} from \"./runtime-plugin.js\"\n\nconst runtimePluginSupportInstalledKey = \"__opentuiCoreRuntimePluginSupportInstalled__\"\n\ntype RuntimePluginSupportState = typeof globalThis & {\n [runtimePluginSupportInstalledKey]?: boolean\n}\n\nexport function ensureRuntimePluginSupport(options: CreateRuntimePluginOptions = {}): boolean {\n const state = globalThis as RuntimePluginSupportState\n\n if (state[runtimePluginSupportInstalledKey]) {\n return false\n }\n\n registerBunPlugin(createRuntimePlugin(options))\n\n state[runtimePluginSupportInstalledKey] = true\n return true\n}\n\nensureRuntimePluginSupport()\n\nexport {\n createRuntimePlugin,\n runtimeModuleIdForSpecifier,\n type CreateRuntimePluginOptions,\n type RuntimeModuleEntry,\n type RuntimeModuleExports,\n type RuntimeModuleLoader,\n}\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;;;AAAA;AAUA,IAAM,mCAAmC;AAMlC,SAAS,0BAA0B,CAAC,UAAsC,CAAC,GAAY;AAAA,EAC5F,MAAM,QAAQ;AAAA,EAEd,IAAI,MAAM,mCAAmC;AAAA,IAC3C,OAAO;AAAA,EACT;AAAA,EAEA,kBAAkB,oBAAoB,OAAO,CAAC;AAAA,EAE9C,MAAM,oCAAoC;AAAA,EAC1C,OAAO;AAAA;AAGT,2BAA2B;",
|
|
8
|
+
"debugId": "7487C2BFD13C698664756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type BunPlugin } from "bun";
|
|
2
|
+
export type RuntimeModuleExports = Record<string, unknown>;
|
|
3
|
+
export type RuntimeModuleLoader = () => RuntimeModuleExports | Promise<RuntimeModuleExports>;
|
|
4
|
+
export type RuntimeModuleEntry = RuntimeModuleExports | RuntimeModuleLoader;
|
|
5
|
+
export interface RuntimePluginRewriteOptions {
|
|
6
|
+
nodeModulesRuntimeSpecifiers?: boolean;
|
|
7
|
+
nodeModulesBareSpecifiers?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface CreateRuntimePluginOptions {
|
|
10
|
+
core?: RuntimeModuleEntry;
|
|
11
|
+
additional?: Record<string, RuntimeModuleEntry>;
|
|
12
|
+
rewrite?: RuntimePluginRewriteOptions;
|
|
13
|
+
}
|
|
14
|
+
export declare const isCoreRuntimeModuleSpecifier: (specifier: string) => boolean;
|
|
15
|
+
export declare const runtimeModuleIdForSpecifier: (specifier: string) => string;
|
|
16
|
+
export declare function createRuntimePlugin(input?: CreateRuntimePluginOptions): BunPlugin;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
createRuntimePlugin,
|
|
4
|
+
isCoreRuntimeModuleSpecifier,
|
|
5
|
+
runtimeModuleIdForSpecifier
|
|
6
|
+
} from "./index-j4m38kjn.js";
|
|
7
|
+
import"./index-vv2jcd4r.js";
|
|
8
|
+
import"./index-tse8gzh0.js";
|
|
9
|
+
export {
|
|
10
|
+
runtimeModuleIdForSpecifier,
|
|
11
|
+
isCoreRuntimeModuleSpecifier,
|
|
12
|
+
createRuntimePlugin
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# debugId=54AC4E2ADFC3366A64756E2164756E21
|
|
16
|
+
//# sourceMappingURL=runtime-plugin.js.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { RGBA, type ColorInput } from "./lib/RGBA.js";
|
|
2
|
+
import { type RenderLib } from "./zig.js";
|
|
3
|
+
import { type Pointer } from "bun:ffi";
|
|
4
|
+
export interface StyleDefinition {
|
|
5
|
+
fg?: RGBA;
|
|
6
|
+
bg?: RGBA;
|
|
7
|
+
bold?: boolean;
|
|
8
|
+
italic?: boolean;
|
|
9
|
+
underline?: boolean;
|
|
10
|
+
dim?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface MergedStyle {
|
|
13
|
+
fg?: RGBA;
|
|
14
|
+
bg?: RGBA;
|
|
15
|
+
attributes: number;
|
|
16
|
+
}
|
|
17
|
+
export interface ThemeTokenStyle {
|
|
18
|
+
scope: string[];
|
|
19
|
+
style: {
|
|
20
|
+
foreground?: ColorInput;
|
|
21
|
+
background?: ColorInput;
|
|
22
|
+
bold?: boolean;
|
|
23
|
+
italic?: boolean;
|
|
24
|
+
underline?: boolean;
|
|
25
|
+
dim?: boolean;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export declare function convertThemeToStyles(theme: ThemeTokenStyle[]): Record<string, StyleDefinition>;
|
|
29
|
+
export declare class SyntaxStyle {
|
|
30
|
+
private lib;
|
|
31
|
+
private stylePtr;
|
|
32
|
+
private _destroyed;
|
|
33
|
+
private nameCache;
|
|
34
|
+
private styleDefs;
|
|
35
|
+
private mergedCache;
|
|
36
|
+
constructor(lib: RenderLib, ptr: Pointer);
|
|
37
|
+
static create(): SyntaxStyle;
|
|
38
|
+
static fromTheme(theme: ThemeTokenStyle[]): SyntaxStyle;
|
|
39
|
+
static fromStyles(styles: Record<string, StyleDefinition>): SyntaxStyle;
|
|
40
|
+
private guard;
|
|
41
|
+
registerStyle(name: string, style: StyleDefinition): number;
|
|
42
|
+
resolveStyleId(name: string): number | null;
|
|
43
|
+
getStyleId(name: string): number | null;
|
|
44
|
+
get ptr(): Pointer;
|
|
45
|
+
getStyleCount(): number;
|
|
46
|
+
clearNameCache(): void;
|
|
47
|
+
getStyle(name: string): StyleDefinition | undefined;
|
|
48
|
+
mergeStyles(...styleNames: string[]): MergedStyle;
|
|
49
|
+
clearCache(): void;
|
|
50
|
+
getCacheSize(): number;
|
|
51
|
+
getAllStyles(): Map<string, StyleDefinition>;
|
|
52
|
+
getRegisteredNames(): string[];
|
|
53
|
+
destroy(): void;
|
|
54
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Clock, TimerHandle } from "../lib/clock.js";
|
|
2
|
+
export declare class ManualClock implements Clock {
|
|
3
|
+
private time;
|
|
4
|
+
private nextId;
|
|
5
|
+
private nextOrder;
|
|
6
|
+
private readonly timers;
|
|
7
|
+
now(): number;
|
|
8
|
+
setTime(time: number): void;
|
|
9
|
+
setTimeout(fn: () => void, delayMs: number): TimerHandle;
|
|
10
|
+
clearTimeout(handle: TimerHandle): void;
|
|
11
|
+
setInterval(fn: () => void, delayMs: number): TimerHandle;
|
|
12
|
+
clearInterval(handle: TimerHandle): void;
|
|
13
|
+
advance(delayMs: number): void;
|
|
14
|
+
runAll(): void;
|
|
15
|
+
private schedule;
|
|
16
|
+
private peekNextTimer;
|
|
17
|
+
}
|