github sinelaw/fresh v0.3.2
fresh-editor 0.3.2

5 hours ago

0.3.2

Features

  • Live Diff plugin (experimental): Unified-diff overlay rendered live in the editable buffer. If your file is unmodified in the editor, it updates as the file changes on disk when auto-revert kicks in - great for watching an agent edit your file. Opt-in via Live Diff: Toggle (Global) / Live Diff: Toggle (Buffer). Reference selectable per buffer: vs HEAD / vs Disk / vs Branch... / vs Default Branch.

  • New Startup section in Settings (open Settings and search "Startup") groups everything that fires on launch:

    • Blank-workspace flow (#1753) — Auto Create Empty Buffer On Last Buffer Close (Editor) and Auto Open On Last Buffer Close (File Explorer). With both off, closing the last buffer leaves a truly blank pane (no [No Name], no gutter, no ~); buffer-specific status-bar items and menu entries are suppressed, and a subdued centered hint shows the keys to escape (Ctrl+P / Ctrl+O / Ctrl+E).
    • Skip Session Restore When Files Passedfresh src/main.rs opens just that file; bare fresh and fresh some/dir still restore. Hot-exit recovery still runs. --restore overrides.
    • Restore Previous Session (existing, moved into Startup).
  • File explorer side (thanks @paveloparev!): Side under File Explorer in Settings — left or right.

  • Prompt Line now hidden by default: Show Prompt Line now defaults off — the prompt line only appears while a prompt is active. Turn it back on via Settings.

  • Mark mode preserved through Go to Line so you can extend selections across the jump. Use Set Mark command followed by Goto Line to start a selection and extend it to the target line.

  • Copy File Path commands: New commands: "Copy File Path" and "Copy Relative File Path" to copy current buffer's path to your clipboard. Also available by right-clicking on a tab name.

  • CLI Help Localization: The --help output is now fully localized using runtime i18n lookups.

  • Relative +/- Goto Line: Infers absolute vs relative jumps from a leading sign (e.g., :+10 jumps 10 lines down, :10 jumps to line 10).

  • Rust Toolchain Update: Updated to Rust 1.95 in rust-toolchain.toml to fix compatibility issues with newer LLVM/clang versions on systems like Arch Linux (#1782).

Improvements

  • Plugin loading deferred off the boot critical path — another ~225 ms saved. Same load order, same hooks, just async.

  • Popup focus: LSP popups that auto-show on file open (status popup, hover, signature help, plugin Text overlays) no longer steal the next keystroke. They show unfocused with an [Alt+T to focus] hint; user-invoked popups (Completion, code actions, status-bar {remote}, LSP-status menu) still grab focus on show. Settings / Menu / Prompt modals take precedence over unfocused buffer popups for Esc / popup_focus.

  • Status Bar visual integration (#1711): The "Palette: Ctrl+P" hint and "LSP (on)" indicator now blend into the status bar by default. Built-in themes have been updated with coherent prominent colors for these indicators.

  • Prompt interaction and scrolling (#1660):

    • Minimal scrolling: the suggestion list no longer recenters the selection on every move, preventing "row jumping" during navigation.
    • Clicks no longer cause accidental list shifts; double-click correctly confirms selections.
    • Preview-on-click supported for "Reload with encoding".
  • Global Menu Bar: "Toggle Menu Bar" state is now persisted globally across all workspaces.

  • Windows integration: High-quality app icon applied to the running window; app manifest and version info embedded in the binary.

Bug Fixes

  • Windows subprocesses: Transient console windows are now hidden when spawning subprocesses (e.g., formatters, linters).

  • Terminal CWD: Fixed shell spawning failure on Windows when the current directory has a \\?\ UNC prefix.

  • Live Diff stability: Fixed crashes on surrogate-pair content (emojis) and corrected gutter rendering for empty lines inside added blocks.

Under the Hood

  • Syntax Highlight Caching: New multi-phase caching system (memoised scope lookups and whole-file cache for small files) significantly reduces CPU usage during rendering.

Don't miss a new fresh release

NewReleases is sending notifications on new releases.