Sift brings one formatter, linter and language server to Scheme, Emacs Lisp and Common Lisp
Sift: LSP, Lint, Format Lisp, Scheme and Emacs Lisp
Sift is a Guile 3.0 tool that reads Lisp source as a tree of forms and rewrites only whitespace, guaranteeing byte-exact preservation of comments and idempotent formatting. It handles Scheme, Emacs Lisp and Common Lisp by each dialect's own rules, ships 92 documented lint rules with single-range fixes, and doubles as an LSP server for Emacs, Neovim and other clients. It installs via Guix or Nix and is MIT licensed.
A square bracket is a vector in one of them and a clause in the next, and sift does not average the two.
- vegnus
As someone learning Scheme for fun, thank you
- stackghost
Neat! I’m glad lisp tooling is moving along, though having to install guile for a single tool is probably a nonstarter for common lispers.
What’s the interop story with Sly/Slime?
- sargstuff
What!?! No support for BLC[0] PIC[1] formatting? :-) (see Programs(BLC) section[0] for format examples.)
-------
[0] : blc : https://esolangs.org/wiki/Binary_lambda_calculus
[1] : PIC : https://en.wikipedia.org/wiki/PIC_(markup_language)