Sift bringt Formatierung, Linting und LSP für drei Lisp-Dialekte in ein einziges Werkzeug
Sift: LSP, Lint, Format Lisp, Scheme and Emacs Lisp
Sift ist ein Formatierer, Linter und Language Server für Scheme, Emacs Lisp und Common Lisp, geschrieben in Guile 3.0. Es formatiert verlustfrei und idempotent, bietet 92 Regeln mit fester Fehlercode-Kennung und liefert Ergebnisse als Text, JSON oder SARIF. Ein Befehl `sift lsp` versorgt Editoren wie Emacs, Neovim und andere LSP-Clients mit Diagnosen, Quickfixes und Formatierung. Installation via Guix oder Nix, MIT-Lizenz.
Verlustfreies Umschreiben ist das ganze Argument, und der Rest folgt daraus: ein Diff, dessen Hunks die Änderung sind, ein Fix, der genau einen Bereich ersetzt, eine Regel, die stummgeschaltet werden kann, ohne den Code zu bearbeiten, den sie beanstandet.
- vegnus
Als jemand, der aus Spaß Scheme lernt: danke
- stackghost
Nett! Ich freue mich, dass sich die Lisp-Tooling-Landschaft weiterentwickelt, aber für einen einzigen Tool guile installieren zu müssen, ist für die meisten Lisp-Nutzer wahrscheinlich ein Ausschlusskriterium.
Wie sieht die Interop-Story mit Sly/Slime aus?
- sargstuff
Was!?! Keine Unterstützung für BLC[0] PIC[1]-Formatierung? :-) (siehe Abschnitt Programme(BLC)[0] für Formatbeispiele.)
-------
[0] : blc : https://esolangs.org/wiki/Binary_lambda_calculus
[1] : PIC : https://en.wikipedia.org/wiki/PIC_(markup_language)