microsoft/language-server-protocol

Support proof assistants

Open

#1,414 创建于 2022年2月24日

在 GitHub 查看
 (9 评论) (6 反应) (0 负责人)HTML (12,810 star) (956 fork)batch import
feature-requesthelp wantednew request

描述

Coq implements a custom XML protocol described here to step through proofs, and update the goal and window at each step. Unfortunately, this has the consequence that many of the nice features that are otherwise available to languages going the LSP route are unavailable to Coq. The consumers of this protocol are CoqIDE, VSCoq, and Proof General.

Other proof assistants such as Isabelle/HOL have poor VSCode support and roll their own IDEs. Lean and Agda, in particular, do not suffer from this issue, because it is not a traditional "interactive proof assistant", whence one steps through proofs. In its VSCode extension for Lean, it automatically evaluates the entire buffer and stops at the first error. F* did suffer from this issue, and I happen to be the primary author of its LSP server: the work was stalled because there was no way to step through proofs via LSP.

This is a stark deficiency of the Language Server Protocol, and I feel that we can do better.

贡献者指南

Support proof assistants · microsoft/language-server-protocol#1414 | Good First Issue