Skip to content

Conversation

ejgallego
Copy link
Contributor

Language Server Protocol native server for Coq

CHANGES:

@jmid
Copy link
Member

jmid commented Sep 18, 2025

The 32-bit issue and suggestion from #28532 also applies here.
In addition to similar CI errors, I also see Killed during 4.12 and 4.13 compiling rocq-stdlib.9.0.0.
Is that an out-of-memory reaction from a resource constrained CI worker?

@ejgallego
Copy link
Contributor Author

Is that an out-of-memory reaction from a resource constrained CI worker?

It could be, or maybe a timeout. rocq-stdlib is quite heavy, but not too crazily heavy.

CHANGES:

------------------------------

 - [js] [deps] Bump to findlib 1.9.8, use vanilla API for loading and
   remove our own local wrapper (@ejgallego, ejgallego/coq-lsp#975).
 - [petanque] New `petanque/ast` and `petanque/ast_at_pos`
   (@ejgallego, @JulesViennotFranca, ejgallego/coq-lsp#980)
 - [serlib] Support for generic Ast analyzers. This opens the door to
   many feature requests such as syntax coloring, dependency
   extraction, etc... (@ejgallego, @JulesViennotFranca, ejgallego/coq-lsp#981)
 - [fleche] Support "rocq" markdown delimiters in .mv files
   (@ejgallego, ejgallego/coq-lsp#987)
 - [workspace] Support _RocqProject (@ejgallego, ejgallego/coq-lsp#988, fixes ejgallego/coq-lsp#934)
 - [lsp] [getDocument] Allow to get goals in one shot. We also
   refactor the response type to accommodate different
   meta-data. Note: (!) breaking change. (@ejgallego, ejgallego/coq-lsp#985, fixes
   ejgallego/coq-lsp#862, thanks to the Alectryon team)
 - [lsp] Better error handling in URI parsing (@ejgallego, ejgallego/coq-lsp#994, thanks to
   Adrien from Zulip)
 - [lsp] Better protocol-level handling for our non-standard `Lang.Point`
   and `Lang.Diagnostic` types, via global flags that allow us to
   choose the input/output representation for non-standard field such
   as [Point.offset]. This ensures that leaks of these non-standard
   fields are rarer. (@ejgallego, ejgallego/coq-lsp#995, cc ejgallego/coq-lsp#279, cc ejgallego/coq-lsp#2, thanks to
   Adrien from Zulip)
 - [lsp] [completion] Rework completion configuration into a
   `coq-lsp.completion` json object. The `unicode_completion` setting
   is now deprecated, and has been replaced by
   `completion.unicode.enable` (@ejgallego, ejgallego/coq-lsp#993)
 - [lsp] [completion] [vscode] Unicode completion commit characters
   are now configurable via the server setting variable
   `completion.unicode.commit_chars`. (@Durbatuluk1701, ejgallego/coq-lsp#993)
 - [goals] [config] New (global) option for goal display method
   `proof/goals`: `messages_follow_goal`. If `true`, `proof/goals`
   will show errors and messages for the same sentence goals are
   shown; if `false`, it will always show errors and messages for the
   specified `position`, if there is a Rocq sentence at hand
   (@jpoiret, @ejgallego, ejgallego/coq-lsp#999, fixes: ejgallego/coq-lsp#941)
 - [coq] Install full state before parsing. Before we did only
   `Pcoq.unfreeze` but that is not enough, in particular the call to
   `get_default_proof_mode` will not be correct (@ejgallego, @pimotte,
   ejgallego/coq-lsp#1011, fixes ejgallego/coq-lsp#656)
 - [misc] Don't depend on Jane Street's base (@patrick-nicodemus
   @ejgallego, ejgallego/coq-lsp#1004)
 - [wasm worker] Add WebAssembly based worker based on waCoq. This is
   now the default for the .vsix binary build. For now, we include
   Rocq's Stdlib and Waterproof (@corwin-of-amber, @ejgallego,
   @pimotte, ejgallego/coq-lsp#1008, cc ejgallego/coq-lsp#833, fixes ejgallego/coq-lsp#907, fixes ejgallego/coq-lsp#908, fixes ejgallego/coq-lsp#913)
 - [opam] Added `x-maintenance-intent` intent field. (@ejgallego,
   ejgallego/coq-lsp#1020)
 - [lsp] [didOpen] `languageId` now takes priority over uri extension
   in LSP `didOpen`. (@ejgallego, ejgallego/coq-lsp#1021, fixes ejgallego/coq-lsp#1005)
 - [coq] incorporate experimental `coq-layout-engine` printer, both in
   client and server parts (@ejgallego, ejgallego/coq-lsp#668, see also ejgallego/coq-lsp#72 and
   jscoq/jscoq#282 )
 - [lsp] [code] New notification `$/coq/executionInformation` which
   will signal clients when rocq-lsp does intent to start to execute a
   sentence. Experimentally, this is used to provide a red glow on
   long-running commands in coq-lsp/VSCode, to provide better user
   feedback on long-running commands (@ejgallego, suggested by
   @jpoiret, ejgallego/coq-lsp#1002)
 - [lsp] [outline] Support `Notation`, `Ltac` and `Ltac Notation` in
   outline entries (@ejgallego, ejgallego/coq-lsp#1025, fixes ejgallego/coq-lsp#632)
@ejgallego ejgallego force-pushed the release-coq-lsp-0.2.4+9.0 branch from 50f08b7 to 4e7e7cd Compare September 19, 2025 17:24
@ejgallego
Copy link
Contributor Author

CI looks fine, still some conf-gmp failures, but seem unrelated.

@mseri
Copy link
Member

mseri commented Sep 19, 2025

Looks good, thanks

@mseri mseri merged commit 80e086f into ocaml:master Sep 19, 2025
2 of 3 checks passed
@ejgallego
Copy link
Contributor Author

Thanks a lot folks!

@ejgallego ejgallego deleted the release-coq-lsp-0.2.4+9.0 branch September 19, 2025 19:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment