microsoft/language-server-protocol

Support proof assistants

开放

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

 (9 条评论) (6 个反应) (0 位负责人)HTML (956 个派生)batch import
feature-requesthelp wantednew request

仓库指标

星标
 (12,810 个星标)
PR 合并指标
 (PR 指标待抓取)

描述

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.

贡献者指南