Skip to content

Releases: coq/vscoq

v2.2.3

15 Jan 16:04
v2.2.3
34ead82
Compare
Choose a tag to compare

What's Changed

This is a release that contains a hot-fix for the vscoq-version-parser which allows us to use several lsp versions.
The aforementioned bug means we could not release 2.2.2. This version supersedes it.

The hotfix in question:

  • version_parser: tolerate + in version numbers and never fail by @gares in #982

A fix was also added for finding vscoqtop path in windows.

New Contributors

Full Changelog: v2.2.2...v2.2.3

v2.2.2

14 Jan 13:23
v2.2.2
c1736f4
Compare
Choose a tag to compare

What's Changed

Important information

Due to a unforeseen problem when running the opam CI, we could not release 2.2.2, we immediately released 2.2.3 with a hotfix.

Added

Jump to definition

We have introduced jump to definition capabilities. Note this required some changes in Rocq/Coq (coq/coq#19584) so it will only be available on Coq dev and in the next version
of Rocq/Coq.

jump_to_def

  • feat: jump to definition proof of concept by @rtetley in #911

Better goal display readibility

When there are multiple goals in list mode, we now only display the goal context for the first goal.
We also add a button allowing to hide/show the goal context.

hyp_display

  • Remove hypothesis display from goal list by @rtetley in #962

External API

This release introduces an external API, allowing developers to depend on VsCoq with their own vscode extension and gain access to this API.
Here we introduce a function which allows for an external extension to get all the proofs contained in a document.

    vscoq = extensions.getExtension('maximedenes.vscoq');
    const documentProofs = await vscoq?.exports.getDocumentProofs(document.uri);

You can expect to see more API points being added in the future.

Organisation change

VsCoq is now part of the Rocq/Coq. VsCoq Legacy will stay part of coq-community.

Documentation

  • docs: add troubleshooting section to install instructions by @rtetley in #922
  • Update developers.md with more info, allowing to use vscoq2 during de… by @mattam82 in #916

Fixed

Better cursor placement on error

In manual mode, if block on first error mode is activated, the cursor will be placed right after the error range, instead of the last
correct sentence.

error_range

  • Place the cursor at the end of the error when block on error mode is active by @rtetley in #963

Better _CoqProject support

Before this change the _CoqProject file was only searched on launch, and we could not load it after.
Note that this required some changes in Coq/Rocq (coq/coq#19826) and will only be supported
with Coq/Rocq dev and the next version of Coq/Rocq.

Better handling of events loop and parsing

As was noted, there have been some performance issues while editing Rocq/Coq files (#914).
This was due to the design of the parsing event, which was triggered everytime a modification was detected on a file, and for the full file
(i.e. each time a user typed something, a full parse of the document was launched).
Now each line has its independant parse event allowing us to cancel prior events and only parse the most recent version of the document.

Some fixes to syntax highighting

  • syntax: Add boundary conditions when matching keywords by @Lysxia in #927
  • syntax: Highlight Goal in any context by @Lysxia in #935

Better error logging

Misc fixes

New Contributors

Full Changelog: v2.2.1...v2.2.2

v2.2.1

23 Sep 08:33
v2.2.1
f13ff1a
Compare
Choose a tag to compare

What's Changed

Added

Better pretty printing library

The library we built to pretty print terms has been considerably improved. Drawing from Oppen's algorithm we are now much faster at displaying goals
better_pp

  • feat: optimize pp-display for a better and faster goal view and query panel by @rtetley in #900

This lays for the groundwork for further optimisations.

New options

Two new options have been introduced thanks to @Durbatuluk1701:

  • vscoq.proof.display-buttons provides a way to disable the proof navigation and general buttons from the buffer
    image
    feat: add config option to control whether Coq buttons are displayed by @Durbatuluk1701 in #904
  • vscoq.proof.pointInterpretationMode determines the behaviour of the interpret to mode command, does it consider the sentence under the cursor or not ?
    "vscoq.proof.pointInterpretationMode" === Cursor
    interpret_mode_cursor
    "vscoq.proof.pointInterpretationMode" === NextCommand
    interpret_mode_next_command
    feat: adding option for interpreting to exact cursor position or next command during interpret to point by @Durbatuluk1701 in #875

Prompt queries

The query actions now open a prompt window, if the cursor is pointing at a word, it pre-fills the prompt with the given word.

prompt_queries

  • feat: query actions are now done with prompts by @rtetley in #902

Show unfocused goals

Finally this release introduces the ability to view unfocused goals.

unfocused_goals

  • feat: show message when goals are unfocused by @rtetley in #901

Fixed

Better hover

A number of fixes were introduced for hovers. We now differentiate between modules and their components. We also can over hover words containing '

fixed_hover

Activity bar logo display

Finally, the VsCoq activity bar now only appears when there are coq files present in the workspace

  • fix: make VsCoq activity bar logo appear only when Coq files present by @Durbatuluk1701 in #897

Goal view fixes

Note that the previously introduced improvements to pretty printing also solved a number of printing bugs such as printing inductive types.

fix_pp_display

Misc

New contributors

No new contributors for this release.

Full Changelog: v2.2.0...v2.2.1

v2.2.0

06 Sep 14:39
v2.2.0
6cc4d1d
Compare
Choose a tag to compare

What's Changed

Added

Query Panel results formatting

After externalising our lib to display PpStrings, we now support formatting in the query panel as well as in the goal panel.
Look forward to more improvements for the display of PpStrings soon

New buttons and a menu

We have added the coq commands (in manual mode) as buttons accessible on top of the buffer.
On top of that we have added a main menu to access trouble shooting commands and documentation. This can be a building block for other neat features.
vscoq_menus

A walkthrough

To improve the onboarding experience, we have added a walkthrough that is available at all times through the Coq: Docs: Show Setup Guide command as well as through the main menu described earlier
vscoq-main-menu

Opt out of auto displaying goals

Finally, users can now opt out of the auto display of goals when running through a proof. The proof view is then accessible through the Coq: Display Proof View command, or the corresponding button in the new coq buttons row described earlier.
auto-display-disable

  • feat: Disable the auto display for the proof view by @rtetley in #887

Bug fixes

Thanks to @Durbatuluk1701 for fixing a bug in which feedback messages were displayed the wrong way around.

Misc

A formatter was added for the typscript code and the documentation and changelog were updated. The changelog of the extension now points to this page.

New Contributors

Full Changelog: v2.1.7...v2.2.0

v2.1.7

06 Aug 13:21
v2.1.7
0b17857
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.1.6...v2.1.7

v2.1.6

19 Jul 14:58
v2.1.6
3f8f364
Compare
Choose a tag to compare
v2.1.6 Pre-release
Pre-release

What's Changed

Full Changelog: v2.1.5...v2.1.6

v2.1.5

15 Jul 11:15
v2.1.5
108ffbe
Compare
Choose a tag to compare
v2.1.5 Pre-release
Pre-release

What's Changed

Full Changelog: v2.1.4...v2.1.5

v2.1.4

04 Jul 05:26
v2.1.4
93d07e6
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.1.3...v2.1.4

v2.1.3

14 Jun 13:17
v2.1.3
8cdb3e6
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.1.2...v2.1.3

v2.1.2

21 Feb 08:13
v2.1.2
e28d8d1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.1.1+coq8.19...v2.1.2