Skip to content

Releases: fguisso/sfer.nvim

sfer.nvim v1.2 — Better Sidebar UX and Quickfix Navigation

20 Feb 05:26
73bc01b

Choose a tag to compare

v1.2 focuses on internal workflow and rendering improvements for SARIF triage.

Technical Changes

  • Added module entrypoint support for require("sfer").setup() via root module initialization.
  • Refactored SARIF discovery/loading flow:
    • Shared SARIF file lookup path
    • Shared rule-map loading path
    • Added :SarifQuickfix command for direct quickfix population
  • Adjusted startup behavior:
    • Auto-open now runs only for directory-based startup flow
    • Manual command path remains available (:SarifSidebar)
  • Implemented quickfix export pipeline:
    • Exports full flow steps when available
    • Fallback to base location when no flow exists
    • Scope-aware export from sidebar selection (all / rule / alert)
  • Added target-buffer highlighting for quickfix navigation:
    • Highlights current quickfix location in source buffer (not only in quickfix window)
    • Tracks movement through quickfix updates
  • Reworked sidebar rendering model:
    • Rule-level fold state
    • Alert-level fold state with collapsed-by-default message blocks
    • Alert entries show file/line and path count; message is toggleable
  • Upgraded sidebar UI layer:
    • Structured header with metadata (file, path, rule/alert totals, controls)
    • Divider-based visual sections
    • Theme-linked highlight groups for header, descriptions, messages, and counters
  • Improved SARIF parser path resolution:
    • Handles file:// URIs
    • Resolves originalUriBaseIds / uriBaseId
    • Normalizes relative artifact paths against SARIF file directory
  • Updated documentation to reflect:
    • New commands/controls
    • New interaction model (l for expand/collapse, c for quickfix export)