Repository navigation
v1.1.0
Highlights
TTT 1.1 makes plugins first-class. The headline is a full Vim mode, now its own ttt-vim plugin installable from the marketplace. It rides on a large plugin-API expansion: status-bar segments, command execution (exec_command / list_commands), line access (get_line / set_line / line_count), viewport and scroll control, undo grouping, a multi-cursor API, key-press interception, and editor search control.
Under the hood, TTT migrates from tcell v2 to v3, and the integrated terminal grows up with Windows (ConPTY) support via go-pty, Ctrl+Click links, and correct clear / scrollback handling (ESC[3J). Rounding it out: a TUI settings editor as an editor tab, new editor.autoIndent and editor.showTrailingNewline settings, j/k/h/l navigation in tree and list widgets, "Reveal in File Manager", and a long tail of fixes and polish.
Contributors & Acknowledgments
TTT is better because of the people who take the time to try it, report bugs, and request features. Thank you. This project grows because of you.
Bug reports & feature requests
- @atreus44 requested the Vim shortcuts (#386) that grew into the full Vim mode plugin.
- @z-hunter surfaced the Windows terminal gaps (#411 terminal unsupported, #397 duplicated keystrokes) behind the go-pty / ConPTY and tcell v3 work.
- @LeTuR suggested "Reveal in File Manager" (#412).
What's Changed (27 pull requests)
- fix: Simulate Click dialog missing Build, adapter, and dismiss by @eugenioenko in #385
- feat: TUI settings editor as an editor tab by @eugenioenko in #388
- feat: refactor status bar to segment-based model with plugin API by @eugenioenko in #389
- feat: add exec_command, list_commands plugin APIs and docs by @eugenioenko in #390
- feat: add editor.get_line(), line_count(), and set_line() plugin APIs by @eugenioenko in #391
- feat: add viewport/scroll control and undo grouping plugin APIs by @eugenioenko in #392
- feat: add multi-cursor plugin API by @eugenioenko in #393
- feat: add key.press event for plugin key interception by @eugenioenko in #394
- Vim compatibility layer (plugin) + supporting plugin-API work by @eugenioenko in #396
- Extract the Vim plugin to its own repo (ttt-vim) by @eugenioenko in #398
- feat: add editor.autoIndent setting (default true) by @eugenioenko in #399
- fix: gate multi-cursor Enter auto-indent on editor.autoIndent by @eugenioenko in #400
- feat: add editor.showTrailingNewline setting by @eugenioenko in #401
- feat: add Vim Mode to community plugins by @eugenioenko in #404
- feat(plugin): support stdin in sys.exec and sys.exec_async by @eugenioenko in #405
- docs: highlight the Vim Mode plugin by @eugenioenko in #408
- feat: add spell plugin to community plugins by @eugenioenko in #406
- feat(plugin): add editor.set_search / editor.clear_search API by @eugenioenko in #410
- feat: add j/k/h/l navigation to tree widgets by @eugenioenko in #409
- feat(explorer): add "Reveal in File Manager" by @eugenioenko in #413
- Fix panic in Copy on non-editor tabs (chaos monkey, #414) by @eugenioenko in #416
- Migrate from tcell v2 to v3 by @eugenioenko in #415
- Rename Review PR to Open PR Diff and add it to the Changes panel menu by @eugenioenko in #418
- feat: Ctrl+Click links in terminal by @eugenioenko in #207
- feat(terminal): swap creack/pty for go-pty (Windows ConPTY support) by @eugenioenko in #419
- fix(terminal): clear now erases scrollback (ESC[3J support) by @eugenioenko in https://github.com//pull/420
- test(term): skip deliberately-racy PostEvent test under -race by @eugenioenko in #421
Full Changelog: v1.0.1...v1.1.0