Sift: un formateador idempotente y LSP para Scheme, Emacs Lisp y Common Lisp
Sift: LSP, Lint, Format Lisp, Scheme and Emacs Lisp
Sift es una herramienta escrita en Guile 3.0 que formatea, analiza y sirve como language server para Scheme, Emacs Lisp y Common Lisp. Preserva comentarios y datos exactamente, es un punto fijo (formatear dos veces no cambia nada) y aplica 92 reglas con códigos estables. Ofrece comandos como check, format, lint, fix y ci, además de un servidor LSP que funciona en Emacs, Neovim y otros clientes. Se instala con Guix o Nix y tiene licencia MIT.
La premisa es la habitual: un programa Lisp es un dato con una sintaxis de lectura, y un formateador que lo trata como tal puede ser exacto y barato al mismo tiempo.
- vegnus
Como alguien que está aprendiendo Scheme por diversión, gracias
- stackghost
¡Qué bien! Me alegra que el tooling de lisp siga avanzando, aunque tener que instalar guile para una sola herramienta probablemente sea un impedimento para los lispers comunes.
¿Cuál es la historia de interoperabilidad con Sly/Slime?
- sargstuff
¡¿Qué?! ¿No hay soporte para el formato BLC[0] PIC[1]? :-) (véase la sección Programs(BLC)[0] para ejemplos de formato.)
-------
[0] : blc : https://esolangs.org/wiki/Binary_lambda_calculus
[1] : PIC : https://en.wikipedia.org/wiki/PIC_(markup_language)