v1.11.0
Another Thursday, a new ttt release. Thank you all 🙏
v1.11.0 is here, with 49 pull requests and patches from 12 community contributors.
Thank you to everyone who tried ttt, reported issues, reviewed changes, and sent patches.
This release makes searching smoother, adds more editing controls, and brings clearer mouse feedback throughout the editor.
Highlights
- Smoother find and replace: Start file or workspace searches from selected text, switch between Find and Replace without losing your input, and keep search highlights in sync as you edit. Paste and replace-bar mouse controls work more reliably too.
- More editing controls: Choose syntax highlighting with Change Language Mode or by clicking the language name in the status bar. Add cursors above or below with Alt+Shift+Up/Down for quick edits across several lines.
- Clickable links: Hold Ctrl to highlight web URLs and local file references, then Ctrl+click to open them. File references can take you straight to a line and column, including from diff views.
- Better mouse interactions: Context-aware pointer shapes show clickable controls, text, resize dividers, and dragging in supported terminals. Scroll horizontally with Alt+wheel, and drag to select text in input fields. Pointer shapes can be disabled in settings.
- Keep working in one editor: With
reuseWindowenabled, command-line folder arguments now add folders to the running editor's workspace while preserving open tabs and unsaved edits. Commands launched from the integrated terminal prefer their parent editor. - More community plugins: The registry now includes OpenTDF, PostgreSQL, SQLite, PR Review, Catppuccin Mocha, a Linux desktop launcher, C/C++ header highlighting, and the TypeScript 7+ native language server.
- Reliability fixes: LSP snippet placeholders expand correctly, language-server positions handle UTF-16 offsets, undo history preserves save points, and ttt warns when an open file is deleted externally.
Building from source: Go 1.25 or newer is now required.
More
What's Changed (49 pull requests)
What's Changed
- feat(plugins): list Catppuccin Mocha theme plugin by @salmonumbrella in #1240
- feat(plugins): list the Linux desktop launcher plugin by @SimonOcampo1 in #1267
- chore(plugins): list OpenTDF, PostgreSQL, SQLite and PR Review by @eugenioenko in #1287
- fix(terminal): add symmetric configurable padding by @Lzcwbcgs in #1290
- fix(lsp): expand snippet placeholders instead of inserting them literally by @eduplessis in #1298
- fix(plugin): clean up debug plugin replacements by @Aaqibhafeezkhan in #1288
- fix(explorer): open the clicked compact-folder segment by @huskyhao in #1284
- fix(find): make the replace bar's previous, next and close buttons clickable by @jayhemnani9910 in #1299
- fix(search): route paste to the focused replace bar input by @jayhemnani9910 in #1300
- Feat(sidebar): Add icon display options for sidebar tabs by @Nandaleio in #1307
- fix(cli): prefer parent editor and report forwarding destination by @Lzcwbcgs in #1301
- fix(lsp): convert UTF-16 position offsets at editor boundaries by @huskyhao in #1257
- fix(undo): support balanced nested transactions by @SatriaBagusNurhadianto in #1256
- fix(plugin): deliver sys.spawn callbacks in order, on_exit last by @SimonOcampo1 in #1270
- docs: clarify Git and ripgrep are optional (#1308) by @BiswasNehaa in #1313
- fix(search): allow editor focus while replace is open by @eugenioenko in #1311
- feat(editor): allow manually selecting syntax highlighting language by @huskyhao in #1312
- fix(undo): preserve save points across history changes by @Lzcwbcgs in #1315
- feat(ui): show context aware mouse pointer shapes by @Nandaleio in #1320
- fix(watcher): warn when open files are deleted externally by @Lzcwbcgs in #1321
- feat(ui): show hand pointer over clickable status bar targets (#1324) by @Hrushikesh-ramilla in #1336
- feat(widgets): show hand pointer over checkboxes (#1322) by @Hrushikesh-ramilla in #1334
- feat(settings): allow opting out of terminal pointer shapes (#1330) by @Hrushikesh-ramilla in #1333
- feat(multicursor): add cursor above and below shortcuts by @eugenioenko in #1337
- fix(search): keep search highlights in sync with edits by @eugenioenko in #725
- feat(ui): scroll horizontally with Alt+wheel by @eugenioenko in #1339
- fix(quick-open): restore dependency directory exclusions in filesystem fallback (#1206) by @Hrushikesh-ramilla in #1221
- feat(ui): show hand pointer over menu and dropdown items (#1327) by @Hrushikesh-ramilla in #1338
- feat(workspace): forward folders to the running editor by @Lzcwbcgs in #1340
- feat(widgets): show context-aware pointers in selects (#1323) by @Hrushikesh-ramilla in #1341
- feat(ui): forward pointer shapes in tree-backed panels (#1326) by @Hrushikesh-ramilla in #1342
- test(search): complete single-replacement refresh coverage by @huskyhao in #1343
- fix(terminal): show pointer feedback for actionable links on Ctrl-hover (#1331) by @Hrushikesh-ramilla in #1344
- feat(search): prefill local and workspace searches from selection by @Hrushikesh-ramilla in #1319
- test(widgets): cover filtered and scrolled select pointer shapes by @Goldloli in #1349
- docs(contributing): require PR review and CI follow-up by @eugenioenko in #1350
- feat(search): toggle find and replace without losing input by @eugenioenko in #1352
- refactor(icons): centralize thin chevron defaults by @eugenioenko in #1354
- fix(search): use thin left/down chevrons for file filters by @eugenioenko in #1355
- feat(editor): highlight visible links on Ctrl-hover and open on Ctrl-… by @Lzcwbcgs in #1345
- fix(inputs): support mouse drag selection by @eugenioenko in #1357
- chore(plugins): list C/C++ header syntax highlighting plugin by @eugenioenko in #1361
- chore(deps): bump textmate-go to v0.2.3 for .h highlighting by @eugenioenko in #1362
- chore: update vendorHash by @github-actions[bot] in #1363
- fix(ui): keep selection drag captured over the tab bar in diff tabs by @Nandaleio in #1360
- fix(editor): resolve file-link targets without blocking rendering by @huskyhao in #1359
- fix(ui): keep grabbing pointer throughout panel tab dragging (#1328) by @Hrushikesh-ramilla in #1346
- chore(plugins): list TypeScript 7+ native language server plugin by @eugenioenko in #1364
- fix: require Go 1.25 in install docs and the release build by @eugenioenko in #1366
New Contributors (4)
New Contributors
- @eduplessis made their first contribution in #1298
- @SatriaBagusNurhadianto made their first contribution in #1256
- @BiswasNehaa made their first contribution in #1313
- @Goldloli made their first contribution in #1349
Full Changelog: v1.10.0...v1.11.0