├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .swiftformat ├── .swiftlint.yml ├── AGENTS.md ├── CHANGELOG.md ├── Examples ├── ChatDemo │ └── main.swift ├── KeyTester │ └── main.swift └── TTYSampler │ ├── main.swift │ ├── markdown-table.json │ ├── markdown.json │ ├── sample.json │ └── select.json ├── LICENSE ├── Package.resolved ├── Package.swift ├── README.md ├── Sources ├── TauTUI │ ├── Autocomplete │ │ └── Autocomplete.swift │ ├── Components │ │ ├── Editor.swift │ │ ├── EditorBuffer.swift │ │ ├── Input.swift │ │ ├── Loader.swift │ │ ├── MarkdownComponent.swift │ │ ├── SelectList.swift │ │ ├── Spacer.swift │ │ ├── Text.swift │ │ └── TruncatedText.swift │ ├── Core │ │ ├── Component.swift │ │ ├── TUI.swift │ │ └── Theme.swift │ ├── TauTUI.swift │ ├── Terminal │ │ ├── Terminal.swift │ │ └── VirtualTerminal.swift │ └── Utilities │ │ ├── ANSISequences.swift │ │ ├── Ansi.swift │ │ ├── AnsiStyling.swift │ │ ├── AnsiWrapping.swift │ │ ├── FileAttachmentFilter.swift │ │ ├── TTYReplayer.swift │ │ └── VisibleWidth.swift └── TauTUIInternal │ └── VirtualTerminalInternal.swift ├── Tests ├── Fixtures │ └── TTY │ │ ├── markdown-table.snapshot │ │ ├── markdown.snapshot │ │ └── select.snapshot └── TauTUITests │ ├── AnsiWrappingTests.swift │ ├── AutocompleteFileTests.swift │ ├── AutocompleteSlashTests.swift │ ├── AutocompleteTests.swift │ ├── EditorPasteTests.swift │ ├── EditorTests.swift │ ├── EditorUnicodeTests.swift │ ├── InputTests.swift │ ├── LoaderTests.swift │ ├── MarkdownCodeTests.swift │ ├── MarkdownTests.swift │ ├── RendererSnapshotTests.swift │ ├── SelectListTests.swift │ ├── TTYReplayerTests.swift │ ├── TUITests.swift │ ├── TauTUITests.swift │ ├── ThemePropagationTests.swift │ ├── TruncatedTextTests.swift │ └── VirtualTerminalTests.swift ├── docs ├── concurrency.md ├── pi-tui-porting.md ├── pitui-sync.md ├── port-verify.md ├── refactor │ └── v0-8-0-sync-plan.md ├── spec.md └── ttysampler.md └── tautui-logo.png /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/.gitignore -------------------------------------------------------------------------------- /.swiftformat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/.swiftformat -------------------------------------------------------------------------------- /.swiftlint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/.swiftlint.yml -------------------------------------------------------------------------------- /AGENTS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/AGENTS.md -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Examples/ChatDemo/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Examples/ChatDemo/main.swift -------------------------------------------------------------------------------- /Examples/KeyTester/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Examples/KeyTester/main.swift -------------------------------------------------------------------------------- /Examples/TTYSampler/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Examples/TTYSampler/main.swift -------------------------------------------------------------------------------- /Examples/TTYSampler/markdown-table.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Examples/TTYSampler/markdown-table.json -------------------------------------------------------------------------------- /Examples/TTYSampler/markdown.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Examples/TTYSampler/markdown.json -------------------------------------------------------------------------------- /Examples/TTYSampler/sample.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Examples/TTYSampler/sample.json -------------------------------------------------------------------------------- /Examples/TTYSampler/select.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Examples/TTYSampler/select.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/README.md -------------------------------------------------------------------------------- /Sources/TauTUI/Autocomplete/Autocomplete.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Autocomplete/Autocomplete.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/Editor.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/Editor.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/EditorBuffer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/EditorBuffer.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/Input.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/Input.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/Loader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/Loader.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/MarkdownComponent.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/MarkdownComponent.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/SelectList.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/SelectList.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/Spacer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/Spacer.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/Text.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/Text.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Components/TruncatedText.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Components/TruncatedText.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Core/Component.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Core/Component.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Core/TUI.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Core/TUI.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Core/Theme.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Core/Theme.swift -------------------------------------------------------------------------------- /Sources/TauTUI/TauTUI.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/TauTUI.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Terminal/Terminal.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Terminal/Terminal.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Terminal/VirtualTerminal.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Terminal/VirtualTerminal.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Utilities/ANSISequences.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Utilities/ANSISequences.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Utilities/Ansi.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Utilities/Ansi.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Utilities/AnsiStyling.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Utilities/AnsiStyling.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Utilities/AnsiWrapping.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Utilities/AnsiWrapping.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Utilities/FileAttachmentFilter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Utilities/FileAttachmentFilter.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Utilities/TTYReplayer.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Utilities/TTYReplayer.swift -------------------------------------------------------------------------------- /Sources/TauTUI/Utilities/VisibleWidth.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUI/Utilities/VisibleWidth.swift -------------------------------------------------------------------------------- /Sources/TauTUIInternal/VirtualTerminalInternal.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Sources/TauTUIInternal/VirtualTerminalInternal.swift -------------------------------------------------------------------------------- /Tests/Fixtures/TTY/markdown-table.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/Fixtures/TTY/markdown-table.snapshot -------------------------------------------------------------------------------- /Tests/Fixtures/TTY/markdown.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/Fixtures/TTY/markdown.snapshot -------------------------------------------------------------------------------- /Tests/Fixtures/TTY/select.snapshot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/Fixtures/TTY/select.snapshot -------------------------------------------------------------------------------- /Tests/TauTUITests/AnsiWrappingTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/AnsiWrappingTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/AutocompleteFileTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/AutocompleteFileTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/AutocompleteSlashTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/AutocompleteSlashTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/AutocompleteTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/AutocompleteTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/EditorPasteTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/EditorPasteTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/EditorTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/EditorTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/EditorUnicodeTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/EditorUnicodeTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/InputTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/InputTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/LoaderTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/LoaderTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/MarkdownCodeTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/MarkdownCodeTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/MarkdownTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/MarkdownTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/RendererSnapshotTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/RendererSnapshotTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/SelectListTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/SelectListTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/TTYReplayerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/TTYReplayerTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/TUITests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/TUITests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/TauTUITests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/TauTUITests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/ThemePropagationTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/ThemePropagationTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/TruncatedTextTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/TruncatedTextTests.swift -------------------------------------------------------------------------------- /Tests/TauTUITests/VirtualTerminalTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/Tests/TauTUITests/VirtualTerminalTests.swift -------------------------------------------------------------------------------- /docs/concurrency.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/docs/concurrency.md -------------------------------------------------------------------------------- /docs/pi-tui-porting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/docs/pi-tui-porting.md -------------------------------------------------------------------------------- /docs/pitui-sync.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/docs/pitui-sync.md -------------------------------------------------------------------------------- /docs/port-verify.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/docs/port-verify.md -------------------------------------------------------------------------------- /docs/refactor/v0-8-0-sync-plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/docs/refactor/v0-8-0-sync-plan.md -------------------------------------------------------------------------------- /docs/spec.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/docs/spec.md -------------------------------------------------------------------------------- /docs/ttysampler.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/docs/ttysampler.md -------------------------------------------------------------------------------- /tautui-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/steipete/TauTUI/HEAD/tautui-logo.png --------------------------------------------------------------------------------