You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+11Lines changed: 11 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,16 @@
1
1
# Changelog
2
2
3
+
## 2.2.6
4
+
5
+
### Public changes
6
+
7
+
- Allow manually modifying the location of the `coq-lsp` executable in the settings. This is useful when the `coq-lsp` executable is not in the PATH. Alongside, correctly handle the case when the `coq-lsp` executable is not found.
8
+
- Improve proof extraction from the LLM services for proofs, containing `Proof using X Y Z.` and similar constructs. Improve the handling of the obfuscatedly generated proofs by small language models, such as `LLaMA` through `LMStudio`.
9
+
- Add a hotkey for solving admits inside selection: `ctrl+shift+[BracketRight]` on Windows and Linux, `shift+cmd+[BracketRight]` on MacOS.
10
+
11
+
### Internal changes
12
+
- Update private headers, sent to JetBrains-AI services, to identify the client as CoqPilot.
13
+
3
14
## 2.2.5
4
15
5
16
- Contribute the new benchmarking report for 300 theorems.
@@ -62,16 +62,18 @@ As soon as at least one valid proof is found, it is substituted in the editor an
62
62
63
63
## Installation
64
64
65
-
### Coq-lsp installation
65
+
### Coq-LSP installation
66
66
67
-
To make the extension running you will have to install `coq-lsp` server. You can install it using opam:
67
+
To run the extension, you must install a `coq-lsp` server. Depending on the system used in your project, you should install it using `opam` or `nix`. A well-configured `nix` project should have the `coq-lsp` server installed as a dependency. To install `coq-lsp` using `opam`, you can use the following commands:
68
68
```bash
69
69
opam pin add coq-lsp 0.1.8+8.19.0
70
70
opam install coq-lsp
71
71
```
72
72
For more information on how to install `coq-lsp` please refer to [coq-lsp](https://github.com/ejgallego/coq-lsp).
73
73
74
-
With coq-lsp, extension should have everything it needs to run.
74
+
Either way around, if the [coq-lsp](https://github.com/ejgallego/coq-lsp) extension works well and you can see the goals and theorems in the VSCode, then `CoqPilot` should work as well. However, using [coq-lsp](https://github.com/ejgallego/coq-lsp) as a plugin for Coq support is not mandatory for `CoqPilot` to work.
75
+
76
+
If your installation of `coq-lsp` is not in the default path, you can specify the path to the `coq-lsp` server in the settings using the `coqpilot.coqLspServerPath` setting. Default value should work well for most of the cases.
75
77
76
78
### Building locally
77
79
@@ -93,7 +95,7 @@ npm install
93
95
npm run compile
94
96
```
95
97
96
-
To run the extension from the vscode, you can press `F5` or click on `Run extension` in the `Run and Debug` section. It will open a new window with the extension running.
98
+
To run the extension from the VSCode, you can press `F5` or click on `Run extension` in the `Run and Debug` section. It will open a new window with the extension running.
97
99
98
100
To run all tests properly (i.e. with rebuilding the resources and the code first), execute the following task:
99
101
```bash
@@ -111,20 +113,21 @@ The extension's architecture overview is stored in the [ARCHITECTURE.md](https:/
111
113
CoqPilot generates aux files with `_cp_aux.v` suffix. Sometimes when generation fails with exception, it is possible that such file will not be deleted. When a project is open, extension shall show a window that asks if you want to add such files to the local project gitignore.
112
114
113
115
Moreover, this repository contains a script for your convenience that adds the format of such files to the global gitignore file on your system.
114
-
- Copy the [`set_gitignore.sh`](https://github.com/K-dizzled/coqpilot/blob/main/set_gitignore.sh) file to your computer. Then:
116
+
- Copy the [`set_gitignore.sh`](https://github.com/JetBrains-Research/coqpilot/blob/main/set_gitignore.sh) file to your computer. Then:
115
117
```bash
116
118
chmod +x set_gitignore.sh
117
119
./set_gitignore.sh
118
120
```
119
121
It will add the format of CoqPilot aux files to your global gitignore file on the system, so that even if CoqPilot forgets to clean files up, they will not be marked as new files in git.
120
-
Comment: Such files are not visible in the vscode explorer, because plugin adds them to the `files.exclude` setting on startup.
122
+
Comment: Such files are not visible in the VSCode explorer, because plugin adds them to the `files.exclude` setting on startup.
121
123
122
124
## Extension Settings
123
125
124
126
This extension contributes the following settings:
125
127
126
128
*`coqpilot.contextTheoremsRankerType` : The type of theorems ranker that will be used to select theorems for proof generation (when context is smaller than taking all of them). Either randomly, by Jacard index (similarity metric) or by distance from the theorem, with the currently observed admit.
127
129
*`coqpilot.loggingVerbosity` : Verbosity of the logs. Could be `info`, `debug`.
130
+
*`coqpilot.coqLspServerPath` : Path to the coq-lsp server. By default, it is set to `coq-lsp`.
128
131
129
132
*`coqpilot.predefinedProofsModelsParameters`, `coqpilot.openAiModelsParameters`, `coqpilot.grazieModelsParameters` and `coqpilot.lmStudioModelsParameters`:
130
133
@@ -227,11 +230,11 @@ First things first, the process of running the benchmark is not perfectly automa
227
230
cachix use weakmemory
228
231
```
229
232
230
-
3. Go to the `imm` subdirectory, apply the nix environment (without it the project will NOT build) and build the project:
233
+
3. Go to the `imm` subdirectory, apply the nix environment (without it the project will **NOT** build) and build the project:
231
234
```bash
232
235
cd dataset/imm
233
-
nix-build
234
236
nix-shell
237
+
make
235
238
```
236
239
4. Make sure the `_CoqProject` was successfully generated in the root of your project. Return to the project root not exiting the nix-shell. Run the benchmark:
"description": "Number of tokens that the model is allowed to generate as a response message (i.e. message with proof). For known models, Coqpilot provides a recommended default value, but it can be customized for more advanced proof generation. The default value is the maximum allowed value for the model if it takes no more than half of `tokensLimit`, otherwise the minimum of half of `tokensLimit` and 4096.",
142
+
"description": "Number of tokens that the model is allowed to generate as a response message (i.e. message with proof). For known models, CoqPilot provides a recommended default value, but it can be customized for more advanced proof generation. The default value is the maximum allowed value for the model if it takes no more than half of `tokensLimit`, otherwise the minimum of half of `tokensLimit` and 4096.",
136
143
"default": 2048
137
144
},
138
145
"tokensLimit": {
139
146
"type": "number",
140
-
"description": "Total length of input and generated tokens, it is determined by the model. For known models, Coqpilot provides a recommended default value (the maximum model context length), but it can be customized for more advanced proof generation.",
147
+
"description": "Total length of input and generated tokens, it is determined by the model. For known models, CoqPilot provides a recommended default value (the maximum model context length), but it can be customized for more advanced proof generation.",
141
148
"default": 4096
142
149
},
143
150
"multiroundProfile": {
@@ -358,6 +365,12 @@
358
365
"description": "The verbosity of the logs.",
359
366
"default": "info",
360
367
"order": 5
368
+
},
369
+
"coqpilot.coqLspServerPath": {
370
+
"type": "string",
371
+
"description": "Path to the Coq LSP server. If not specified, CoqPilot will try to find the server automatically at the default location: coq-lsp at PATH.",
0 commit comments