@fairyhunter13/opentui-core 0.1.88 → 0.1.90
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/dev/keypress-debug-renderer.ts +148 -0
- package/dev/keypress-debug.ts +43 -0
- package/dev/print-env-vars.ts +32 -0
- package/dev/test-tmux-graphics-334.sh +68 -0
- package/dev/thai-debug-test.ts +68 -0
- package/docs/development.md +141 -0
- package/docs/env-vars.md +140 -0
- package/docs/getting-started.md +353 -0
- package/docs/renderables-vs-constructs.md +159 -0
- package/docs/tree-sitter.md +311 -0
- package/package.json +61 -52
- package/scripts/build.ts +400 -0
- package/scripts/publish.ts +60 -0
- package/src/3d/SpriteResourceManager.ts +286 -0
- package/src/3d/SpriteUtils.ts +71 -0
- package/src/3d/TextureUtils.ts +196 -0
- package/src/3d/ThreeRenderable.ts +197 -0
- package/src/3d/WGPURenderer.ts +294 -0
- package/src/3d/animation/ExplodingSpriteEffect.ts +513 -0
- package/src/3d/animation/PhysicsExplodingSpriteEffect.ts +429 -0
- package/src/3d/animation/SpriteAnimator.ts +633 -0
- package/src/3d/animation/SpriteParticleGenerator.ts +435 -0
- package/src/3d/canvas.ts +464 -0
- package/src/3d/index.ts +12 -0
- package/src/3d/physics/PlanckPhysicsAdapter.ts +72 -0
- package/src/3d/physics/RapierPhysicsAdapter.ts +66 -0
- package/src/3d/physics/physics-interface.ts +31 -0
- package/src/3d/shaders/supersampling.wgsl +201 -0
- package/src/3d.ts +3 -0
- package/src/NativeSpanFeed.ts +300 -0
- package/src/Renderable.ts +1698 -0
- package/src/__snapshots__/buffer.test.ts.snap +28 -0
- package/src/animation/Timeline.test.ts +2709 -0
- package/src/animation/Timeline.ts +598 -0
- package/src/ansi.ts +18 -0
- package/src/benchmark/latest-all-bench-run.json +707 -0
- package/src/benchmark/latest-async-bench-run.json +336 -0
- package/src/benchmark/latest-default-bench-run.json +657 -0
- package/src/benchmark/latest-large-bench-run.json +707 -0
- package/src/benchmark/latest-quick-bench-run.json +207 -0
- package/src/benchmark/markdown-benchmark.ts +1804 -0
- package/src/benchmark/native-span-feed-async-benchmark.ts +355 -0
- package/src/benchmark/native-span-feed-benchmark.md +56 -0
- package/src/benchmark/native-span-feed-benchmark.ts +596 -0
- package/src/benchmark/native-span-feed-compare.ts +280 -0
- package/src/benchmark/renderer-benchmark.ts +754 -0
- package/src/benchmark/text-table-benchmark.ts +947 -0
- package/src/buffer.test.ts +291 -0
- package/src/buffer.ts +519 -0
- package/src/console.test.ts +612 -0
- package/src/console.ts +1255 -0
- package/src/edit-buffer.test.ts +1769 -0
- package/src/edit-buffer.ts +411 -0
- package/src/editor-view.test.ts +1032 -0
- package/src/editor-view.ts +284 -0
- package/src/examples/ascii-font-selection-demo.ts +245 -0
- 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 +1018 -0
- 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 +115 -0
- package/src/examples/code-demo.ts +584 -0
- package/src/examples/console-demo.ts +358 -0
- package/src/examples/core-plugin-slots-demo.ts +759 -0
- package/src/examples/diff-demo.ts +699 -0
- package/src/examples/draggable-three-demo.ts +259 -0
- package/src/examples/editor-demo.ts +322 -0
- package/src/examples/extmarks-demo.ts +204 -0
- package/src/examples/focus-restore-demo.ts +310 -0
- package/src/examples/fonts.ts +245 -0
- package/src/examples/fractal-shader-demo.ts +268 -0
- package/src/examples/framebuffer-demo.ts +674 -0
- package/src/examples/full-unicode-demo.ts +181 -0
- package/src/examples/golden-star-demo.ts +933 -0
- package/src/examples/grayscale-buffer-demo.ts +249 -0
- package/src/examples/hast-syntax-highlighting-demo.ts +129 -0
- package/src/examples/index.ts +925 -0
- package/src/examples/input-demo.ts +377 -0
- package/src/examples/input-select-layout-demo.ts +425 -0
- package/src/examples/install.sh +143 -0
- package/src/examples/keypress-debug-demo.ts +452 -0
- package/src/examples/lib/HexList.ts +122 -0
- package/src/examples/lib/PaletteGrid.ts +125 -0
- package/src/examples/lib/standalone-keys.ts +25 -0
- package/src/examples/lib/tab-controller.ts +243 -0
- package/src/examples/lights-phong-demo.ts +290 -0
- package/src/examples/link-demo.ts +220 -0
- package/src/examples/live-state-demo.ts +480 -0
- package/src/examples/markdown-demo.ts +620 -0
- package/src/examples/mouse-interaction-demo.ts +428 -0
- package/src/examples/nested-zindex-demo.ts +357 -0
- package/src/examples/opacity-example.ts +235 -0
- package/src/examples/opentui-demo.ts +1057 -0
- package/src/examples/physx-planck-2d-demo.ts +507 -0
- package/src/examples/physx-rapier-2d-demo.ts +526 -0
- package/src/examples/relative-positioning-demo.ts +323 -0
- package/src/examples/scroll-example.ts +214 -0
- package/src/examples/scrollbox-mouse-test.ts +112 -0
- package/src/examples/scrollbox-overlay-hit-test.ts +206 -0
- package/src/examples/select-demo.ts +237 -0
- package/src/examples/shader-cube-demo.ts +772 -0
- package/src/examples/simple-layout-example.ts +591 -0
- package/src/examples/slider-demo.ts +617 -0
- package/src/examples/split-mode-demo.ts +445 -0
- package/src/examples/sprite-animation-demo.ts +443 -0
- package/src/examples/sprite-particle-generator-demo.ts +486 -0
- package/src/examples/static-sprite-demo.ts +193 -0
- package/src/examples/sticky-scroll-example.ts +308 -0
- package/src/examples/styled-text-demo.ts +282 -0
- package/src/examples/tab-select-demo.ts +219 -0
- package/src/examples/terminal-title.ts +29 -0
- package/src/examples/terminal.ts +305 -0
- package/src/examples/text-node-demo.ts +416 -0
- package/src/examples/text-selection-demo.ts +377 -0
- package/src/examples/text-table-demo.ts +503 -0
- package/src/examples/text-truncation-demo.ts +481 -0
- package/src/examples/text-wrap.ts +757 -0
- package/src/examples/texture-loading-demo.ts +259 -0
- package/src/examples/timeline-example.ts +670 -0
- package/src/examples/transparency-demo.ts +241 -0
- package/src/examples/vnode-composition-demo.ts +404 -0
- package/src/index.ts +22 -0
- package/src/lib/KeyHandler.integration.test.ts +292 -0
- package/src/lib/KeyHandler.stopPropagation.test.ts +289 -0
- package/src/lib/KeyHandler.test.ts +662 -0
- package/src/lib/KeyHandler.ts +222 -0
- package/src/lib/RGBA.test.ts +984 -0
- package/src/lib/RGBA.ts +204 -0
- package/src/lib/ascii.font.ts +330 -0
- package/src/lib/border.test.ts +83 -0
- package/src/lib/border.ts +168 -0
- package/src/lib/bunfs.test.ts +27 -0
- package/src/lib/bunfs.ts +18 -0
- package/src/lib/clipboard.test.ts +41 -0
- package/src/lib/clipboard.ts +47 -0
- package/src/lib/clock.ts +31 -0
- package/src/lib/data-paths.test.ts +133 -0
- package/src/lib/data-paths.ts +109 -0
- package/src/lib/debounce.ts +106 -0
- package/src/lib/detect-links.test.ts +98 -0
- package/src/lib/detect-links.ts +56 -0
- package/src/lib/env.test.ts +228 -0
- package/src/lib/env.ts +209 -0
- package/src/lib/extmarks-history.ts +51 -0
- package/src/lib/extmarks-multiwidth.test.ts +322 -0
- package/src/lib/extmarks.test.ts +3457 -0
- package/src/lib/extmarks.ts +843 -0
- package/src/lib/fonts/block.json +405 -0
- package/src/lib/fonts/grid.json +265 -0
- package/src/lib/fonts/huge.json +741 -0
- package/src/lib/fonts/pallet.json +314 -0
- package/src/lib/fonts/shade.json +591 -0
- package/src/lib/fonts/slick.json +321 -0
- package/src/lib/fonts/tiny.json +69 -0
- package/src/lib/hast-styled-text.ts +59 -0
- package/src/lib/index.ts +21 -0
- package/src/lib/keymapping.test.ts +280 -0
- package/src/lib/keymapping.ts +87 -0
- package/src/lib/objects-in-viewport.test.ts +787 -0
- package/src/lib/objects-in-viewport.ts +153 -0
- package/src/lib/output.capture.ts +58 -0
- package/src/lib/parse.keypress-kitty.protocol.test.ts +340 -0
- package/src/lib/parse.keypress-kitty.test.ts +663 -0
- package/src/lib/parse.keypress-kitty.ts +439 -0
- package/src/lib/parse.keypress.test.ts +1849 -0
- package/src/lib/parse.keypress.ts +397 -0
- package/src/lib/parse.mouse.test.ts +552 -0
- package/src/lib/parse.mouse.ts +232 -0
- package/src/lib/paste.ts +16 -0
- package/src/lib/queue.ts +65 -0
- package/src/lib/renderable.validations.test.ts +87 -0
- package/src/lib/renderable.validations.ts +83 -0
- package/src/lib/scroll-acceleration.ts +98 -0
- package/src/lib/selection.ts +240 -0
- package/src/lib/singleton.ts +28 -0
- package/src/lib/stdin-parser.test.ts +1676 -0
- package/src/lib/stdin-parser.ts +1248 -0
- package/src/lib/styled-text.ts +178 -0
- package/src/lib/terminal-capability-detection.test.ts +202 -0
- package/src/lib/terminal-capability-detection.ts +79 -0
- package/src/lib/terminal-palette.test.ts +878 -0
- package/src/lib/terminal-palette.ts +383 -0
- package/src/lib/tree-sitter/assets/README.md +118 -0
- package/src/lib/tree-sitter/assets/update.ts +331 -0
- package/src/lib/tree-sitter/assets.d.ts +9 -0
- package/src/lib/tree-sitter/cache.test.ts +270 -0
- package/src/lib/tree-sitter/client.test.ts +1061 -0
- package/src/lib/tree-sitter/client.ts +615 -0
- package/src/lib/tree-sitter/default-parsers.ts +80 -0
- package/src/lib/tree-sitter/download-utils.ts +148 -0
- package/src/lib/tree-sitter/index.ts +28 -0
- package/src/lib/tree-sitter/parser.worker.ts +1001 -0
- package/src/lib/tree-sitter/parsers-config.ts +75 -0
- package/src/lib/tree-sitter/resolve-ft.ts +62 -0
- package/src/lib/tree-sitter/types.ts +81 -0
- package/src/lib/tree-sitter-styled-text.test.ts +1253 -0
- package/src/lib/tree-sitter-styled-text.ts +306 -0
- package/src/lib/validate-dir-name.ts +55 -0
- package/src/lib/yoga.options.test.ts +628 -0
- package/src/lib/yoga.options.ts +346 -0
- package/src/plugins/core-slot.ts +579 -0
- package/src/plugins/registry.ts +377 -0
- package/src/plugins/types.ts +46 -0
- package/src/post/filters.ts +888 -0
- package/src/renderables/ASCIIFont.ts +219 -0
- package/src/renderables/Box.test.ts +160 -0
- package/src/renderables/Box.ts +295 -0
- package/src/renderables/Code.test.ts +2062 -0
- package/src/renderables/Code.ts +357 -0
- package/src/renderables/Diff.regression.test.ts +226 -0
- package/src/renderables/Diff.test.ts +3027 -0
- package/src/renderables/Diff.ts +1209 -0
- package/src/renderables/EditBufferRenderable.ts +764 -0
- package/src/renderables/FrameBuffer.ts +47 -0
- package/src/renderables/Input.test.ts +1228 -0
- package/src/renderables/Input.ts +245 -0
- package/src/renderables/LineNumberRenderable.ts +675 -0
- package/src/renderables/Markdown.ts +1106 -0
- package/src/renderables/ScrollBar.ts +422 -0
- package/src/renderables/ScrollBox.ts +883 -0
- package/src/renderables/Select.test.ts +1010 -0
- package/src/renderables/Select.ts +523 -0
- package/src/renderables/Slider.test.ts +456 -0
- package/src/renderables/Slider.ts +347 -0
- package/src/renderables/TabSelect.test.ts +197 -0
- package/src/renderables/TabSelect.ts +455 -0
- package/src/renderables/Text.selection-buffer.test.ts +123 -0
- package/src/renderables/Text.test.ts +2660 -0
- package/src/renderables/Text.ts +147 -0
- package/src/renderables/TextBufferRenderable.ts +518 -0
- package/src/renderables/TextNode.test.ts +1058 -0
- package/src/renderables/TextNode.ts +325 -0
- package/src/renderables/TextTable.test.ts +1421 -0
- package/src/renderables/TextTable.ts +1344 -0
- package/src/renderables/Textarea.ts +732 -0
- package/src/renderables/TimeToFirstDraw.ts +89 -0
- package/src/renderables/__snapshots__/Code.test.ts.snap +13 -0
- package/src/renderables/__snapshots__/Diff.test.ts.snap +785 -0
- package/src/renderables/__snapshots__/Text.test.ts.snap +421 -0
- package/src/renderables/__snapshots__/TextTable.test.ts.snap +215 -0
- package/src/renderables/__tests__/LineNumberRenderable.scrollbox-simple.test.ts +144 -0
- package/src/renderables/__tests__/LineNumberRenderable.scrollbox.test.ts +816 -0
- package/src/renderables/__tests__/LineNumberRenderable.test.ts +1787 -0
- package/src/renderables/__tests__/LineNumberRenderable.wrapping.test.ts +85 -0
- package/src/renderables/__tests__/Markdown.test.ts +2287 -0
- package/src/renderables/__tests__/MultiRenderable.selection.test.ts +87 -0
- package/src/renderables/__tests__/Textarea.buffer.test.ts +682 -0
- package/src/renderables/__tests__/Textarea.destroyed-events.test.ts +675 -0
- package/src/renderables/__tests__/Textarea.editing.test.ts +2041 -0
- package/src/renderables/__tests__/Textarea.error-handling.test.ts +35 -0
- package/src/renderables/__tests__/Textarea.events.test.ts +738 -0
- package/src/renderables/__tests__/Textarea.highlights.test.ts +590 -0
- package/src/renderables/__tests__/Textarea.keybinding.test.ts +3149 -0
- package/src/renderables/__tests__/Textarea.paste.test.ts +357 -0
- package/src/renderables/__tests__/Textarea.rendering.test.ts +1864 -0
- package/src/renderables/__tests__/Textarea.scroll.test.ts +733 -0
- package/src/renderables/__tests__/Textarea.selection.test.ts +1590 -0
- package/src/renderables/__tests__/Textarea.stress.test.ts +670 -0
- package/src/renderables/__tests__/Textarea.undo-redo.test.ts +383 -0
- package/src/renderables/__tests__/Textarea.visual-lines.test.ts +310 -0
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.code.test.ts.snap +221 -0
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.scrollbox-simple.test.ts.snap +89 -0
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.scrollbox.test.ts.snap +457 -0
- package/src/renderables/__tests__/__snapshots__/LineNumberRenderable.test.ts.snap +158 -0
- package/src/renderables/__tests__/__snapshots__/Textarea.rendering.test.ts.snap +387 -0
- package/src/renderables/__tests__/markdown-parser.test.ts +217 -0
- package/src/renderables/__tests__/renderable-test-utils.ts +60 -0
- package/src/renderables/composition/README.md +8 -0
- package/src/renderables/composition/VRenderable.ts +32 -0
- package/src/renderables/composition/constructs.ts +127 -0
- package/src/renderables/composition/vnode.ts +289 -0
- package/src/renderables/index.ts +22 -0
- package/src/renderables/markdown-parser.ts +66 -0
- package/src/renderer.ts +2363 -0
- package/src/runtime-plugin-support.ts +39 -0
- package/src/runtime-plugin.ts +144 -0
- package/src/syntax-style.test.ts +841 -0
- package/src/syntax-style.ts +264 -0
- package/src/testing/README.md +210 -0
- package/src/testing/capture-spans.test.ts +194 -0
- package/src/testing/integration.test.ts +276 -0
- package/src/testing/manual-clock.ts +106 -0
- package/src/testing/mock-keys.test.ts +1356 -0
- package/src/testing/mock-keys.ts +449 -0
- package/src/testing/mock-mouse.test.ts +218 -0
- package/src/testing/mock-mouse.ts +247 -0
- package/src/testing/mock-tree-sitter-client.ts +73 -0
- package/src/testing/spy.ts +13 -0
- package/src/testing/test-recorder.test.ts +415 -0
- package/src/testing/test-recorder.ts +145 -0
- package/src/testing/test-renderer.ts +116 -0
- package/src/testing.ts +7 -0
- package/src/tests/__snapshots__/absolute-positioning.snapshot.test.ts.snap +481 -0
- package/src/tests/__snapshots__/renderable.snapshot.test.ts.snap +19 -0
- package/src/tests/__snapshots__/scrollbox.test.ts.snap +29 -0
- package/src/tests/absolute-positioning.snapshot.test.ts +638 -0
- package/src/tests/allocator-stats.test.ts +38 -0
- package/src/tests/destroy-during-render.test.ts +200 -0
- package/src/tests/hover-cursor.test.ts +98 -0
- package/src/tests/native-span-feed-async.test.ts +173 -0
- package/src/tests/native-span-feed-close.test.ts +120 -0
- package/src/tests/native-span-feed-coverage.test.ts +227 -0
- package/src/tests/native-span-feed-edge-cases.test.ts +352 -0
- package/src/tests/native-span-feed-use-after-free.test.ts +45 -0
- package/src/tests/opacity.test.ts +123 -0
- package/src/tests/renderable.snapshot.test.ts +524 -0
- package/src/tests/renderable.test.ts +1281 -0
- package/src/tests/renderer.console-startup.test.ts +65 -0
- package/src/tests/renderer.control.test.ts +364 -0
- package/src/tests/renderer.core-slot-binding.test.ts +952 -0
- package/src/tests/renderer.cursor.test.ts +26 -0
- package/src/tests/renderer.destroy-during-render.test.ts +110 -0
- package/src/tests/renderer.focus-restore.test.ts +228 -0
- package/src/tests/renderer.focus.test.ts +251 -0
- package/src/tests/renderer.idle.test.ts +219 -0
- package/src/tests/renderer.input.test.ts +2145 -0
- package/src/tests/renderer.kitty-flags.test.ts +195 -0
- package/src/tests/renderer.mouse.test.ts +1269 -0
- package/src/tests/renderer.palette.test.ts +629 -0
- package/src/tests/renderer.selection.test.ts +49 -0
- package/src/tests/renderer.slot-registry.test.ts +649 -0
- package/src/tests/renderer.useMouse.test.ts +50 -0
- package/src/tests/runtime-plugin-support.fixture.ts +11 -0
- package/src/tests/runtime-plugin-support.test.ts +28 -0
- package/src/tests/runtime-plugin.fixture.ts +40 -0
- package/src/tests/runtime-plugin.test.ts +190 -0
- package/src/tests/scrollbox-culling-bug.test.ts +114 -0
- package/src/tests/scrollbox-hitgrid-resize.test.ts +136 -0
- package/src/tests/scrollbox-hitgrid.test.ts +909 -0
- package/src/tests/scrollbox.test.ts +1530 -0
- package/src/tests/wrap-resize-perf.test.ts +229 -0
- package/src/tests/yoga-setters.test.ts +921 -0
- package/src/text-buffer-view.test.ts +705 -0
- package/src/text-buffer-view.ts +189 -0
- package/src/text-buffer.test.ts +347 -0
- package/src/text-buffer.ts +250 -0
- package/src/types.ts +152 -0
- package/src/utils.ts +88 -0
- package/src/zig/ansi.zig +268 -0
- package/src/zig/bench/README.md +50 -0
- package/src/zig/bench/buffer-draw-text-buffer_bench.zig +887 -0
- package/src/zig/bench/edit-buffer_bench.zig +476 -0
- package/src/zig/bench/native-span-feed_bench.zig +100 -0
- package/src/zig/bench/rope-markers_bench.zig +713 -0
- package/src/zig/bench/rope_bench.zig +514 -0
- package/src/zig/bench/styled-text_bench.zig +470 -0
- package/src/zig/bench/text-buffer-coords_bench.zig +362 -0
- package/src/zig/bench/text-buffer-view_bench.zig +459 -0
- package/src/zig/bench/text-chunk-graphemes_bench.zig +273 -0
- package/src/zig/bench/utf8_bench.zig +799 -0
- package/src/zig/bench-utils.zig +431 -0
- package/src/zig/bench.zig +217 -0
- package/src/zig/buffer.zig +2223 -0
- package/src/zig/build.zig +289 -0
- package/src/zig/build.zig.zon +16 -0
- package/src/zig/edit-buffer.zig +825 -0
- package/src/zig/editor-view.zig +802 -0
- package/src/zig/event-bus.zig +13 -0
- package/src/zig/event-emitter.zig +65 -0
- package/src/zig/file-logger.zig +92 -0
- package/src/zig/grapheme.zig +599 -0
- package/src/zig/lib.zig +1834 -0
- package/src/zig/link.zig +333 -0
- package/src/zig/logger.zig +43 -0
- package/src/zig/mem-registry.zig +125 -0
- package/src/zig/native-span-feed-bench-lib.zig +7 -0
- package/src/zig/native-span-feed.zig +708 -0
- package/src/zig/renderer.zig +1386 -0
- package/src/zig/rope.zig +1220 -0
- package/src/zig/syntax-style.zig +161 -0
- package/src/zig/terminal.zig +975 -0
- package/src/zig/test.zig +70 -0
- package/src/zig/tests/README.md +18 -0
- package/src/zig/tests/buffer_test.zig +2526 -0
- package/src/zig/tests/edit-buffer-history_test.zig +271 -0
- package/src/zig/tests/edit-buffer_test.zig +1689 -0
- package/src/zig/tests/editor-view_test.zig +3299 -0
- package/src/zig/tests/event-emitter_test.zig +249 -0
- package/src/zig/tests/grapheme_test.zig +1304 -0
- package/src/zig/tests/link_test.zig +190 -0
- package/src/zig/tests/mem-registry_test.zig +473 -0
- package/src/zig/tests/memory_leak_regression_test.zig +159 -0
- package/src/zig/tests/native-span-feed_test.zig +1264 -0
- package/src/zig/tests/renderer_test.zig +1010 -0
- package/src/zig/tests/rope-nested_test.zig +712 -0
- package/src/zig/tests/rope_fuzz_test.zig +238 -0
- package/src/zig/tests/rope_test.zig +2362 -0
- package/src/zig/tests/segment-merge.test.zig +148 -0
- package/src/zig/tests/syntax-style_test.zig +557 -0
- package/src/zig/tests/terminal_test.zig +719 -0
- package/src/zig/tests/text-buffer-drawing_test.zig +3237 -0
- package/src/zig/tests/text-buffer-highlights_test.zig +666 -0
- package/src/zig/tests/text-buffer-iterators_test.zig +776 -0
- package/src/zig/tests/text-buffer-segment_test.zig +320 -0
- package/src/zig/tests/text-buffer-selection_test.zig +1035 -0
- package/src/zig/tests/text-buffer-selection_viewport_test.zig +358 -0
- package/src/zig/tests/text-buffer-view_test.zig +3649 -0
- package/src/zig/tests/text-buffer_test.zig +2191 -0
- package/src/zig/tests/unicode-width-map.zon +3909 -0
- package/src/zig/tests/utf8_no_zwj_test.zig +260 -0
- package/src/zig/tests/utf8_test.zig +4057 -0
- package/src/zig/tests/utf8_wcwidth_cursor_test.zig +267 -0
- package/src/zig/tests/utf8_wcwidth_test.zig +357 -0
- package/src/zig/tests/word-wrap-editing_test.zig +498 -0
- package/src/zig/tests/wrap-cache-perf_test.zig +113 -0
- package/src/zig/text-buffer-iterators.zig +499 -0
- package/src/zig/text-buffer-segment.zig +404 -0
- package/src/zig/text-buffer-view.zig +1371 -0
- package/src/zig/text-buffer.zig +1180 -0
- package/src/zig/utf8.zig +1948 -0
- package/src/zig/utils.zig +9 -0
- package/src/zig-structs.ts +261 -0
- package/src/zig.ts +3843 -0
- package/tsconfig.build.json +22 -0
- package/tsconfig.json +28 -0
- package/3d/SpriteResourceManager.d.ts +0 -74
- package/3d/SpriteUtils.d.ts +0 -13
- package/3d/TextureUtils.d.ts +0 -24
- package/3d/ThreeRenderable.d.ts +0 -40
- package/3d/WGPURenderer.d.ts +0 -61
- package/3d/animation/ExplodingSpriteEffect.d.ts +0 -71
- package/3d/animation/PhysicsExplodingSpriteEffect.d.ts +0 -76
- package/3d/animation/SpriteAnimator.d.ts +0 -124
- package/3d/animation/SpriteParticleGenerator.d.ts +0 -62
- package/3d/canvas.d.ts +0 -44
- package/3d/index.d.ts +0 -12
- package/3d/physics/PlanckPhysicsAdapter.d.ts +0 -19
- package/3d/physics/RapierPhysicsAdapter.d.ts +0 -19
- package/3d/physics/physics-interface.d.ts +0 -27
- package/3d.d.ts +0 -2
- package/3d.js +0 -34042
- package/3d.js.map +0 -155
- package/LICENSE +0 -21
- package/NativeSpanFeed.d.ts +0 -41
- package/Renderable.d.ts +0 -334
- package/animation/Timeline.d.ts +0 -126
- package/ansi.d.ts +0 -13
- package/buffer.d.ts +0 -107
- package/console.d.ts +0 -143
- package/edit-buffer.d.ts +0 -98
- package/editor-view.d.ts +0 -73
- package/index-e4hzc2j2.js +0 -113
- package/index-e4hzc2j2.js.map +0 -10
- package/index-nkrr8a4c.js +0 -18415
- package/index-nkrr8a4c.js.map +0 -64
- package/index-nyw5p3ep.js +0 -12619
- package/index-nyw5p3ep.js.map +0 -43
- package/index.d.ts +0 -21
- package/index.js +0 -430
- package/index.js.map +0 -9
- package/lib/KeyHandler.d.ts +0 -61
- package/lib/RGBA.d.ts +0 -25
- package/lib/ascii.font.d.ts +0 -508
- package/lib/border.d.ts +0 -49
- package/lib/bunfs.d.ts +0 -7
- package/lib/clipboard.d.ts +0 -17
- package/lib/clock.d.ts +0 -15
- package/lib/data-paths.d.ts +0 -26
- package/lib/debounce.d.ts +0 -42
- package/lib/detect-links.d.ts +0 -6
- package/lib/env.d.ts +0 -42
- package/lib/extmarks-history.d.ts +0 -17
- package/lib/extmarks.d.ts +0 -89
- package/lib/hast-styled-text.d.ts +0 -17
- package/lib/index.d.ts +0 -21
- package/lib/keymapping.d.ts +0 -25
- package/lib/objects-in-viewport.d.ts +0 -24
- package/lib/output.capture.d.ts +0 -24
- package/lib/parse.keypress-kitty.d.ts +0 -2
- package/lib/parse.keypress.d.ts +0 -26
- package/lib/parse.mouse.d.ts +0 -30
- package/lib/paste.d.ts +0 -7
- package/lib/queue.d.ts +0 -15
- package/lib/renderable.validations.d.ts +0 -12
- package/lib/scroll-acceleration.d.ts +0 -43
- package/lib/selection.d.ts +0 -63
- package/lib/singleton.d.ts +0 -7
- package/lib/stdin-parser.d.ts +0 -76
- package/lib/styled-text.d.ts +0 -63
- package/lib/terminal-capability-detection.d.ts +0 -30
- package/lib/terminal-palette.d.ts +0 -50
- package/lib/tree-sitter/assets/update.d.ts +0 -11
- package/lib/tree-sitter/client.d.ts +0 -47
- package/lib/tree-sitter/default-parsers.d.ts +0 -2
- package/lib/tree-sitter/download-utils.d.ts +0 -21
- package/lib/tree-sitter/index.d.ts +0 -8
- package/lib/tree-sitter/parser.worker.d.ts +0 -1
- package/lib/tree-sitter/parsers-config.d.ts +0 -38
- package/lib/tree-sitter/resolve-ft.d.ts +0 -2
- package/lib/tree-sitter/types.d.ts +0 -81
- package/lib/tree-sitter-styled-text.d.ts +0 -14
- package/lib/validate-dir-name.d.ts +0 -1
- package/lib/yoga.options.d.ts +0 -32
- package/parser.worker.js +0 -869
- package/parser.worker.js.map +0 -12
- package/plugins/core-slot.d.ts +0 -72
- package/plugins/registry.d.ts +0 -38
- package/plugins/types.d.ts +0 -34
- package/post/filters.d.ts +0 -105
- package/renderables/ASCIIFont.d.ts +0 -52
- package/renderables/Box.d.ts +0 -72
- package/renderables/Code.d.ts +0 -78
- package/renderables/Diff.d.ts +0 -142
- package/renderables/EditBufferRenderable.d.ts +0 -162
- package/renderables/FrameBuffer.d.ts +0 -16
- package/renderables/Input.d.ts +0 -67
- package/renderables/LineNumberRenderable.d.ts +0 -74
- package/renderables/Markdown.d.ts +0 -173
- package/renderables/ScrollBar.d.ts +0 -77
- package/renderables/ScrollBox.d.ts +0 -124
- package/renderables/Select.d.ts +0 -115
- package/renderables/Slider.d.ts +0 -44
- package/renderables/TabSelect.d.ts +0 -96
- package/renderables/Text.d.ts +0 -36
- package/renderables/TextBufferRenderable.d.ts +0 -105
- package/renderables/TextNode.d.ts +0 -91
- package/renderables/TextTable.d.ts +0 -140
- package/renderables/Textarea.d.ts +0 -114
- package/renderables/TimeToFirstDraw.d.ts +0 -24
- package/renderables/__tests__/renderable-test-utils.d.ts +0 -12
- package/renderables/composition/VRenderable.d.ts +0 -16
- package/renderables/composition/constructs.d.ts +0 -35
- package/renderables/composition/vnode.d.ts +0 -46
- package/renderables/index.d.ts +0 -22
- package/renderables/markdown-parser.d.ts +0 -10
- package/renderer.d.ts +0 -388
- package/runtime-plugin-support.d.ts +0 -3
- package/runtime-plugin-support.js +0 -29
- package/runtime-plugin-support.js.map +0 -10
- package/runtime-plugin.d.ts +0 -11
- package/runtime-plugin.js +0 -16
- package/runtime-plugin.js.map +0 -9
- package/syntax-style.d.ts +0 -54
- package/testing/manual-clock.d.ts +0 -16
- package/testing/mock-keys.d.ts +0 -81
- package/testing/mock-mouse.d.ts +0 -38
- package/testing/mock-tree-sitter-client.d.ts +0 -23
- package/testing/spy.d.ts +0 -7
- package/testing/test-recorder.d.ts +0 -61
- package/testing/test-renderer.d.ts +0 -23
- package/testing.d.ts +0 -6
- package/testing.js +0 -675
- package/testing.js.map +0 -15
- package/text-buffer-view.d.ts +0 -42
- package/text-buffer.d.ts +0 -67
- package/types.d.ts +0 -131
- package/utils.d.ts +0 -14
- package/zig-structs.d.ts +0 -155
- package/zig.d.ts +0 -351
- /package/{assets → src/lib/tree-sitter/assets}/javascript/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/javascript/tree-sitter-javascript.wasm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown/injections.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown/tree-sitter-markdown.wasm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown_inline/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/markdown_inline/tree-sitter-markdown_inline.wasm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/typescript/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/typescript/tree-sitter-typescript.wasm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/zig/highlights.scm +0 -0
- /package/{assets → src/lib/tree-sitter/assets}/zig/tree-sitter-zig.wasm +0 -0
package/console.d.ts
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from "events";
|
|
2
|
-
import type { CliRenderer, ColorInput, MouseEvent } from "./index.js";
|
|
3
|
-
import { OptimizedBuffer } from "./buffer.js";
|
|
4
|
-
import { type Clock } from "./lib/clock.js";
|
|
5
|
-
import { Capture } from "./lib/output.capture.js";
|
|
6
|
-
import { type KeyBinding as BaseKeyBinding, type KeyAliasMap } from "./lib/keymapping.js";
|
|
7
|
-
export declare const capture: Capture;
|
|
8
|
-
export declare enum ConsolePosition {
|
|
9
|
-
TOP = "top",
|
|
10
|
-
BOTTOM = "bottom",
|
|
11
|
-
LEFT = "left",
|
|
12
|
-
RIGHT = "right"
|
|
13
|
-
}
|
|
14
|
-
export type ConsoleAction = "scroll-up" | "scroll-down" | "scroll-to-top" | "scroll-to-bottom" | "position-previous" | "position-next" | "size-increase" | "size-decrease" | "save-logs" | "copy-selection";
|
|
15
|
-
export type ConsoleKeyBinding = BaseKeyBinding<ConsoleAction>;
|
|
16
|
-
export interface ConsoleOptions {
|
|
17
|
-
position?: ConsolePosition;
|
|
18
|
-
sizePercent?: number;
|
|
19
|
-
zIndex?: number;
|
|
20
|
-
colorInfo?: ColorInput;
|
|
21
|
-
colorWarn?: ColorInput;
|
|
22
|
-
colorError?: ColorInput;
|
|
23
|
-
colorDebug?: ColorInput;
|
|
24
|
-
colorDefault?: ColorInput;
|
|
25
|
-
backgroundColor?: ColorInput;
|
|
26
|
-
startInDebugMode?: boolean;
|
|
27
|
-
title?: string;
|
|
28
|
-
titleBarColor?: ColorInput;
|
|
29
|
-
titleBarTextColor?: ColorInput;
|
|
30
|
-
cursorColor?: ColorInput;
|
|
31
|
-
maxStoredLogs?: number;
|
|
32
|
-
maxDisplayLines?: number;
|
|
33
|
-
onCopySelection?: (text: string) => void;
|
|
34
|
-
keyBindings?: ConsoleKeyBinding[];
|
|
35
|
-
keyAliasMap?: KeyAliasMap;
|
|
36
|
-
selectionColor?: ColorInput;
|
|
37
|
-
copyButtonColor?: ColorInput;
|
|
38
|
-
clock?: Clock;
|
|
39
|
-
}
|
|
40
|
-
export declare class TerminalConsole extends EventEmitter {
|
|
41
|
-
private isVisible;
|
|
42
|
-
private isFocused;
|
|
43
|
-
private renderer;
|
|
44
|
-
private keyHandler;
|
|
45
|
-
private options;
|
|
46
|
-
private _debugModeEnabled;
|
|
47
|
-
private frameBuffer;
|
|
48
|
-
private consoleX;
|
|
49
|
-
private consoleY;
|
|
50
|
-
private consoleWidth;
|
|
51
|
-
private consoleHeight;
|
|
52
|
-
private scrollTopIndex;
|
|
53
|
-
private isScrolledToBottom;
|
|
54
|
-
private currentLineIndex;
|
|
55
|
-
private _displayLines;
|
|
56
|
-
private _allLogEntries;
|
|
57
|
-
private _needsFrameBufferUpdate;
|
|
58
|
-
private _entryListener;
|
|
59
|
-
private _selectionStart;
|
|
60
|
-
private _selectionEnd;
|
|
61
|
-
private _isDragging;
|
|
62
|
-
private _copyButtonBounds;
|
|
63
|
-
private _autoScrollInterval;
|
|
64
|
-
private readonly clock;
|
|
65
|
-
private _keyBindingsMap;
|
|
66
|
-
private _keyAliasMap;
|
|
67
|
-
private _keyBindings;
|
|
68
|
-
private _mergedKeyBindings;
|
|
69
|
-
private _actionHandlers;
|
|
70
|
-
private markNeedsRerender;
|
|
71
|
-
private getCopyButtonLabel;
|
|
72
|
-
private _rgbaInfo;
|
|
73
|
-
private _rgbaWarn;
|
|
74
|
-
private _rgbaError;
|
|
75
|
-
private _rgbaDebug;
|
|
76
|
-
private _rgbaDefault;
|
|
77
|
-
private backgroundColor;
|
|
78
|
-
private _rgbaTitleBar;
|
|
79
|
-
private _rgbaTitleBarText;
|
|
80
|
-
private _title;
|
|
81
|
-
private _rgbaCursor;
|
|
82
|
-
private _rgbaSelection;
|
|
83
|
-
private _rgbaCopyButton;
|
|
84
|
-
private _positions;
|
|
85
|
-
constructor(renderer: CliRenderer, options?: ConsoleOptions);
|
|
86
|
-
private buildActionHandlers;
|
|
87
|
-
activate(): void;
|
|
88
|
-
deactivate(): void;
|
|
89
|
-
private _handleNewLog;
|
|
90
|
-
private _updateConsoleDimensions;
|
|
91
|
-
private handleKeyPress;
|
|
92
|
-
private scrollUp;
|
|
93
|
-
private scrollDown;
|
|
94
|
-
private scrollToTop;
|
|
95
|
-
private scrollToBottomAction;
|
|
96
|
-
private positionPrevious;
|
|
97
|
-
private positionNext;
|
|
98
|
-
private sizeIncrease;
|
|
99
|
-
private sizeDecrease;
|
|
100
|
-
private saveLogsAction;
|
|
101
|
-
private triggerCopyAction;
|
|
102
|
-
private attachStdin;
|
|
103
|
-
private detachStdin;
|
|
104
|
-
private formatTimestamp;
|
|
105
|
-
private formatArguments;
|
|
106
|
-
resize(width: number, height: number): void;
|
|
107
|
-
clear(): void;
|
|
108
|
-
toggle(): void;
|
|
109
|
-
focus(): void;
|
|
110
|
-
blur(): void;
|
|
111
|
-
show(): void;
|
|
112
|
-
hide(): void;
|
|
113
|
-
destroy(): void;
|
|
114
|
-
getCachedLogs(): string;
|
|
115
|
-
private updateFrameBuffer;
|
|
116
|
-
renderToBuffer(buffer: OptimizedBuffer): void;
|
|
117
|
-
setDebugMode(enabled: boolean): void;
|
|
118
|
-
toggleDebugMode(): void;
|
|
119
|
-
set keyBindings(bindings: ConsoleKeyBinding[]);
|
|
120
|
-
set keyAliasMap(aliases: KeyAliasMap);
|
|
121
|
-
set onCopySelection(callback: ((text: string) => void) | undefined);
|
|
122
|
-
get onCopySelection(): ((text: string) => void) | undefined;
|
|
123
|
-
private _scrollToBottom;
|
|
124
|
-
private _processLogEntry;
|
|
125
|
-
private _processCachedLogs;
|
|
126
|
-
private hasSelection;
|
|
127
|
-
private normalizeSelection;
|
|
128
|
-
private getSelectedText;
|
|
129
|
-
private clearSelection;
|
|
130
|
-
private stopAutoScroll;
|
|
131
|
-
private startAutoScroll;
|
|
132
|
-
private triggerCopy;
|
|
133
|
-
private getLineSelectionRange;
|
|
134
|
-
handleMouse(event: MouseEvent): boolean;
|
|
135
|
-
get visible(): boolean;
|
|
136
|
-
get bounds(): {
|
|
137
|
-
x: number;
|
|
138
|
-
y: number;
|
|
139
|
-
width: number;
|
|
140
|
-
height: number;
|
|
141
|
-
};
|
|
142
|
-
private saveLogsToFile;
|
|
143
|
-
}
|
package/edit-buffer.d.ts
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { type LogicalCursor, type RenderLib } from "./zig.js";
|
|
2
|
-
import { type Pointer } from "bun:ffi";
|
|
3
|
-
import { type WidthMethod, type Highlight } from "./types.js";
|
|
4
|
-
import { RGBA } from "./lib/RGBA.js";
|
|
5
|
-
import { EventEmitter } from "events";
|
|
6
|
-
import type { SyntaxStyle } from "./syntax-style.js";
|
|
7
|
-
export type { LogicalCursor };
|
|
8
|
-
/**
|
|
9
|
-
* EditBuffer provides a text editing buffer with cursor management,
|
|
10
|
-
* incremental editing, and grapheme-aware operations.
|
|
11
|
-
*/
|
|
12
|
-
export declare class EditBuffer extends EventEmitter {
|
|
13
|
-
private static registry;
|
|
14
|
-
private static nativeEventsSubscribed;
|
|
15
|
-
private lib;
|
|
16
|
-
private bufferPtr;
|
|
17
|
-
private textBufferPtr;
|
|
18
|
-
readonly id: number;
|
|
19
|
-
private _destroyed;
|
|
20
|
-
private _textBytes;
|
|
21
|
-
private _singleTextBytes;
|
|
22
|
-
private _singleTextMemId;
|
|
23
|
-
private _syntaxStyle?;
|
|
24
|
-
constructor(lib: RenderLib, ptr: Pointer);
|
|
25
|
-
static create(widthMethod: WidthMethod): EditBuffer;
|
|
26
|
-
private static subscribeToNativeEvents;
|
|
27
|
-
private guard;
|
|
28
|
-
get ptr(): Pointer;
|
|
29
|
-
/**
|
|
30
|
-
* Set text and completely reset the buffer state (clears history, resets add_buffer).
|
|
31
|
-
* Use this for initial text setting or when you want a clean slate.
|
|
32
|
-
*/
|
|
33
|
-
setText(text: string): void;
|
|
34
|
-
/**
|
|
35
|
-
* Set text using owned memory and completely reset the buffer state (clears history, resets add_buffer).
|
|
36
|
-
* The native code takes ownership of the memory.
|
|
37
|
-
*/
|
|
38
|
-
setTextOwned(text: string): void;
|
|
39
|
-
/**
|
|
40
|
-
* Replace text while preserving undo history (creates an undo point).
|
|
41
|
-
* Use this when you want the setText operation to be undoable.
|
|
42
|
-
*/
|
|
43
|
-
replaceText(text: string): void;
|
|
44
|
-
/**
|
|
45
|
-
* Replace text using owned memory while preserving undo history (creates an undo point).
|
|
46
|
-
* The native code takes ownership of the memory.
|
|
47
|
-
*/
|
|
48
|
-
replaceTextOwned(text: string): void;
|
|
49
|
-
getLineCount(): number;
|
|
50
|
-
getText(): string;
|
|
51
|
-
insertChar(char: string): void;
|
|
52
|
-
insertText(text: string): void;
|
|
53
|
-
deleteChar(): void;
|
|
54
|
-
deleteCharBackward(): void;
|
|
55
|
-
deleteRange(startLine: number, startCol: number, endLine: number, endCol: number): void;
|
|
56
|
-
newLine(): void;
|
|
57
|
-
deleteLine(): void;
|
|
58
|
-
moveCursorLeft(): void;
|
|
59
|
-
moveCursorRight(): void;
|
|
60
|
-
moveCursorUp(): void;
|
|
61
|
-
moveCursorDown(): void;
|
|
62
|
-
gotoLine(line: number): void;
|
|
63
|
-
setCursor(line: number, col: number): void;
|
|
64
|
-
setCursorToLineCol(line: number, col: number): void;
|
|
65
|
-
setCursorByOffset(offset: number): void;
|
|
66
|
-
getCursorPosition(): LogicalCursor;
|
|
67
|
-
getNextWordBoundary(): LogicalCursor;
|
|
68
|
-
getPrevWordBoundary(): LogicalCursor;
|
|
69
|
-
getEOL(): LogicalCursor;
|
|
70
|
-
offsetToPosition(offset: number): {
|
|
71
|
-
row: number;
|
|
72
|
-
col: number;
|
|
73
|
-
} | null;
|
|
74
|
-
positionToOffset(row: number, col: number): number;
|
|
75
|
-
getLineStartOffset(row: number): number;
|
|
76
|
-
getTextRange(startOffset: number, endOffset: number): string;
|
|
77
|
-
getTextRangeByCoords(startRow: number, startCol: number, endRow: number, endCol: number): string;
|
|
78
|
-
debugLogRope(): void;
|
|
79
|
-
undo(): string | null;
|
|
80
|
-
redo(): string | null;
|
|
81
|
-
canUndo(): boolean;
|
|
82
|
-
canRedo(): boolean;
|
|
83
|
-
clearHistory(): void;
|
|
84
|
-
setDefaultFg(fg: RGBA | null): void;
|
|
85
|
-
setDefaultBg(bg: RGBA | null): void;
|
|
86
|
-
setDefaultAttributes(attributes: number | null): void;
|
|
87
|
-
resetDefaults(): void;
|
|
88
|
-
setSyntaxStyle(style: SyntaxStyle | null): void;
|
|
89
|
-
getSyntaxStyle(): SyntaxStyle | null;
|
|
90
|
-
addHighlight(lineIdx: number, highlight: Highlight): void;
|
|
91
|
-
addHighlightByCharRange(highlight: Highlight): void;
|
|
92
|
-
removeHighlightsByRef(hlRef: number): void;
|
|
93
|
-
clearLineHighlights(lineIdx: number): void;
|
|
94
|
-
clearAllHighlights(): void;
|
|
95
|
-
getLineHighlights(lineIdx: number): Array<Highlight>;
|
|
96
|
-
clear(): void;
|
|
97
|
-
destroy(): void;
|
|
98
|
-
}
|
package/editor-view.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { RGBA } from "./lib/RGBA.js";
|
|
2
|
-
import { type RenderLib, type VisualCursor, type LineInfo } from "./zig.js";
|
|
3
|
-
import { type Pointer } from "bun:ffi";
|
|
4
|
-
import type { EditBuffer } from "./edit-buffer.js";
|
|
5
|
-
export interface Viewport {
|
|
6
|
-
offsetY: number;
|
|
7
|
-
offsetX: number;
|
|
8
|
-
height: number;
|
|
9
|
-
width: number;
|
|
10
|
-
}
|
|
11
|
-
export type { VisualCursor };
|
|
12
|
-
export declare class EditorView {
|
|
13
|
-
private lib;
|
|
14
|
-
private viewPtr;
|
|
15
|
-
private editBuffer;
|
|
16
|
-
private _destroyed;
|
|
17
|
-
private _extmarksController?;
|
|
18
|
-
private _textBufferViewPtr?;
|
|
19
|
-
constructor(lib: RenderLib, ptr: Pointer, editBuffer: EditBuffer);
|
|
20
|
-
static create(editBuffer: EditBuffer, viewportWidth: number, viewportHeight: number): EditorView;
|
|
21
|
-
private guard;
|
|
22
|
-
get ptr(): Pointer;
|
|
23
|
-
setViewportSize(width: number, height: number): void;
|
|
24
|
-
setViewport(x: number, y: number, width: number, height: number, moveCursor?: boolean): void;
|
|
25
|
-
getViewport(): Viewport;
|
|
26
|
-
setScrollMargin(margin: number): void;
|
|
27
|
-
setWrapMode(mode: "none" | "char" | "word"): void;
|
|
28
|
-
getVirtualLineCount(): number;
|
|
29
|
-
getTotalVirtualLineCount(): number;
|
|
30
|
-
setSelection(start: number, end: number, bgColor?: RGBA, fgColor?: RGBA): void;
|
|
31
|
-
updateSelection(end: number, bgColor?: RGBA, fgColor?: RGBA): void;
|
|
32
|
-
resetSelection(): void;
|
|
33
|
-
getSelection(): {
|
|
34
|
-
start: number;
|
|
35
|
-
end: number;
|
|
36
|
-
} | null;
|
|
37
|
-
hasSelection(): boolean;
|
|
38
|
-
setLocalSelection(anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor?: RGBA, fgColor?: RGBA, updateCursor?: boolean, followCursor?: boolean): boolean;
|
|
39
|
-
updateLocalSelection(anchorX: number, anchorY: number, focusX: number, focusY: number, bgColor?: RGBA, fgColor?: RGBA, updateCursor?: boolean, followCursor?: boolean): boolean;
|
|
40
|
-
resetLocalSelection(): void;
|
|
41
|
-
getSelectedText(): string;
|
|
42
|
-
getCursor(): {
|
|
43
|
-
row: number;
|
|
44
|
-
col: number;
|
|
45
|
-
};
|
|
46
|
-
getText(): string;
|
|
47
|
-
getVisualCursor(): VisualCursor;
|
|
48
|
-
moveUpVisual(): void;
|
|
49
|
-
moveDownVisual(): void;
|
|
50
|
-
deleteSelectedText(): void;
|
|
51
|
-
setCursorByOffset(offset: number): void;
|
|
52
|
-
getNextWordBoundary(): VisualCursor;
|
|
53
|
-
getPrevWordBoundary(): VisualCursor;
|
|
54
|
-
getEOL(): VisualCursor;
|
|
55
|
-
getVisualSOL(): VisualCursor;
|
|
56
|
-
getVisualEOL(): VisualCursor;
|
|
57
|
-
getLineInfo(): LineInfo;
|
|
58
|
-
getLogicalLineInfo(): LineInfo;
|
|
59
|
-
get extmarks(): any;
|
|
60
|
-
setPlaceholderStyledText(chunks: {
|
|
61
|
-
text: string;
|
|
62
|
-
fg?: RGBA;
|
|
63
|
-
bg?: RGBA;
|
|
64
|
-
attributes?: number;
|
|
65
|
-
}[]): void;
|
|
66
|
-
setTabIndicator(indicator: string | number): void;
|
|
67
|
-
setTabIndicatorColor(color: RGBA): void;
|
|
68
|
-
measureForDimensions(width: number, height: number): {
|
|
69
|
-
lineCount: number;
|
|
70
|
-
widthColsMax: number;
|
|
71
|
-
} | null;
|
|
72
|
-
destroy(): void;
|
|
73
|
-
}
|
package/index-e4hzc2j2.js
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import {
|
|
3
|
-
exports_src
|
|
4
|
-
} from "./index-nyw5p3ep.js";
|
|
5
|
-
import {
|
|
6
|
-
__require
|
|
7
|
-
} from "./index-nkrr8a4c.js";
|
|
8
|
-
|
|
9
|
-
// src/runtime-plugin.ts
|
|
10
|
-
var CORE_RUNTIME_SPECIFIER = "@opentui/core";
|
|
11
|
-
var CORE_3D_RUNTIME_SPECIFIER = "@opentui/core/3d";
|
|
12
|
-
var CORE_TESTING_RUNTIME_SPECIFIER = "@opentui/core/testing";
|
|
13
|
-
var RUNTIME_MODULE_PREFIX = "opentui:runtime-module:";
|
|
14
|
-
var DEFAULT_CORE_RUNTIME_MODULE_SPECIFIERS = [
|
|
15
|
-
CORE_RUNTIME_SPECIFIER,
|
|
16
|
-
CORE_3D_RUNTIME_SPECIFIER,
|
|
17
|
-
CORE_TESTING_RUNTIME_SPECIFIER
|
|
18
|
-
];
|
|
19
|
-
var DEFAULT_CORE_RUNTIME_MODULE_SPECIFIER_SET = new Set(DEFAULT_CORE_RUNTIME_MODULE_SPECIFIERS);
|
|
20
|
-
var isCoreRuntimeModuleSpecifier = (specifier) => {
|
|
21
|
-
return DEFAULT_CORE_RUNTIME_MODULE_SPECIFIER_SET.has(specifier);
|
|
22
|
-
};
|
|
23
|
-
var loadCore3dRuntimeModule = async () => {
|
|
24
|
-
return await import("./3d.js");
|
|
25
|
-
};
|
|
26
|
-
var loadCoreTestingRuntimeModule = async () => {
|
|
27
|
-
return await import("./testing.js");
|
|
28
|
-
};
|
|
29
|
-
var escapeRegExp = (value) => {
|
|
30
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
31
|
-
};
|
|
32
|
-
var exactSpecifierFilter = (specifier) => {
|
|
33
|
-
return new RegExp(`^${escapeRegExp(specifier)}$`);
|
|
34
|
-
};
|
|
35
|
-
var runtimeModuleIdForSpecifier = (specifier) => {
|
|
36
|
-
return `${RUNTIME_MODULE_PREFIX}${encodeURIComponent(specifier)}`;
|
|
37
|
-
};
|
|
38
|
-
var resolveRuntimeModuleExports = async (moduleEntry) => {
|
|
39
|
-
if (typeof moduleEntry === "function") {
|
|
40
|
-
return await moduleEntry();
|
|
41
|
-
}
|
|
42
|
-
return moduleEntry;
|
|
43
|
-
};
|
|
44
|
-
var runtimeLoaderForPath = (path) => {
|
|
45
|
-
if (path.endsWith(".tsx")) {
|
|
46
|
-
return "tsx";
|
|
47
|
-
}
|
|
48
|
-
if (path.endsWith(".jsx")) {
|
|
49
|
-
return "jsx";
|
|
50
|
-
}
|
|
51
|
-
if (path.endsWith(".ts") || path.endsWith(".mts") || path.endsWith(".cts")) {
|
|
52
|
-
return "ts";
|
|
53
|
-
}
|
|
54
|
-
if (path.endsWith(".js") || path.endsWith(".mjs") || path.endsWith(".cjs")) {
|
|
55
|
-
return "js";
|
|
56
|
-
}
|
|
57
|
-
return null;
|
|
58
|
-
};
|
|
59
|
-
var rewriteRuntimeSpecifiers = (code, runtimeModuleIdsBySpecifier) => {
|
|
60
|
-
let transformedCode = code;
|
|
61
|
-
for (const [specifier, moduleId] of runtimeModuleIdsBySpecifier.entries()) {
|
|
62
|
-
const escapedSpecifier = escapeRegExp(specifier);
|
|
63
|
-
transformedCode = transformedCode.replace(new RegExp(`(from\\s+["'])${escapedSpecifier}(["'])`, "g"), `$1${moduleId}$2`).replace(new RegExp(`(import\\s+["'])${escapedSpecifier}(["'])`, "g"), `$1${moduleId}$2`).replace(new RegExp(`(import\\s*\\(\\s*["'])${escapedSpecifier}(["']\\s*\\))`, "g"), `$1${moduleId}$2`).replace(new RegExp(`(require\\s*\\(\\s*["'])${escapedSpecifier}(["']\\s*\\))`, "g"), `$1${moduleId}$2`);
|
|
64
|
-
}
|
|
65
|
-
return transformedCode;
|
|
66
|
-
};
|
|
67
|
-
function createRuntimePlugin(input = {}) {
|
|
68
|
-
const runtimeModules = new Map;
|
|
69
|
-
runtimeModules.set(CORE_RUNTIME_SPECIFIER, input.core ?? exports_src);
|
|
70
|
-
runtimeModules.set(CORE_3D_RUNTIME_SPECIFIER, loadCore3dRuntimeModule);
|
|
71
|
-
runtimeModules.set(CORE_TESTING_RUNTIME_SPECIFIER, loadCoreTestingRuntimeModule);
|
|
72
|
-
for (const [specifier, moduleEntry] of Object.entries(input.additional ?? {})) {
|
|
73
|
-
runtimeModules.set(specifier, moduleEntry);
|
|
74
|
-
}
|
|
75
|
-
const runtimeModuleIdsBySpecifier = new Map;
|
|
76
|
-
for (const specifier of runtimeModules.keys()) {
|
|
77
|
-
runtimeModuleIdsBySpecifier.set(specifier, runtimeModuleIdForSpecifier(specifier));
|
|
78
|
-
}
|
|
79
|
-
return {
|
|
80
|
-
name: "bun-plugin-opentui-runtime-modules",
|
|
81
|
-
setup: (build) => {
|
|
82
|
-
for (const [specifier, moduleEntry] of runtimeModules.entries()) {
|
|
83
|
-
const moduleId = runtimeModuleIdsBySpecifier.get(specifier);
|
|
84
|
-
if (!moduleId) {
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
build.module(moduleId, async () => ({
|
|
88
|
-
exports: await resolveRuntimeModuleExports(moduleEntry),
|
|
89
|
-
loader: "object"
|
|
90
|
-
}));
|
|
91
|
-
build.onResolve({ filter: exactSpecifierFilter(specifier) }, () => ({ path: moduleId }));
|
|
92
|
-
}
|
|
93
|
-
build.onLoad({ filter: /\.(?:[cm]?js|[cm]?ts|jsx|tsx)$/ }, async (args) => {
|
|
94
|
-
const loader = runtimeLoaderForPath(args.path);
|
|
95
|
-
if (!loader) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
const file = Bun.file(args.path);
|
|
99
|
-
const contents = await file.text();
|
|
100
|
-
const transformedContents = rewriteRuntimeSpecifiers(contents, runtimeModuleIdsBySpecifier);
|
|
101
|
-
return {
|
|
102
|
-
contents: transformedContents,
|
|
103
|
-
loader
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export { isCoreRuntimeModuleSpecifier, runtimeModuleIdForSpecifier, createRuntimePlugin };
|
|
111
|
-
|
|
112
|
-
//# debugId=D871D36BF4DDA4A464756E2164756E21
|
|
113
|
-
//# sourceMappingURL=index-e4hzc2j2.js.map
|
package/index-e4hzc2j2.js.map
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/runtime-plugin.ts"],
|
|
4
|
-
"sourcesContent": [
|
|
5
|
-
"import { type BunPlugin } from \"bun\"\nimport * as coreRuntime from \"./index\"\n\nexport type RuntimeModuleExports = Record<string, unknown>\nexport type RuntimeModuleLoader = () => RuntimeModuleExports | Promise<RuntimeModuleExports>\nexport type RuntimeModuleEntry = RuntimeModuleExports | RuntimeModuleLoader\n\nexport interface CreateRuntimePluginOptions {\n core?: RuntimeModuleEntry\n additional?: Record<string, RuntimeModuleEntry>\n}\n\nconst CORE_RUNTIME_SPECIFIER = \"@opentui/core\"\nconst CORE_3D_RUNTIME_SPECIFIER = \"@opentui/core/3d\"\nconst CORE_TESTING_RUNTIME_SPECIFIER = \"@opentui/core/testing\"\nconst RUNTIME_MODULE_PREFIX = \"opentui:runtime-module:\"\n\nconst DEFAULT_CORE_RUNTIME_MODULE_SPECIFIERS = [\n CORE_RUNTIME_SPECIFIER,\n CORE_3D_RUNTIME_SPECIFIER,\n CORE_TESTING_RUNTIME_SPECIFIER,\n] as const\n\nconst DEFAULT_CORE_RUNTIME_MODULE_SPECIFIER_SET = new Set<string>(DEFAULT_CORE_RUNTIME_MODULE_SPECIFIERS)\n\nexport const isCoreRuntimeModuleSpecifier = (specifier: string): boolean => {\n return DEFAULT_CORE_RUNTIME_MODULE_SPECIFIER_SET.has(specifier)\n}\n\nconst loadCore3dRuntimeModule = async (): Promise<RuntimeModuleExports> => {\n return (await import(\"./3d\")) as RuntimeModuleExports\n}\n\nconst loadCoreTestingRuntimeModule = async (): Promise<RuntimeModuleExports> => {\n return (await import(\"./testing\")) as RuntimeModuleExports\n}\n\nconst escapeRegExp = (value: string): string => {\n return value.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\")\n}\n\nconst exactSpecifierFilter = (specifier: string): RegExp => {\n return new RegExp(`^${escapeRegExp(specifier)}$`)\n}\n\nexport const runtimeModuleIdForSpecifier = (specifier: string): string => {\n return `${RUNTIME_MODULE_PREFIX}${encodeURIComponent(specifier)}`\n}\n\nconst resolveRuntimeModuleExports = async (moduleEntry: RuntimeModuleEntry): Promise<RuntimeModuleExports> => {\n if (typeof moduleEntry === \"function\") {\n return await moduleEntry()\n }\n\n return moduleEntry\n}\n\nconst runtimeLoaderForPath = (path: string): \"js\" | \"ts\" | \"jsx\" | \"tsx\" | null => {\n if (path.endsWith(\".tsx\")) {\n return \"tsx\"\n }\n\n if (path.endsWith(\".jsx\")) {\n return \"jsx\"\n }\n\n if (path.endsWith(\".ts\") || path.endsWith(\".mts\") || path.endsWith(\".cts\")) {\n return \"ts\"\n }\n\n if (path.endsWith(\".js\") || path.endsWith(\".mjs\") || path.endsWith(\".cjs\")) {\n return \"js\"\n }\n\n return null\n}\n\nconst rewriteRuntimeSpecifiers = (code: string, runtimeModuleIdsBySpecifier: Map<string, string>): string => {\n let transformedCode = code\n\n for (const [specifier, moduleId] of runtimeModuleIdsBySpecifier.entries()) {\n const escapedSpecifier = escapeRegExp(specifier)\n\n transformedCode = transformedCode\n .replace(new RegExp(`(from\\\\s+[\"'])${escapedSpecifier}([\"'])`, \"g\"), `$1${moduleId}$2`)\n .replace(new RegExp(`(import\\\\s+[\"'])${escapedSpecifier}([\"'])`, \"g\"), `$1${moduleId}$2`)\n .replace(new RegExp(`(import\\\\s*\\\\(\\\\s*[\"'])${escapedSpecifier}([\"']\\\\s*\\\\))`, \"g\"), `$1${moduleId}$2`)\n .replace(new RegExp(`(require\\\\s*\\\\(\\\\s*[\"'])${escapedSpecifier}([\"']\\\\s*\\\\))`, \"g\"), `$1${moduleId}$2`)\n }\n\n return transformedCode\n}\n\nexport function createRuntimePlugin(input: CreateRuntimePluginOptions = {}): BunPlugin {\n const runtimeModules = new Map<string, RuntimeModuleEntry>()\n runtimeModules.set(CORE_RUNTIME_SPECIFIER, input.core ?? (coreRuntime as RuntimeModuleExports))\n runtimeModules.set(CORE_3D_RUNTIME_SPECIFIER, loadCore3dRuntimeModule)\n runtimeModules.set(CORE_TESTING_RUNTIME_SPECIFIER, loadCoreTestingRuntimeModule)\n\n for (const [specifier, moduleEntry] of Object.entries(input.additional ?? {})) {\n runtimeModules.set(specifier, moduleEntry)\n }\n\n const runtimeModuleIdsBySpecifier = new Map<string, string>()\n for (const specifier of runtimeModules.keys()) {\n runtimeModuleIdsBySpecifier.set(specifier, runtimeModuleIdForSpecifier(specifier))\n }\n\n return {\n name: \"bun-plugin-opentui-runtime-modules\",\n setup: (build) => {\n for (const [specifier, moduleEntry] of runtimeModules.entries()) {\n const moduleId = runtimeModuleIdsBySpecifier.get(specifier)\n\n if (!moduleId) {\n continue\n }\n\n build.module(moduleId, async () => ({\n exports: await resolveRuntimeModuleExports(moduleEntry),\n loader: \"object\",\n }))\n\n build.onResolve({ filter: exactSpecifierFilter(specifier) }, () => ({ path: moduleId }))\n }\n\n build.onLoad({ filter: /\\.(?:[cm]?js|[cm]?ts|jsx|tsx)$/ }, async (args) => {\n const loader = runtimeLoaderForPath(args.path)\n if (!loader) {\n return undefined\n }\n\n const file = Bun.file(args.path)\n const contents = await file.text()\n const transformedContents = rewriteRuntimeSpecifiers(contents, runtimeModuleIdsBySpecifier)\n\n return {\n contents: transformedContents,\n loader,\n }\n })\n },\n }\n}\n"
|
|
6
|
-
],
|
|
7
|
-
"mappings": "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",
|
|
8
|
-
"debugId": "D871D36BF4DDA4A464756E2164756E21",
|
|
9
|
-
"names": []
|
|
10
|
-
}
|