github sinelaw/fresh v0.4.6
fresh-editor 0.4.6

5 hours ago

0.4.6

For live updates on Fresh, follow me on X.

Most options below can be changed in the Settings UI - run Open Settings from the command palette (Ctrl+P).

Features

  • Restart an exited terminal in place - the status bar offers ⟳ Restart terminal (or ⟳ Resume claude) and the process comes back in the same buffer, below the existing scrollback, with a coding agent rejoining its conversation. The tab reads claude (exited) instead of an exit line in the output, and terminal tab names now survive an editor restart.
    • If you have customized your status bar, open Settings → Status Bar and move Terminal Restart from Available to Included (Shift+→) under Left or Right.
  • Tabs for same-named files say which file they are - open two mod.rs and the tabs read model/mod.rs and view/mod.rs instead of mod.rs 1 and mod.rs 2. Each tab grows only as much of its path as it takes to be unique, and tabs whose name is already unique are untouched (#2851, requested by @anddimario).
  • Line-ending indicators - at every line break and for the CR half of a CRLF, both off by default (#2798, requested by @akarinotomoshibi).
  • Scrollbar markers for plugins - editor.setScrollbarMarkers paints marks on the scrollbar track; live-diff hunks and Markdown headings now use it (#2713, requested by @RetributionByRevenue).
  • File Explorer sticky parents - a nested folder's expanded ancestors stay stacked at the top of the sidebar while you scroll (#2705, by @asukaminato0721).
  • More graphics, docs and build-file grammars - GLSL .glslf/.glslv, Wavefront .obj, Doxygen, Windows .rc, pkg-config, .cmake.in and CMakeCache.txt (by @asukaminato0721).
  • Broader LaTeX ecosystem highlighting - TeX packages/classes, generated .aux/.toc, BibLaTeX, ConTeXt, BibTeX and .bst, plus latexmkrc (by @asukaminato0721).
  • The Orchestrator dock's start-up state is configurable - whether it opens on startup, its layout, and the starting state of the all worktrees and show empty checkboxes.
  • Run Agent… and New Workspace are one dialog - a "Launch in" switch picks the current workspace or a new one. Fixes custom… having nowhere to type a command.
  • Plugins are told when settings change - vi-mode's options now apply without an editor restart.
  • Agents drive the editor with TypeScript - fresh --cmd script run evaluates a script against the full plugin API, with script api / script check for discovery.

Bug Fixes

  • Four dead settings - the bracket-matching toggles, file_explorer.respect_gitignore and languages.<id>.textmate_grammar now take effect; editor.highlight_timeout_ms was removed rather than wired up (#2842).
  • Files that are one very long line
    • Viewing one no longer pins a CPU core (#2838, reported by @lovehumans).
    • Highlighting survives past the first wrapped rows, and the wheel no longer snaps to a 100 KB boundary (#2843).
    • Typing and cursor movement no longer slow down as the cursor moves right.
  • Scrolling
    • PageUp/PageDown no longer stall crossing a collapsed fold - a page of scroll budget was spent stepping through the fold's hidden lines; a fold now costs one row, like its header.
    • A residual cursor stall moving through revealed Markdown syntax is fixed (#1574).
  • Heavy background work can no longer freeze the editor - grep-in-project, closing a terminal, and other plugin- or buffer-triggered work now run off the UI thread under a per-frame budget instead of blocking rendering for seconds.
  • Dashboard
    • A misbehaving section can no longer break the panel or hang the dock - overflow, errors and slow sections are now contained and refresh independently, showing "stale" instead of freezing or blanking.
  • fresh --cmd from an agent terminal no longer hangs forever - the command channel wasn't drained in every host, so cmd list/cmd run calls could block indefinitely; a stuck request now times out with a diagnosable error instead (#2837).
  • Settings → Status Bar picker's cursor is now visible, and clicking a row works - arrows previously moved an invisible selection with no indication of which list (Available/Included) had the keyboard.
  • Terminal
    • A new terminal no longer inherits another's scrollback, and a restored one comes back live rather than frozen (#2828).
    • Scroll-back re-wraps when the pane resizes - splitting, maximizing or dropping a tab left every line clipped (#2844).
    • Modified keys reach the program inside - Ctrl+Shift+Right, Shift+Home, Shift+F3 and Alt+Backspace arrived stripped.
    • Scrollback keeps streaming after the grid history saturates.
  • Input
    • One keypress no longer acts twice with keyboard_report_event_types on (#2796, reported by @akarinotomoshibi).
    • Horizontal wheel events no longer scroll vertically (#2831, reported by @mruff-aeq, by @ttenneb).
    • A split mouse report no longer leaks into a focused terminal as literal ^[[M… (#2793, reported by @mruff-aeq).
    • Escape works in fresh -a instead of swallowing the next keypress (#2810).
  • Daemon mode restores workspaces - fresh -a opened [No Name] for every one; a detached daemon also survives its launching terminal closing (#2808, #2811).
  • Orchestrator & dock
    • Settings opens over the dock - centred and dimming it, instead of squeezed into the columns beside it (#2820).
    • Searching the dock and opening a match keeps the search.
    • A workspace switch no longer paints two workspaces into one frame.
    • "Move to Folder…" is usable with the mouse.
    • Tidier workspace cards - two rows instead of three.
    • A remote workspace's buffers load off the editor loop.
  • Opening a C# file can no longer run project code - dotnet restore is now gated behind Workspace Trust (#2063, reported by @z3moo).
  • git-gutter works with an external difftool - it now forces git's own diff format (#2721, by @asukaminato0721).
  • No blank frame at the horizontal scroll bound (by @ttenneb).
  • Modal dialogs are no longer clipped, and worktree trust isn't re-asked.

Internals

  • Continued the viewport/wrap-index rebuild (a single coordinate system that now also models folds and decorations) and moved plugin-triggered work off the editor thread under a frame budget, plus further flaky-e2e-test stabilization across the review-diff line-staging, scrolling, vi-mode and orchestrator-dock suites.

Don't miss a new fresh release

NewReleases is sending notifications on new releases.