Lispの整形・lint・LSPを1つにまとめたsift、92のルールで3方言を扱う
Sift: LSP, Lint, Format Lisp, Scheme and Emacs Lisp
siftはScheme、Emacs Lisp、Common Lispの3方言に対応するフォーマッタ、リンタ、言語サーバを1つの実行ファイルにまとめたツール。Lispをソース位置付きのフォーム木として読み、整形後もコメントや#;データコメントをバイト単位で保持する。92のルールはそれぞれ名前・コード・根拠を持ち、sift explainでプログラムから直接読み出せる。LSPはEglotやNeovimなど任意のクライアントに同じ診断と修正を届ける。
Lossless rewriting is the whole of the argument, and the rest follows from it: a diff whose hunks are the change, a fix that replaces one range, a rule that can be silenced without editing the code it objects to.
- vegnus
Schemeを趣味で学んでいる者として、ありがとう
- stackghost
いいね!Lispのツールが進歩しているのは嬉しいけど、たった1つのツールのためにguileをインストールしないといけないのは、一般的なLisperにとってはおそらく敷居が高いだろうね。
Sly/Slimeとの相互運用はどうなってるの?
- sargstuff
何だって!?BLC[0] PIC[1]のフォーマットがサポートされてないのか?:-)(フォーマット例はPrograms(BLC)セクション[0]を見てくれ。)
-------
[0] : blc : https://esolangs.org/wiki/Binary_lambda_calculus
[1] : PIC : https://en.wikipedia.org/wiki/PIC_(markup_language)