(macros)
Code

Diagnostics

Macros surfaces LSP diagnostics two ways: a gutter dot beside each affected line, and a flycheck/flymake-style *diagnostics* list you can walk. Both are built on the (diagnostics) primitive, which records each problem as line · column · severity · message.

Gutter dots

Lines carrying a diagnostic get a colored dot next to the line number — red for errors, orange for warnings, blue for info/hints. When a line has several, the worst severity wins. On by default; disable with:

(set-option "diagnostics-gutter" #f)

The diagnostics list

Key Command Action
C-c e list-diagnostics Open the *diagnostics* list
Enter diag-visit Jump to the source line
n / p Move within the list
q kill-buffer Close

next-error / previous-error

Key Command
M-g n next-error
M-g p previous-error

These walk the most recently used error source — Macros unifies error navigation across diagnostics, compilation, and grep, exactly like Emacs. Whichever list you last opened (list-diagnostics, compile, or a grep) claims next-error, so the same two keys step through whatever you're currently working on.

Customizing

Toggle the gutter dots, or rebind the navigation keys, from your init.scm:

(set-option "diagnostics-gutter" #t)               ; #f hides the gutter dots

(define-key "fundamental" "ctrl-c e" 'list-diagnostics)
(define-key "fundamental" "alt-g n" 'next-error)
(define-key "fundamental" "alt-g p" 'previous-error)