Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[compiler] Flèche-based command line compiler. #507

Merged
merged 1 commit into from
Jul 3, 2023
Merged

Conversation

ejgallego
Copy link
Owner

@ejgallego ejgallego commented Jun 20, 2023

We expose Flèche compilation capabilities to the command line, avoiding the need to use LSP for batch compiling.

The fcc Flèche Coq Compiler shares many of the features of the Flèche-based LSP server, in particular, advanced error recovery, markdown support, _CoqProject detection, caching (which is not yet very exploited), and the possibility to access all metadata Flèche knows about.

This PR is for now just a base to experiment, however it should work fine for most files.

Fixes #472

TODO:

  • basic output interface
  • output of the diagnostics and trace? (to a file?)
  • "coqc" alike command line options? Refactor argumets with coq-lsp
  • Options for error recovery mode?
  • better tests + CI hooks
  • Fix tests w.r.t. timing information
  • Documentation
  • Changes
  • fcc name is not so good

TODO for further PRs:

  • TUI interface
  • Sharing / cache mode

@ejgallego ejgallego added this to the 0.1.7 milestone Jun 20, 2023
ejgallego added a commit that referenced this pull request Jun 26, 2023
This ensures that Flèche knows nothing about LSP, which is required
for #507 and also for the next commit that will move the `Doc_manager`
to Flèche (where it belongs)
@ejgallego ejgallego force-pushed the compiler branch 4 times, most recently from aef8412 to 3e8c217 Compare June 28, 2023 14:58
@ejgallego ejgallego force-pushed the compiler branch 5 times, most recently from f655142 to 78e6f5d Compare June 29, 2023 14:35
@ejgallego ejgallego marked this pull request as ready for review June 29, 2023 14:50
@ejgallego ejgallego force-pushed the compiler branch 3 times, most recently from d4df7f3 to 4cfade1 Compare June 29, 2023 15:29
We expose Flèche compilation capabilities to the command line,
avoiding the need to use LSP for batch compiling.

The `fcc` Flèche Coq Compiler shares many of the features of the
Flèche-based LSP server, in particular, advanced error recovery,
markdown support, _CoqProject detection, caching (which is not yet
very exploited), and the possibility to access all metadata Flèche
knows about.

This PR is for now just a base to experiment, however it should work
fine for most files and use cases.
@ejgallego ejgallego merged commit ecb728e into main Jul 3, 2023
10 of 11 checks passed
@ejgallego ejgallego deleted the compiler branch July 3, 2023 13:57
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Jul 7, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Jul 7, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Jul 7, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Jul 7, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Jul 7, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Jul 7, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Jul 7, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Jul 7, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Sep 14, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Sep 16, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
ejgallego added a commit to ejgallego/opam-repository that referenced this pull request Sep 17, 2023
CHANGES:

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

 - New command line compiler `fcc`. `fcc` allows to access most
   features of `coq-lsp` without the need for a command line client,
   and it has been designed to be extensible and machine-friendly
   (@ejgallego, ejgallego/coq-lsp#507, fixes ejgallego/coq-lsp#472)
 - Enable web extension support. For now this will not try to start
   the coq-lsp worker as it is not yet built. (@ejgallego, ejgallego/coq-lsp#430, fixes
   ejgallego/coq-lsp#234)
 - Improvements and clenaups on hover display, in particular we don't
   print repeated `Notation` strings (@ejgallego, ejgallego/coq-lsp#422)
 - Don't fail on missing serlib plugins, they are indeed an
   optimization; this mostly impacts 8.16 by lowering the SerAPI
   requirements (@ejgallego, ejgallego/coq-lsp#421)
 - Fix bug that prevented "Goal after tactic" from working properly
   (@ejgallego, ejgallego/coq-lsp#438, reported by David Ilcinkas)
 - Fix "Error message browser becomes non-visible when there are many
   goals" by using a fixed-position separated error display (@TDiazT,
   ejgallego/coq-lsp#445, fixes ejgallego/coq-lsp#441)
 - Message about workspace detection was printing the wrong file,
   (@ejgallego, ejgallego/coq-lsp#444, reported by Alex Sanchez-Stern)
 - Display the list of pending obligations in info panel (@ejgallego,
   ejgallego/coq-lsp#262)
 - Preliminary support to display document performance data in panel
   (@ejgallego, ejgallego/coq-lsp#181)
 - Fix cases when workspace / root URIs are `null`, as per LSP spec,
   (ejgallego/coq-lsp#453 , reported by orilahav, fixes ejgallego/coq-lsp#283)
 - Pass implicit argument information to hover printer (@ejgallego, ejgallego/coq-lsp#453,
   fixes ejgallego/coq-lsp#448)
 - Fix keybinding for the "Show Goals at Point" command (@4ever2, ejgallego/coq-lsp#460)
 - Alert when `rootPath` is relative (ejgallego/coq-lsp#465, @ejgallego, report by Alex
   Sanchez-Stern)
 - Hook coq-lsp to ViZX extension (@bhaktishh, ejgallego/coq-lsp#469)
 - `proof/goals` request now takes an optional formatting parameter
   so clients can specify it per-request (@ejgallego, @bhaktishh, ejgallego/coq-lsp#470)
 - New command line argument `--idle-delay=$secs` that controls how
   much an idle server will sleep before going back to request
   processing. Default setting is `0.1`, using more aggressive
   settings like `0.01` can decrease latency of requests by ~4x
   (@ejgallego, @HazardousPeach, ejgallego/coq-lsp#467, ejgallego/coq-lsp#471)
 - Warnings from `_CoqProject` files are now applied (@ejgallego,
   reported by @arthuraa, ejgallego/coq-lsp#500)
 - Be more resilient when serializing unknowns Asts (@ejgallego, ejgallego/coq-lsp#503,
   reported by Gijs Pennings)
 - Coq's STM is not linked anymore to `coq-lsp` (@ejgallego, ejgallego/coq-lsp#511)
 - More granular options `send_perf_data` `send_diags`, `verbosity`
   will set them now (@ejgallego, ejgallego/coq-lsp#517)
 - Preliminary plugin API for completion events (@ejgallego, ejgallego/coq-lsp#518,
   fixes ejgallego/coq-lsp#506)
 - Limit the number of messages displayed in the goal window to 101,
   as to workaround slow render of Coq's pretty printing format. This
   is an issue for example in Search where we can get thousand of
   results. We also speed up the rendering a bit by not hashing twice,
   and fix a parameter-passing bug. (@ejgallego, ejgallego/coq-lsp#523, reported by
   Anton Podkopaev)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[meta] Standalone compiler
1 participant