github eugenioenko/ttt v1.7.0

latest releases: v1.12.1, v1.12.0, v1.11.0...
one month ago

v1.7.0

Thank you 🙏

v1.7.0 is here, and a big part of it came from the community.
Thank you to everyone who tried TTT, filed reports, and sent patches this cycle.

Highlights

  • TextMate syntax highlighting (#675). Highlighting moves to textmate-go, a Go port of VS Code's TextMate engine with 124 embedded grammars, so colors match what you see in VS Code. Themes get finer token styles, and edits only re-tokenize what changed (#687, #707).
  • Bring your own grammars (#702). Load extra TextMate grammars from plugins or the editor.grammars setting. The first grammar plugins, lang-git, lang-astro and lang-just, are in ttt-plugins.
  • Bookmarks and plugin storage (#462, #733, #734). Plugins can now draw gutter bookmarks (ttt.bookmarks), react to clicks left of the line number (gutter.click), and keep their own persistent data (ttt.storage). The new Bookmarks plugin uses all three: click the gutter or right-click a line to bookmark it, and browse them in a sidebar panel.
  • Welcome page: recent folders and Clone Repository (#685, #682). The welcome page lists recently opened folders (turn it off with welcome.recentFolders, #694) and Clone Repository (also in the command palette) clones a git repository and opens it.
  • Settings editor grouped by area (#661). Settings are organized into sections with headings instead of one long list.
  • Read-only files (#698, #701). Files without write permission are flagged, show a lock icon on their tab, and ask for confirmation before saving.
  • LSP controls (#737, #736). LSP: Server Restart restarts a stuck language server and reopens its files, and Options → LSP Hover turns mouse hover popups on or off.

Also in this release

  • The panel size is remembered between sessions, and dividers show a resize pointer (#679, #618).
  • Pinned tabs show a Nerd Font pin glyph (#727).
  • Drag-selecting past the top or bottom edge keeps scrolling (#699).
  • Diffs use linear memory, and stale git gutter diffs are cancelled (#673).
  • The Current Changes view no longer gets stuck refreshing (#689).
  • Transparent terminal backgrounds are preserved (#681), split panel borders join cleanly (#677), and the sidebar restores its closed state and a usable width on launch (#678).
  • The integrated terminal moves to the maintained xterm-go fork (#709).
  • New registry plugins: lsp-ruff, formatter-ruff (#696) and lsp-haskell (#690).
  • Homebrew installs now include the brew trust step (#691, #692).
  • The docs site publishes llms.txt for coding agents (#739).
  • Editor benchmarks for each language run in CI (#712).

Contributors & Acknowledgments

Thank you to everyone who tried TTT, filed reports, and sent patches this cycle.

New Contributors

More

What's Changed (41 pull requests)
  • docs(readme): acknowledge 1.5 and 1.6 contributors by @eugenioenko in #667
  • docs(settings): describe layout settings as defaults overridden by state.json by @eugenioenko in #668
  • fix(diff): use linear-space LCS and cancel stale git gutter diffs by @risixdzn in #673
  • feat(panel): show a resize pointer over the divider by @SimonOcampo1 in #618
  • fix(sidebar): restore closed state and a usable width on launch by @eugenioenko in #678
  • feat(highlight): highlight with textmate-go and finer theme styles by @eugenioenko in #675
  • chore: update vendorHash by @github-actions in #680
  • feat(panel): persist the panel size and fix the divider drag without a terminal by @eugenioenko in #679
  • fix(theme): preserve transparent terminal backgrounds by @eugenioenko in #681
  • feat(git): Clone Repository from the welcome page and the palette by @SimonOcampo1 in #682
  • fix(highlight): increase tokenization time budget by @eugenioenko in #687
  • feat(workspace): list recently opened folders on the welcome page by @SimonOcampo1 in #685
  • fix(git): stop Current Changes refresh livelock by @eugenioenko in #689
  • feat(plugins): add lsp-haskell to the community registry by @eugenioenko in #690
  • Add trust command for Homebrew installation by @DBinK in #691
  • docs(install): add brew trust step to the installation page by @eugenioenko in #692
  • fix(ui): compose split panel border junctions by @eugenioenko in #677
  • feat(welcome): allow disabling recent folder history by @eugenioenko in #694
  • feat(registry): list lsp-ruff and formatter-ruff plugins by @RhenCloud in #696
  • fix(editor): keep vertical scrolling during drag selection by @eugenioenko in #699
  • feat(editor): flag read-only files and confirm before saving them by @anyingiit in #698
  • feat(tabs): show a lock icon for read-only tabs when Nerd Font icons are enabled by @YodHeVauHe in #701
  • feat(highlight): load external TextMate grammars from plugins and settings by @eugenioenko in #702
  • test(app): isolate terminal right-click test from persisted layout by @w3lld1 in #703
  • docs: tighten contributor and agent guides by @eugenioenko in #704
  • chore(highlight): bump textmate-go to v0.2.0 by @eugenioenko in #707
  • chore: update vendorHash by @github-actions in #708
  • chore(terminal): switch to the maintained xterm-go fork by @eugenioenko in #709
  • chore: update vendorHash by @github-actions in #710
  • test(perf): add editor benchmarks per language and run them in CI by @eugenioenko in #712
  • test(chaos): report hung iterations instead of stalling the run by @eugenioenko in #719
  • ci: read the Node version from .nvmrc by @eugenioenko in #720
  • Show the Nerd Font pin glyph for pinned editor tabs by @LetMeSleep8h in #727
  • feat(settings): group the settings editor by area with section headings by @SimonOcampo1 in #661
  • docs(settings): point welcome.recentFolders to Settings > General by @O1sumitkumar in #731
  • feat: add gutter bookmarks core and ttt.bookmarks plugin API by @eugenioenko in #462
  • feat(plugin): add ttt.storage for per-plugin persistent state by @eugenioenko in #733
  • feat(bookmarks): add gutter.click event for plugin bookmark toggling by @eugenioenko in #734
  • feat(options): add LSP Hover toggle by @eugenioenko in #736
  • feat(lsp): add LSP: Server Restart command by @eugenioenko in #737
  • docs: add llms.txt for agent discovery by @eugenioenko in #739

Full Changelog: v1.6.0...v1.7.0

Don't miss a new ttt release

NewReleases is sending notifications on new releases.