From 912d0ec0bfdf1bda9daca88714100c5c795416e8 Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Mon, 6 Feb 2023 10:06:55 +0400 Subject: [PATCH 01/34] flake: fix build, replace opam-nix with buildDunePackage, replace flake-utils with flake-parts, use treefmt --- .envrc | 1 + .gitignore | 4 + README.md | 10 ++- default.nix | 39 +++----- flake.lock | 253 +++++++++++++--------------------------------------- flake.nix | 145 +++++++++++++++++------------- shell.nix | 14 +++ 7 files changed, 186 insertions(+), 280 deletions(-) create mode 100644 .envrc create mode 100644 shell.nix diff --git a/.envrc b/.envrc new file mode 100644 index 000000000..3550a30f2 --- /dev/null +++ b/.envrc @@ -0,0 +1 @@ +use flake diff --git a/.gitignore b/.gitignore index b767639e5..8dc7b2bea 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,7 @@ _opam .git-ps *.cache + +.direnv +/result + diff --git a/README.md b/README.md index 5a9bce913..30409d97a 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,15 @@ In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the #### Server - **opam**: `opam install coq-lsp` -- **Nix** (coming soon) +- **Nix**: + - In nixpkgs: [#213397](https://github.com/NixOS/nixpkgs/pull/213397) + - In this repository: `nix build .?submodules=1` + - In your flake: + ```nix + inputs.coq-lsp = { type = "git"; url = "github:ejgallego/coq-lsp"; submodules = true; }; + ... + coq-lsp.packages.${system}.default + ``` - **Coq Platform** (coming soon) - [Do it yourself!](#server-1) diff --git a/default.nix b/default.nix index 19a8f8134..c7d0c267d 100644 --- a/default.nix +++ b/default.nix @@ -1,25 +1,14 @@ -{ - pkgs ? import (fetchTarball "https://github.com/vbgl/nixpkgs/tarball/2a4e60c330d66638897ec450126eb1e3a9a13148") {} -}: - -with pkgs; - -let oc = ocaml-ng.ocamlPackages_4_07; in - -stdenv.mkDerivation { - name = "coq-lsp-0"; - src = builtins.filterSource (p: _: builtins.baseNameOf p != "_build") ./.; - buildInputs = [ - dune oc.ocaml oc.findlib oc.num oc.yojson oc.cmdliner - oc.lablgtk - ]; - - preBuild = '' - for f in kernel dev/tools - do - patchShebangs coq/$f - done - ''; - - inherit (dune) installPhase; -} +( + import + ( + let + lock = builtins.fromJSON (builtins.readFile ./flake.lock); + in + fetchTarball { + url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz"; + sha256 = lock.nodes.flake-compat.locked.narHash; + } + ) + {src = ./.;} +) +.defaultNix diff --git a/flake.lock b/flake.lock index 92194a57d..6d53b7239 100644 --- a/flake.lock +++ b/flake.lock @@ -1,105 +1,96 @@ { "nodes": { - "flake-compat": { + "coq-serapi": { "flake": false, "locked": { - "lastModified": 1627913399, - "narHash": "sha256-hY8g6H2KFL8ownSiFeMOjwPC8P0ueXpCVEbxgda3pko=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "12c64ca55c1014cdc1b16ed5a804aa8576601ff2", + "lastModified": 1673473454, + "narHash": "sha256-ZeKkbEcTfe/5X/pW+Kl4Xjcj3cdZcs06LTg4dZIuHq8=", + "owner": "ejgallego", + "repo": "coq-serapi", + "rev": "79880d37705b6ec08108f5e6044fd7a128923753", "type": "github" }, "original": { - "owner": "edolstra", - "repo": "flake-compat", + "owner": "ejgallego", + "ref": "v8.17", + "repo": "coq-serapi", "type": "github" } }, - "flake-utils": { + "flake-compat": { + "flake": false, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "edolstra", + "repo": "flake-compat", "type": "github" } }, - "flake-utils_2": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { "locked": { - "lastModified": 1638122382, - "narHash": "sha256-sQzZzAbvKEqN9s0bzWuYmRaA03v40gaJ4+iL1LXjaeI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "74f7e4319258e287b0f9cb95426c9853b282730b", + "lastModified": 1675295133, + "narHash": "sha256-dU8fuLL98WFXG0VnRgM00bqKX6CEPBLybhiIDIgO45o=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "bf53492df08f3178ce85e0c9df8ed8d03c030c9f", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" + "id": "flake-parts", + "type": "indirect" } }, - "mirage-opam-overlays": { - "flake": false, + "nixpkgs": { "locked": { - "lastModified": 1661959605, - "narHash": "sha256-CPTuhYML3F4J58flfp3ZbMNhkRkVFKmBEYBZY5tnQwA=", - "owner": "dune-universe", - "repo": "mirage-opam-overlays", - "rev": "05f1c1823d891ce4d8adab91f5db3ac51d86dc0b", + "lastModified": 1675545634, + "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", "type": "github" }, "original": { - "owner": "dune-universe", - "repo": "mirage-opam-overlays", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", "type": "github" } }, - "nixpkgs": { + "nixpkgs-lib": { "locked": { - "lastModified": 1672366314, - "narHash": "sha256-F/LEtdZ90LqFzLaGtUmzsJFtarFsPJzxM9rahkb24FM=", - "owner": "nixos", + "dir": "lib", + "lastModified": 1675183161, + "narHash": "sha256-Zq8sNgAxDckpn7tJo7V1afRSk2eoVbu3OjI1QklGLNg=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "726088a96454587d4a640d28ec442126518e449b", + "rev": "e1e1b192c1a5aab2960bf0a0bd53a2e8124fa18e", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_2": { "locked": { - "lastModified": 1657802959, - "narHash": "sha256-9+JWARSdlL8KiH3ymnKDXltE1vM+/WEJ78F5B1kjXys=", + "lastModified": 1675545634, + "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4a01ca36d6bfc133bc617e661916a81327c9bbc8", + "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", "type": "github" }, "original": { @@ -109,150 +100,32 @@ "type": "github" } }, - "ocamllsp": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "nixpkgs" - ], - "opam-nix": [ - "opam-nix" - ], - "opam-repository": "opam-repository" - }, - "locked": { - "lastModified": 1672361134, - "narHash": "sha256-zXvIZfrV0/saOmG/IZbqIfC0KkdCc8kTIkLfR6KbDDc=", - "ref": "refs/heads/master", - "rev": "8367f37bab3fb036e19892e46843d3807e25b3a8", - "revCount": 1927, - "submodules": true, - "type": "git", - "url": "https://www.github.com/ocaml/ocaml-lsp" - }, - "original": { - "submodules": true, - "type": "git", - "url": "https://www.github.com/ocaml/ocaml-lsp" - } - }, - "opam-nix": { + "root": { "inputs": { + "coq-serapi": "coq-serapi", "flake-compat": "flake-compat", - "flake-utils": "flake-utils_3", - "mirage-opam-overlays": "mirage-opam-overlays", - "nixpkgs": "nixpkgs_2", - "opam-overlays": "opam-overlays", - "opam-repository": "opam-repository_2", - "opam2json": "opam2json" - }, - "locked": { - "lastModified": 1670004517, - "narHash": "sha256-7SffiN2S9pVfOoBCcEdY/iJe28p/eiRqVLXG7/8Jb3I=", - "owner": "tweag", - "repo": "opam-nix", - "rev": "b12b7fcd6f9ea0a8a939c05c68a95525f0d80af6", - "type": "github" - }, - "original": { - "owner": "tweag", - "repo": "opam-nix", - "type": "github" - } - }, - "opam-overlays": { - "flake": false, - "locked": { - "lastModified": 1654162756, - "narHash": "sha256-RV68fUK+O3zTx61iiHIoS0LvIk0E4voMp+0SwRg6G6c=", - "owner": "dune-universe", - "repo": "opam-overlays", - "rev": "c8f6ef0fc5272f254df4a971a47de7848cc1c8a4", - "type": "github" - }, - "original": { - "owner": "dune-universe", - "repo": "opam-overlays", - "type": "github" - } - }, - "opam-repository": { - "flake": false, - "locked": { - "lastModified": 1671196811, - "narHash": "sha256-8mYe1yUaKpExjyGUh3ppJ2U0BRbkS1kySMoM619In4I=", - "owner": "ocaml", - "repo": "opam-repository", - "rev": "2b84338837f46d5559e476c3766ebc61ed2849f3", - "type": "github" - }, - "original": { - "owner": "ocaml", - "repo": "opam-repository", - "type": "github" - } - }, - "opam-repository_2": { - "flake": false, - "locked": { - "lastModified": 1661161626, - "narHash": "sha256-J3P+mXLwE2oEKTlMnx8sYRxwD/uNGSKM0AkAB7BNTxA=", - "owner": "ocaml", - "repo": "opam-repository", - "rev": "54e69ff0949a3aaec0d5e3d67898bb7f279ab09f", - "type": "github" - }, - "original": { - "owner": "ocaml", - "repo": "opam-repository", - "type": "github" - } - }, - "opam-repository_3": { - "flake": false, - "locked": { - "lastModified": 1672313305, - "narHash": "sha256-FfmBJNaSgU2VnwHKE0rdWG47qNNjK3TQRhPovPGzRnI=", - "owner": "ocaml", - "repo": "opam-repository", - "rev": "9af04a84c30c4ddd01244cc07d626d8c1837d2c7", - "type": "github" - }, - "original": { - "owner": "ocaml", - "repo": "opam-repository", - "type": "github" + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs", + "treefmt": "treefmt" } }, - "opam2json": { + "treefmt": { "inputs": { - "nixpkgs": [ - "opam-nix", - "nixpkgs" - ] + "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1665671715, - "narHash": "sha256-7f75C6fIkiLzfkwLpJxlQIKf+YORGsXGV8Dr2LDDi+A=", - "owner": "tweag", - "repo": "opam2json", - "rev": "32fa2dcd993a27f9e75ee46fb8b78a7cd5d05113", + "lastModified": 1675588998, + "narHash": "sha256-CLeFLmah0mxNp/EIW0PMG3YutKxVIIs4B0f5oJhwe8E=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "70e03145e26c2f3199f4320ecd9fd343f1129c60", "type": "github" }, "original": { - "owner": "tweag", - "repo": "opam2json", + "owner": "numtide", + "repo": "treefmt-nix", "type": "github" } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "ocamllsp": "ocamllsp", - "opam-nix": "opam-nix", - "opam-repository": "opam-repository_3" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index ee6bbe625..db52283b9 100644 --- a/flake.nix +++ b/flake.nix @@ -1,70 +1,87 @@ { - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - opam-nix.url = "github:tweag/opam-nix"; - flake-utils.url = "github:numtide/flake-utils"; - ocamllsp.url = "git+https://www.github.com/ocaml/ocaml-lsp?submodules=1"; - ocamllsp.inputs.opam-nix.follows = "opam-nix"; - ocamllsp.inputs.nixpkgs.follows = "nixpkgs"; - opam-repository = { - url = "github:ocaml/opam-repository"; - flake = false; - }; - }; - outputs = { self, flake-utils, opam-nix, nixpkgs, ocamllsp, opam-repository }@inputs: - let package = "coq-lsp"; - in flake-utils.lib.eachDefaultSystem (system: - let - devPackages = { - # Extra packages for testing - }; - pkgs = nixpkgs.legacyPackages.${system}; - ocamlformat = - # Detection of ocamlformat version from .ocamlformat file - let - ocamlformat_version = - let - lists = pkgs.lib.lists; - strings = pkgs.lib.strings; - ocamlformat_config = strings.splitString "\n" (builtins.readFile ./.ocamlformat); - prefix = "version="; - ocamlformat_version_pred = line: strings.hasPrefix prefix line; - version_line = lists.findFirst ocamlformat_version_pred "not_found" ocamlformat_config; - version = strings.removePrefix prefix version_line; - in - builtins.replaceStrings [ "." ] [ "_" ] version; - in - builtins.getAttr ("ocamlformat_" + ocamlformat_version) pkgs; - in - { - packages = - let - scope = opam-nix.lib.${system}.buildOpamProject' - { - repos = [ opam-repository ]; - } ./. - (devPackages // { ocaml-base-compiler = "4.14.0"; }); + description = "A language server (LSP) for the theorem prover, coq"; + + outputs = inputs @ { + self, + flake-parts, + treefmt, + ... + }: + flake-parts.lib.mkFlake {inherit inputs;} { + systems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; + imports = [treefmt.flakeModule]; + flake.self = self; + perSystem = { + config, + pkgs, + lib, + ... + }: let + coq_8_17 = pkgs.coqPackages_8_17; + coqPackages = coq_8_17.coqPackages; + ocamlPackages = coq_8_17.coq.ocamlPackages; + in { + packages.default = config.packages.coq-lsp; + + # NOTE(2023-06-02): Nix does not support top-level self submodules (yet) + packages.coq-lsp = ocamlPackages.buildDunePackage { + duneVersion = "3"; + + pname = "coq-lsp"; + version = "${self.lastModifiedDate}+8.17-rc1"; + + src = self.outPath; + + propagatedBuildInputs = let + serapi = + (coqPackages.lib.overrideCoqDerivation { + defaultVersion = "8.17.0+0.17.0"; + } + coqPackages.serapi) + .overrideAttrs (_: { + src = inputs.coq-serapi; + }); in - scope // { default = self.packages.${system}.${package}; }; + builtins.attrValues { + inherit serapi; + inherit (ocamlPackages) yojson cmdliner; + }; + }; - devShells.fmt = - pkgs.mkShell { - inputsFrom = [ pkgs.dune_3 ]; - buildInputs = [ pkgs.dune_3 ocamlformat ]; - }; + treefmt.config = { + projectRootFile = "dune-project"; + + flakeFormatter = true; - devShell = - pkgs.mkShell { - nativeBuildInputs = [ pkgs.opam ]; - buildInputs = (with pkgs; - [ - # dev tools - ocamlformat - nodejs - ]) ++ [ ocamllsp.outputs.packages.${system}.ocaml-lsp-server ] - ++ (builtins.map (s: builtins.getAttr s self.packages.${system}) - (builtins.attrNames devPackages)); - inputsFrom = [ self.packages.${system}.default ]; + programs.alejandra.enable = true; + programs.ocamlformat.enable = true; + programs.prettier.enable = true; + }; + + devShells.default = pkgs.mkShell { + inputsFrom = [config.packages.coq-lsp]; + + packages = builtins.attrValues { + inherit (config.treefmt.build) wrapper; + inherit (pkgs) nodejs dune_3; + inherit (ocamlPackages) ocaml ocaml-lsp; }; - }); + }; + }; + }; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + treefmt.url = "github:numtide/treefmt-nix"; + + flake-compat = { + flake = false; + url = "github:edolstra/flake-compat"; + }; + + coq-serapi = { + url = "github:ejgallego/coq-serapi/v8.17"; + flake = false; + }; + }; } diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000..e6d917316 --- /dev/null +++ b/shell.nix @@ -0,0 +1,14 @@ +( + import + ( + let + lock = builtins.fromJSON (builtins.readFile ./flake.lock); + in + fetchTarball { + url = "https://github.com/edolstra/flake-compat/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz"; + sha256 = lock.nodes.flake-compat.locked.narHash; + } + ) + {src = ./.;} +) +.shellNix From 9983476bd1ee365e360f91ebec9d5e6d1962b78d Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Mon, 6 Feb 2023 13:47:10 +0400 Subject: [PATCH 02/34] flakeModule: Introduce a flake module for the vscode client --- .gitignore | 2 +- editor/code/flakeModule.nix | 36 ++++++++++++++++++++++ flake.lock | 61 ++++++++++++++++++++++++++++++++++--- flake.nix | 9 +++--- 4 files changed, 98 insertions(+), 10 deletions(-) create mode 100644 editor/code/flakeModule.nix diff --git a/.gitignore b/.gitignore index 8dc7b2bea..4c159de7c 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,5 @@ _opam *.cache .direnv -/result +result diff --git a/editor/code/flakeModule.nix b/editor/code/flakeModule.nix new file mode 100644 index 000000000..8e93cb65f --- /dev/null +++ b/editor/code/flakeModule.nix @@ -0,0 +1,36 @@ +{ + perSystem = { + config, + pkgs, + lib, + inputs', + ... + }: { + packages.vsix = (inputs'.napalm.legacyPackages).buildPackage ./. { + installPhase = '' + mkdir $out + ${lib.getExe pkgs.vsce} package -o $out/$name.zip > /dev/null 2>&1 + ''; + }; + + packages.vscode-extension = pkgs.vscode-utils.buildVscodeExtension rec { + inherit (config.packages.vsix) name; + + vscodeExtPublisher = "ejgallego"; + vscodeExtName = name; + + vscodeExtUniqueId = "${vscodeExtPublisher}.${vscodeExtName}"; + + src = "${config.packages.vsix}/${name}.zip"; + }; + + devShells.client-vscode = pkgs.mkShell { + packages = builtins.attrValues { + inherit (pkgs) nodejs; + inherit (pkgs.nodePackages) typescript typescript-language-server; + }; + }; + + treefmt.config.programs.prettier.enable = true; + }; +} diff --git a/flake.lock b/flake.lock index 6d53b7239..9c569fe2b 100644 --- a/flake.lock +++ b/flake.lock @@ -50,13 +50,47 @@ "type": "indirect" } }, + "flake-utils": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "napalm": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1672245824, + "narHash": "sha256-i596lbPiA/Rfx3DiJiCluxdgxWY7oGSgYMT7OmM+zik=", + "owner": "nix-community", + "repo": "napalm", + "rev": "7c25a05cef52dc405f4688422ce0046ca94aadcf", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "napalm", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1675545634, - "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", + "lastModified": 1663087123, + "narHash": "sha256-cNIRkF/J4mRxDtNYw+9/fBNq/NOA2nCuPOa3EdIyeDs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", + "rev": "9608ace7009ce5bc3aeb940095e01553e635cbc7", "type": "github" }, "original": { @@ -85,6 +119,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1675545634, + "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1675545634, "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", @@ -105,13 +155,14 @@ "coq-serapi": "coq-serapi", "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "nixpkgs": "nixpkgs", + "napalm": "napalm", + "nixpkgs": "nixpkgs_2", "treefmt": "treefmt" } }, "treefmt": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1675588998, diff --git a/flake.nix b/flake.nix index db52283b9..0ca618044 100644 --- a/flake.nix +++ b/flake.nix @@ -9,7 +9,7 @@ }: flake-parts.lib.mkFlake {inherit inputs;} { systems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; - imports = [treefmt.flakeModule]; + imports = [treefmt.flakeModule ./editor/code/flakeModule.nix]; flake.self = self; perSystem = { config, @@ -55,7 +55,6 @@ programs.alejandra.enable = true; programs.ocamlformat.enable = true; - programs.prettier.enable = true; }; devShells.default = pkgs.mkShell { @@ -63,7 +62,7 @@ packages = builtins.attrValues { inherit (config.treefmt.build) wrapper; - inherit (pkgs) nodejs dune_3; + inherit (pkgs) dune_3; inherit (ocamlPackages) ocaml ocaml-lsp; }; }; @@ -74,9 +73,11 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; treefmt.url = "github:numtide/treefmt-nix"; + napalm.url = "github:nix-community/napalm"; + flake-compat = { - flake = false; url = "github:edolstra/flake-compat"; + flake = false; }; coq-serapi = { From d21441237f45139d03897529092ce5c26ef6902c Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Mon, 6 Feb 2023 14:40:21 +0400 Subject: [PATCH 03/34] README: Per CONTRIBUTING.md there's no need to add instructions for building in the repository --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 30409d97a..1256a60fb 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,6 @@ In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the - **opam**: `opam install coq-lsp` - **Nix**: - In nixpkgs: [#213397](https://github.com/NixOS/nixpkgs/pull/213397) - - In this repository: `nix build .?submodules=1` - In your flake: ```nix inputs.coq-lsp = { type = "git"; url = "github:ejgallego/coq-lsp"; submodules = true; }; From 3a1210d453abbe8041bd684c0be0cb4f48223539 Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Mon, 6 Feb 2023 14:55:03 +0400 Subject: [PATCH 04/34] ci: Update formatters to just use treefmt with nix fmt --- .github/workflows/build.yml | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 79c836257..b69c9629e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -88,8 +88,8 @@ jobs: - run: npm ci - run: npx --yes vsce ls - fmt-ocamlfmt: - name: Format with ocamlfmt + treefmt: + name: Format runs-on: ubuntu-latest steps: - name: πŸ”­ Checkout code @@ -98,21 +98,5 @@ jobs: submodules: recursive - name: ❄️ Setup Nix uses: cachix/install-nix-action@v18 - - name: πŸ“ Format with ocamlfmt - run: nix develop .#fmt -c make fmt - - fmt-prettier: - name: Format with prettier - runs-on: ubuntu-latest - defaults: - run: - working-directory: ./editor/code - steps: - - name: πŸ”­ Checkout code - uses: actions/checkout@v3 - - name: πŸš€ Setup node - uses: actions/setup-node@v3 - with: - node-version: 16 - - run: npm ci - - run: npx prettier -c . + - name: πŸ“ Format with alejandra, ocamlformat, prettier + run: nix fmt \ No newline at end of file From 36abc9a8260544cd6e317a2e1d3d26e76d2858f7 Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Mon, 6 Feb 2023 15:05:28 +0400 Subject: [PATCH 05/34] doc: Add documentation for the vscode extension with nix and document client devShells --- CONTRIBUTING.md | 10 +++++++--- README.md | 13 +++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9d3342985..7f65d8e23 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,9 +61,12 @@ You can also use the regular `dune build @check` etc... targets. #### Nix -We have a Nix flake that you can use. For development, simply run `nix develop`. +We have a Nix flake that you can use. For development, simply run `nix develop` for server development. +otherwise for client development we expose separate shells, e.g client-vscode so `nix develop .#client-vscode`. -If you wish to do `nix build` or compose this flake from another project, you +you can view the list of packages and devShells exposed by `nix flake show` + +If you wish to do `nix build`, you will need to use the .?submodules=1` trick, since we use submodules here for vendoring. For example, building requires: @@ -71,7 +74,8 @@ vendoring. For example, building requires: nix build .?submodules=1 ``` -You can use this flake in other flakes or Nix derivations. +This currently only applies to building the default package (coq-lsp), which is the server. +Clients don't have specific submodules as of yet. #### Releasing diff --git a/README.md b/README.md index 1256a60fb..129c12d25 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,19 @@ In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the #### **Visual Studio Code**: - Official Marketplace: https://marketplace.visualstudio.com/items?itemName=ejgallego.coq-lsp - Open VSX: https://open-vsx.org/extension/ejgallego/coq-lsp +- Nix: +```nix +inputs.coq-lsp = { type = "git"; url = "github:ejgallego/coq-lsp"; submodules = true; }; +... +programs.vscode = { + enable = true; + extensions = with pkgs.vscode-extensions; [ + ... + inputs.coq-lsp.packages.${pkgs.system}.vscode-extension + ... + ]; +}; +``` ### FAQ From 977f57afebcf437df72f868ebca8375d97612a50 Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Mon, 6 Feb 2023 15:25:03 +0400 Subject: [PATCH 06/34] nix: Include version in the vscode extension nix expression to satisfy vscode-utils --- editor/code/flakeModule.nix | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/editor/code/flakeModule.nix b/editor/code/flakeModule.nix index 8e93cb65f..8795c131b 100644 --- a/editor/code/flakeModule.nix +++ b/editor/code/flakeModule.nix @@ -11,18 +11,32 @@ mkdir $out ${lib.getExe pkgs.vsce} package -o $out/$name.zip > /dev/null 2>&1 ''; + + passthru = let + attrs = builtins.fromJSON (builtins.readFile ./package.json); + in { + extPublisher = attrs.publisher; + extName = attrs.name; + extVersion = attrs.version; + extId = with attrs; "${publisher}.${name}"; + }; }; - packages.vscode-extension = pkgs.vscode-utils.buildVscodeExtension rec { - inherit (config.packages.vsix) name; + packages.vscode-extension = let + vsix = config.packages.vsix; + in + pkgs.vscode-utils.buildVscodeExtension + { + inherit (vsix) name; - vscodeExtPublisher = "ejgallego"; - vscodeExtName = name; + version = vsix.extVersion; - vscodeExtUniqueId = "${vscodeExtPublisher}.${vscodeExtName}"; + vscodeExtPublisher = vsix.extPublisher; + vscodeExtName = vsix.extName; + vscodeExtUniqueId = vsix.extId; - src = "${config.packages.vsix}/${name}.zip"; - }; + src = "${vsix}/${vsix.name}.zip"; + }; devShells.client-vscode = pkgs.mkShell { packages = builtins.attrValues { From a12a650bc6341dbb347eff28fbbdc87a237c6420 Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Wed, 8 Feb 2023 12:52:16 +0400 Subject: [PATCH 07/34] treefmt-nix: Exclude vendor directory for formatting --- README.md | 4 ++-- flake.lock | 12 ++++++------ flake.nix | 4 +++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 129c12d25..1ddc97b94 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the - In nixpkgs: [#213397](https://github.com/NixOS/nixpkgs/pull/213397) - In your flake: ```nix - inputs.coq-lsp = { type = "git"; url = "github:ejgallego/coq-lsp"; submodules = true; }; + inputs.coq-lsp = { type = "git"; url = "https://github.com/ejgallego/coq-lsp.git"; submodules = true; }; ... coq-lsp.packages.${system}.default ``` @@ -37,7 +37,7 @@ In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the - Open VSX: https://open-vsx.org/extension/ejgallego/coq-lsp - Nix: ```nix -inputs.coq-lsp = { type = "git"; url = "github:ejgallego/coq-lsp"; submodules = true; }; +inputs.coq-lsp = { type = "git"; url = "https://github.com/ejgallego/coq-lsp.git"; submodules = true; }; ... programs.vscode = { enable = true; diff --git a/flake.lock b/flake.lock index 9c569fe2b..be8c6721a 100644 --- a/flake.lock +++ b/flake.lock @@ -120,11 +120,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1675545634, - "narHash": "sha256-TbQeQcM5TA/wIho6xtzG+inUfiGzUXi8ewwttiQWYJE=", + "lastModified": 1675673983, + "narHash": "sha256-8hzNh1jtiPxL5r3ICNzSmpSzV7kGb3KwX+FS5BWJUTo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0591d6b57bfeb55dfeec99a671843337bc2c3323", + "rev": "5a350a8f31bb7ef0c6e79aea3795a890cf7743d4", "type": "github" }, "original": { @@ -165,11 +165,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1675588998, - "narHash": "sha256-CLeFLmah0mxNp/EIW0PMG3YutKxVIIs4B0f5oJhwe8E=", + "lastModified": 1675790908, + "narHash": "sha256-NeRMRfKKIFt0tkTEV0+bHh3+35zY6lpeAEO5wSA9+6k=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "70e03145e26c2f3199f4320ecd9fd343f1129c60", + "rev": "9e64e351b42d9da33a4e8a72b858612c48d1a924", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0ca618044..461d5658b 100644 --- a/flake.nix +++ b/flake.nix @@ -10,7 +10,7 @@ flake-parts.lib.mkFlake {inherit inputs;} { systems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"]; imports = [treefmt.flakeModule ./editor/code/flakeModule.nix]; - flake.self = self; + perSystem = { config, pkgs, @@ -53,6 +53,8 @@ flakeFormatter = true; + settings.global.excludes = ["./vendor/**"]; + programs.alejandra.enable = true; programs.ocamlformat.enable = true; }; From e4d81e72623b4f8c013ddcde76ff7141b04dd57f Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Wed, 8 Feb 2023 12:59:26 +0400 Subject: [PATCH 08/34] ocamlformat: Add back version detection --- flake.nix | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 461d5658b..94c532dc7 100644 --- a/flake.nix +++ b/flake.nix @@ -56,7 +56,16 @@ settings.global.excludes = ["./vendor/**"]; programs.alejandra.enable = true; - programs.ocamlformat.enable = true; + programs.ocamlformat = { + enable = true; + package = + pkgs + ."ocamlformat_${ + builtins.replaceStrings ["."] ["_"] + (lib.last (lib.findFirst (option: builtins.head option == "version") [] + (builtins.map (n: lib.splitString "=" n) (lib.splitString "\n" (builtins.readFile ./.ocamlformat))))) + }"; + }; }; devShells.default = pkgs.mkShell { From 29e1ef260ada39c243784740b64ef3c8ce4fb2d9 Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Wed, 8 Feb 2023 13:28:28 +0400 Subject: [PATCH 09/34] flake: final refactoring/fixes --- editor/code/flakeModule.nix | 2 ++ flake.nix | 11 ++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/editor/code/flakeModule.nix b/editor/code/flakeModule.nix index 8795c131b..3ecea7ced 100644 --- a/editor/code/flakeModule.nix +++ b/editor/code/flakeModule.nix @@ -42,6 +42,8 @@ packages = builtins.attrValues { inherit (pkgs) nodejs; inherit (pkgs.nodePackages) typescript typescript-language-server; + + inherit (config.treefmt.build) wrapper; }; }; diff --git a/flake.nix b/flake.nix index 94c532dc7..6acf44b02 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,7 @@ lib, ... }: let + l = lib // builtins; coq_8_17 = pkgs.coqPackages_8_17; coqPackages = coq_8_17.coqPackages; ocamlPackages = coq_8_17.coq.ocamlPackages; @@ -42,7 +43,7 @@ src = inputs.coq-serapi; }); in - builtins.attrValues { + l.attrValues { inherit serapi; inherit (ocamlPackages) yojson cmdliner; }; @@ -61,9 +62,9 @@ package = pkgs ."ocamlformat_${ - builtins.replaceStrings ["."] ["_"] - (lib.last (lib.findFirst (option: builtins.head option == "version") [] - (builtins.map (n: lib.splitString "=" n) (lib.splitString "\n" (builtins.readFile ./.ocamlformat))))) + l.replaceStrings ["."] ["_"] + (l.last (l.findFirst (option: l.head option == "version") [] + (l.map (n: l.splitString "=" n) (l.splitString "\n" (l.readFile ./.ocamlformat))))) }"; }; }; @@ -71,7 +72,7 @@ devShells.default = pkgs.mkShell { inputsFrom = [config.packages.coq-lsp]; - packages = builtins.attrValues { + packages = l.attrValues { inherit (config.treefmt.build) wrapper; inherit (pkgs) dune_3; inherit (ocamlPackages) ocaml ocaml-lsp; From 111cdf5de1be9e51b852964c7a3b1549b60b2de6 Mon Sep 17 00:00:00 2001 From: r-muhairi <69181766+r-muhairi@users.noreply.github.com> Date: Wed, 8 Feb 2023 22:37:55 +0400 Subject: [PATCH 10/34] Update .gitignore Co-authored-by: Ali Caglayan --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 4c159de7c..eb2c98392 100644 --- a/.gitignore +++ b/.gitignore @@ -7,5 +7,6 @@ _opam *.cache .direnv +# Nix build will produce this result From 4063b2f0896d92c9636fa5dac2474690d0699490 Mon Sep 17 00:00:00 2001 From: r-muhairi <69181766+r-muhairi@users.noreply.github.com> Date: Wed, 8 Feb 2023 23:05:46 +0400 Subject: [PATCH 11/34] ci+doc: Apply suggested changes from review Co-authored-by: Ali Caglayan --- .github/workflows/build.yml | 2 +- CONTRIBUTING.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b69c9629e..ba245c0e3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,4 +99,4 @@ jobs: - name: ❄️ Setup Nix uses: cachix/install-nix-action@v18 - name: πŸ“ Format with alejandra, ocamlformat, prettier - run: nix fmt \ No newline at end of file + run: nix fmt diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7f65d8e23..8c045cf3b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -64,7 +64,8 @@ You can also use the regular `dune build @check` etc... targets. We have a Nix flake that you can use. For development, simply run `nix develop` for server development. otherwise for client development we expose separate shells, e.g client-vscode so `nix develop .#client-vscode`. -you can view the list of packages and devShells exposed by `nix flake show` +You can view the list of packages and devShells that are exposed +by running `nix flake show`. If you wish to do `nix build`, you will need to use the .?submodules=1` trick, since we use submodules here for From 238a297c7b5286b503717c21e83447f70e5581b3 Mon Sep 17 00:00:00 2001 From: r-muhairi <69181766+r-muhairi@users.noreply.github.com> Date: Thu, 9 Feb 2023 11:06:23 +0000 Subject: [PATCH 12/34] doc: update CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8c045cf3b..aa1d1cf4a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,8 +61,8 @@ You can also use the regular `dune build @check` etc... targets. #### Nix -We have a Nix flake that you can use. For development, simply run `nix develop` for server development. -otherwise for client development we expose separate shells, e.g client-vscode so `nix develop .#client-vscode`. +We have a Nix flake that you can use. For development, in the case of the server, simply run `nix develop`. +In the case of the client, we expose separate shells, e.g client-vscode, would be `nix develop .#client-vscode` (this can be done on top of the original `nix develop`) You can view the list of packages and devShells that are exposed by running `nix flake show`. From 0eb6a02a665b2ae69c4b6108d25c2215bfdb305a Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Thu, 9 Feb 2023 11:22:05 +0000 Subject: [PATCH 13/34] treefmt: Use `configFile`, numtide/treefmt-nix#41 --- flake.lock | 18 +++++++++--------- flake.nix | 10 ++-------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/flake.lock b/flake.lock index be8c6721a..3aff546d0 100644 --- a/flake.lock +++ b/flake.lock @@ -38,11 +38,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1675295133, - "narHash": "sha256-dU8fuLL98WFXG0VnRgM00bqKX6CEPBLybhiIDIgO45o=", + "lastModified": 1675933616, + "narHash": "sha256-/rczJkJHtx16IFxMmAWu5nNYcSXNg1YYXTHoGjLrLUA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "bf53492df08f3178ce85e0c9df8ed8d03c030c9f", + "rev": "47478a4a003e745402acf63be7f9a092d51b83d7", "type": "github" }, "original": { @@ -120,11 +120,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1675673983, - "narHash": "sha256-8hzNh1jtiPxL5r3ICNzSmpSzV7kGb3KwX+FS5BWJUTo=", + "lastModified": 1675763311, + "narHash": "sha256-bz0Q2H3mxsF1CUfk26Sl9Uzi8/HFjGFD/moZHz1HebU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5a350a8f31bb7ef0c6e79aea3795a890cf7743d4", + "rev": "fab09085df1b60d6a0870c8a89ce26d5a4a708c2", "type": "github" }, "original": { @@ -165,11 +165,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1675790908, - "narHash": "sha256-NeRMRfKKIFt0tkTEV0+bHh3+35zY6lpeAEO5wSA9+6k=", + "lastModified": 1675939481, + "narHash": "sha256-LwwcWeyExA02GGn8QCQfZjft+blg101OXBQWglCqPVA=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "9e64e351b42d9da33a4e8a72b858612c48d1a924", + "rev": "e9033eca3d7139fd499f310023ddc3bb5abff515", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 6acf44b02..48c902360 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "A language server (LSP) for the theorem prover, coq"; + description = "A language server (LSP) for the coq theorem prover"; outputs = inputs @ { self, @@ -59,13 +59,7 @@ programs.alejandra.enable = true; programs.ocamlformat = { enable = true; - package = - pkgs - ."ocamlformat_${ - l.replaceStrings ["."] ["_"] - (l.last (l.findFirst (option: l.head option == "version") [] - (l.map (n: l.splitString "=" n) (l.splitString "\n" (l.readFile ./.ocamlformat))))) - }"; + configFile = ./.ocamlformat; }; }; From 5d428893d2e7eee350b0c46f6a73805614342ee0 Mon Sep 17 00:00:00 2001 From: Rashid Al Muhairi Date: Thu, 9 Feb 2023 23:07:42 +0400 Subject: [PATCH 14/34] flake: Update buildInputs and add nativeBuildInput --- flake.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 48c902360..f5541b796 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,10 @@ src = self.outPath; + nativeBuildInputs = l.attrValues { + inherit (ocamlPackages) menhir; + }; + propagatedBuildInputs = let serapi = (coqPackages.lib.overrideCoqDerivation { @@ -45,7 +49,7 @@ in l.attrValues { inherit serapi; - inherit (ocamlPackages) yojson cmdliner; + inherit (ocamlPackages) yojson cmdliner uri; }; }; From b889687f1136a21492552deed4e87706d1b88bf8 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 14 Feb 2023 01:31:51 +0100 Subject: [PATCH 15/34] [messages] Print warnings in info panel Fixes #195 --- CHANGES.md | 2 ++ controller/rq_goals.ml | 7 ++++--- fleche/doc.ml | 21 +++++++++++++++++++-- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index cdf86abcf..5b9192ac5 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -44,6 +44,8 @@ - Goal display handles background goals better, showing preview, goals stack, and focusing information (@ejgallego, #290, fixes #288, based on jsCoq code by Shachar Itzhaky) + - Warnings are not printed in the info view messages panel + (@ejgallego, #, fixes #195) # coq-lsp 0.1.4: View --------------------- diff --git a/controller/rq_goals.ml b/controller/rq_goals.ml index 2acc8efc8..52ae70190 100644 --- a/controller/rq_goals.ml +++ b/controller/rq_goals.ml @@ -8,11 +8,12 @@ (* Replace by ppx when we can print goals properly in the client *) let mk_message (_loc, lvl, msg) = let hdr = - if lvl = 4 then Pp.str "[info ] " - else if lvl = 5 then Pp.str "[debug] " + if lvl = 2 then Pp.str "[warning] " + else if lvl = 4 then Pp.str "[info ] " + else if lvl = 5 then Pp.str "[debug ] " else Pp.mt () in - Pp.(hdr ++ msg) + Pp.(hdr ++ hov 0 msg) let mk_messages node = Option.map Fleche.Doc.Node.messages node diff --git a/fleche/doc.ml b/fleche/doc.ml index 2edfe26a8..8eccea992 100644 --- a/fleche/doc.ml +++ b/fleche/doc.ml @@ -31,6 +31,22 @@ module Util = struct let range = Option.default drange range in mk_diag range severity message + type partition_kind = + | Left + | Both + | Right + + let partition ~f l = + let rec part l r = function + | [] -> (List.rev l, List.rev r) + | x :: xs -> ( + match f x with + | Left -> part (x :: l) r xs + | Both -> part (x :: l) (x :: l) xs + | Right -> part l (x :: r) xs) + in + part [] [] l + let diags_of_messages ~drange fbs = (* TODO, replace this by a cutoff level *) let cutoff = @@ -38,9 +54,10 @@ module Util = struct else if !Config.v.show_notices_as_diagnostics then 4 else 3 in - let diags, messages = - List.partition (fun (_, lvl, _) -> lvl < cutoff) fbs + let f (_, lvl, _) = + if lvl = 2 then Both else if lvl < cutoff then Left else Right in + let diags, messages = partition ~f fbs in (List.map (feed_to_diag ~drange) diags, messages) let build_span start_loc end_loc = From 562bc8115dfc6389840a159fb11a5283fbf6b4d2 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 14 Feb 2023 01:48:17 +0100 Subject: [PATCH 16/34] [opam] Put uri in the right section. --- coq-lsp.opam | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coq-lsp.opam b/coq-lsp.opam index facf54a62..528ddb774 100644 --- a/coq-lsp.opam +++ b/coq-lsp.opam @@ -24,6 +24,7 @@ depends: [ # lsp dependencies "cmdliner" { >= "1.1.0" } "yojson" { >= "1.7.0" } + "uri" { >= "4.2.0" } # waterproof parser "menhir" { >= "20220210" } @@ -44,7 +45,6 @@ depends: [ "ppx_hash" { >= "v0.13.0" } "ppx_import" { >= "1.5-3" } "ppx_deriving_yojson" { >= "3.4" } - "uri" { >= "4.2.0" } ] build: [ [ "dune" "build" "-p" name "-j" jobs ] ] From 8ba841e11a731141935acac2af9940dc72de5bae Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 14 Feb 2023 02:01:07 +0100 Subject: [PATCH 17/34] [messages] [protocol] Include range and level for messages. --- CHANGES.md | 6 ++++-- controller/rq_goals.ml | 9 +-------- editor/code/lib/types.ts | 9 ++++++++- editor/code/views/info/Message.tsx | 6 ++++-- editor/code/views/info/Messages.tsx | 3 ++- etc/doc/PROTOCOL.md | 9 ++++++++- lsp/jFleche.ml | 17 +++++++++++++++-- lsp/jFleche.mli | 12 ++++++++++-- 8 files changed, 52 insertions(+), 19 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 5b9192ac5..dfb4a4486 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -44,8 +44,10 @@ - Goal display handles background goals better, showing preview, goals stack, and focusing information (@ejgallego, #290, fixes #288, based on jsCoq code by Shachar Itzhaky) - - Warnings are not printed in the info view messages panel - (@ejgallego, #, fixes #195) + - Warnings are now printed in the info view messages panel + (@ejgallego, #315, fixes #195) + - Info protocol messages now have location and level + (@ejgallego, #315) # coq-lsp 0.1.4: View --------------------- diff --git a/controller/rq_goals.ml b/controller/rq_goals.ml index 52ae70190..37e845145 100644 --- a/controller/rq_goals.ml +++ b/controller/rq_goals.ml @@ -6,14 +6,7 @@ (************************************************************************) (* Replace by ppx when we can print goals properly in the client *) -let mk_message (_loc, lvl, msg) = - let hdr = - if lvl = 2 then Pp.str "[warning] " - else if lvl = 4 then Pp.str "[info ] " - else if lvl = 5 then Pp.str "[debug ] " - else Pp.mt () - in - Pp.(hdr ++ hov 0 msg) +let mk_message (range, level, text) = Lsp.JFleche.Message.{ range; level; text } let mk_messages node = Option.map Fleche.Doc.Node.messages node diff --git a/editor/code/lib/types.ts b/editor/code/lib/types.ts index 74ba83fde..848019838 100644 --- a/editor/code/lib/types.ts +++ b/editor/code/lib/types.ts @@ -1,6 +1,7 @@ import { VersionedTextDocumentIdentifier, Position, + Range, } from "vscode-languageserver-types"; export interface Hyp { @@ -22,11 +23,17 @@ export interface GoalConfig { given_up: Goal[]; } +export interface Message { + range?: Range; + level: number; + text: Pp; +} + export interface GoalAnswer { textDocument: VersionedTextDocumentIdentifier; position: Position; goals?: GoalConfig; - messages: Pp[]; + messages: Pp[] | Message[]; error?: Pp; } diff --git a/editor/code/views/info/Message.tsx b/editor/code/views/info/Message.tsx index 2bc35b5f9..ce03f8817 100644 --- a/editor/code/views/info/Message.tsx +++ b/editor/code/views/info/Message.tsx @@ -1,11 +1,13 @@ import objectHash from "object-hash"; +import { Message } from "../../lib/types"; import { CoqPp } from "./CoqPp"; -export function Message({ message }: { message: string }) { +export function Message({ message }: { message: string | Message }) { let key = objectHash(message); + let text = typeof message === "string" ? message : message.text; return (
  • - +
  • ); } diff --git a/editor/code/views/info/Messages.tsx b/editor/code/views/info/Messages.tsx index 7913a9b06..dd6156b70 100644 --- a/editor/code/views/info/Messages.tsx +++ b/editor/code/views/info/Messages.tsx @@ -1,10 +1,11 @@ import objectHash from "object-hash"; +import { Message as Msg } from "../../lib/types"; import { Details } from "./Details"; import { Message } from "./Message"; import "./media/messages.css"; -export type MessagesParams = { messages: string[] }; +export type MessagesParams = { messages: string[] | Msg[] }; export function Messages({ messages }: MessagesParams) { let count = messages.length; diff --git a/etc/doc/PROTOCOL.md b/etc/doc/PROTOCOL.md index 16a794e03..c3049f271 100644 --- a/etc/doc/PROTOCOL.md +++ b/etc/doc/PROTOCOL.md @@ -102,11 +102,17 @@ interface GoalConfig { given_up : Goal[]; } +export interface Message { + range?: Range; + level : number; + text : Pp +} + interface GoalAnswer { textDocument: VersionedTextDocumentIdentifier; position: Position; goals?: GoalConfig; - messages: Pp[]; + messages: Pp[] | Message[]; error?: Pp; } ``` @@ -145,6 +151,7 @@ implementation, and we adapted it to `coq-lsp`. #### Changelog +- v0.1.5: message type does now include range and level - v0.1.4: goal type generic, the `stacks` and `def` fields appear, compatible v0.1.3 clients - v0.1.3: send full goal configuration with shelf, given_up, versioned identifier for document - v0.1.2: include messages and optional error in the request response diff --git a/lsp/jFleche.ml b/lsp/jFleche.ml index 8c7fe36ec..1f211ec57 100644 --- a/lsp/jFleche.ml +++ b/lsp/jFleche.ml @@ -60,12 +60,25 @@ let mk_progress ~uri ~version processing = let params = Progress.to_yojson { Progress.textDocument; processing } in Base.mk_notification ~method_:"$/coq/fileProgress" ~params +module Message = struct + type 'a t = + { range : JLang.Range.t option + ; level : int + ; text : 'a + } + [@@deriving yojson] + + let map ~f { range; level; text } = + let text = f text in + { range; level; text } +end + module GoalsAnswer = struct type t = { textDocument : Doc.VersionedTextDocument.t ; position : Lang.Point.t ; goals : string JCoq.Goals.reified_goal JCoq.Goals.goals option - ; messages : string list + ; messages : string Message.t list ; error : string option } [@@deriving to_yojson] @@ -74,7 +87,7 @@ end let mk_goals ~uri ~version ~position ~goals ~messages ~error = let f rg = Coq.Goals.map_reified_goal ~f:Pp.to_string rg in let goals = Option.map (Coq.Goals.map_goals ~f) goals in - let messages = List.map Pp.to_string messages in + let messages = List.map (Message.map ~f:Pp.to_string) messages in let error = Option.map Pp.to_string error in GoalsAnswer.to_yojson { textDocument = { uri; version }; position; goals; messages; error } diff --git a/lsp/jFleche.mli b/lsp/jFleche.mli index 48800bef5..327b4808a 100644 --- a/lsp/jFleche.mli +++ b/lsp/jFleche.mli @@ -25,12 +25,20 @@ val mk_progress : -> Fleche.Progress.Info.t list -> Yojson.Safe.t +module Message : sig + type 'a t = + { range : JLang.Range.t option + ; level : int + ; text : 'a + } +end + module GoalsAnswer : sig type t = { textDocument : Doc.VersionedTextDocument.t ; position : Lang.Point.t ; goals : string JCoq.Goals.reified_goal JCoq.Goals.goals option - ; messages : string list + ; messages : string Message.t list ; error : string option } [@@deriving to_yojson] @@ -41,7 +49,7 @@ val mk_goals : -> version:int -> position:Lang.Point.t -> goals:Coq.Goals.reified_pp option - -> messages:Pp.t list + -> messages:Pp.t Message.t list -> error:Pp.t option -> Yojson.Safe.t From b798d31683403438c7fe4de1185d097f8bfdb552 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 14 Feb 2023 22:06:36 +0100 Subject: [PATCH 18/34] [readme] Note Neovim plugin --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 5a9bce913..55b83df55 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,9 @@ In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the - Official Marketplace: https://marketplace.visualstudio.com/items?itemName=ejgallego.coq-lsp - Open VSX: https://open-vsx.org/extension/ejgallego/coq-lsp +#### **Neovim**: +- Experimental client by Jaehwang Jung: https://github.com/tomtomjhj/coq-lsp.nvim + ### FAQ See our [list of frequently-asked questions](./etc/FAQ.md). From 9a88bf31c8f8dcc96fa5e612cbf5b31f0b9b644a Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Wed, 11 Jan 2023 23:52:04 +0100 Subject: [PATCH 19/34] [info] Improve `documentSymbol` request to return extended info. Fixes #121, #122 We improved `documentSymbol` return type for the newer `DocumentSymbol[]` hierarchical symbol support in recent LSP versions. Sections and modules will now be properly represented, as well as constructors for inductive types, projections for records, etc... --- CHANGES.md | 7 ++ controller/lsp_core.ml | 2 +- controller/requests.ml | 17 --- controller/requests.mli | 2 - controller/rq_completion.ml | 14 ++- controller/rq_symbols.ml | 38 ++++++ controller/rq_symbols.mli | 8 ++ coq/ast.ml | 224 ++++++++++++++++++++++++++---------- coq/ast.mli | 16 ++- examples/documentSymbol.v | 45 ++++++++ examples/ex0.v | 2 +- fleche/doc.ml | 2 + fleche/doc.mli | 2 + lsp/jFleche.ml | 34 +++++- lsp/jFleche.mli | 34 +++++- 15 files changed, 350 insertions(+), 97 deletions(-) create mode 100644 controller/rq_symbols.ml create mode 100644 controller/rq_symbols.mli create mode 100644 examples/documentSymbol.v diff --git a/CHANGES.md b/CHANGES.md index dfb4a4486..18cdda9e8 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -48,6 +48,13 @@ (@ejgallego, #315, fixes #195) - Info protocol messages now have location and level (@ejgallego, #315) + - Warnings are not printed in the info view messages panel + (@ejgallego, #, fixes #195) + - Improved `documentSymbol` return type for newer `DocumentSymbol[]` + hierarchical symbol support. This means that sections and modules + will now be properly represented, as well as constructors for + inductive types, projections for records, etc... (@ejgallego, + #174, fixes #121, #122) # coq-lsp 0.1.4: View --------------------- diff --git a/controller/lsp_core.ml b/controller/lsp_core.ml index 90a153888..873536453 100644 --- a/controller/lsp_core.ml +++ b/controller/lsp_core.ml @@ -251,7 +251,7 @@ let do_document_request ~params ~handler = | Stopped _ | Failed _ | FailedPermanent _ -> Postpone (PendingRequest.DocRequest { uri; handler }) -let do_symbols = do_document_request ~handler:Requests.symbols +let do_symbols = do_document_request ~handler:Rq_symbols.symbols let do_trace params = let trace = string_field "value" params in diff --git a/controller/requests.ml b/controller/requests.ml index 63cd91594..f71df42ba 100644 --- a/controller/requests.ml +++ b/controller/requests.ml @@ -19,20 +19,3 @@ type document_request = lines:string Array.t -> doc:Fleche.Doc.t -> Yojson.Safe.t type position_request = doc:Fleche.Doc.t -> point:int * int -> Yojson.Safe.t - -open Lsp.JFleche - -let symbols ~lines ~(doc : Fleche.Doc.t) = - let uri = doc.uri in - let f loc id = - let name = Names.Id.to_string id in - let kind = 12 in - let location = - let range = Fleche.Coq_utils.to_range ~lines loc in - { Location.uri; range } - in - SymInfo.(to_yojson { name; kind; location }) - in - let ast = Fleche.Doc.asts doc in - let slist = Coq.Ast.grab_definitions f ast in - `List slist diff --git a/controller/requests.mli b/controller/requests.mli index 82f5b7e7a..3b8fa6400 100644 --- a/controller/requests.mli +++ b/controller/requests.mli @@ -19,5 +19,3 @@ type document_request = lines:string Array.t -> doc:Fleche.Doc.t -> Yojson.Safe.t type position_request = doc:Fleche.Doc.t -> point:int * int -> Yojson.Safe.t - -val symbols : document_request diff --git a/controller/rq_completion.ml b/controller/rq_completion.ml index eb066e45b..381902869 100644 --- a/controller/rq_completion.ml +++ b/controller/rq_completion.ml @@ -22,10 +22,18 @@ let mk_completion ~label ?insertText ?labelDetails ?textEdit ?commitCharacters CompletionData.( to_yojson { label; insertText; labelDetails; textEdit; commitCharacters }) +let grab_definitions ~f asts = + List.filter_map (fun (ast, st) -> Coq.Ast.definition_info ~st ast) asts + |> List.concat |> List.filter_map f + let build_doc_idents ~doc : Yojson.Safe.t list = - let f _loc id = mk_completion ~label:Names.Id.(to_string id) () in - let ast = Fleche.Doc.asts doc in - let clist = Coq.Ast.grab_definitions f ast in + let f { Coq.Ast.Info.name; _ } = + match name.v with + | Anonymous -> None + | Name id -> Some (mk_completion ~label:Names.Id.(to_string id) ()) + in + let asts = Fleche.Doc.asts_with_st doc in + let clist = grab_definitions ~f asts in clist let mk_completion_list ~incomplete ~items : Yojson.Safe.t = diff --git a/controller/rq_symbols.ml b/controller/rq_symbols.ml new file mode 100644 index 000000000..58dab7d64 --- /dev/null +++ b/controller/rq_symbols.ml @@ -0,0 +1,38 @@ +(************************************************************************) +(* Coq Language Server Protocol -- Requests *) +(* Copyright 2019 MINES ParisTech -- Dual License LGPL 2.1 / GPL3+ *) +(* Copyright 2019-2023 Inria -- Dual License LGPL 2.1 / GPL3+ *) +(* Written by: Emilio J. Gallego Arias *) +(************************************************************************) + +let rec mk_syminfo ~lines info = + let Coq.Ast.Info.{ range; name; kind; detail; children } = info in + let range = Fleche.Coq_utils.to_range ~lines range in + let { CAst.loc = name_loc; v = name } = name in + let selectionRange = Fleche.Coq_utils.to_range ~lines (Option.get name_loc) in + let name = Names.Name.print name |> Pp.string_of_ppcmds in + let children = Option.map (List.map (mk_syminfo ~lines)) children in + Lsp.JFleche.DocumentSymbol. + { name + ; kind + ; detail + ; tags = None + ; deprecated = None + ; range + ; selectionRange + ; children + } + +let mk_syminfo ~lines info = + mk_syminfo ~lines info |> Lsp.JFleche.DocumentSymbol.to_yojson + +let definition_info (ast, st) = Coq.Ast.definition_info ~st ast + +let symbols ~lines ~(doc : Fleche.Doc.t) = + let definfo = + Fleche.Doc.asts_with_st doc + |> List.filter_map definition_info + |> List.concat + in + let result = List.map (mk_syminfo ~lines) definfo in + `List result diff --git a/controller/rq_symbols.mli b/controller/rq_symbols.mli new file mode 100644 index 000000000..fcac4d349 --- /dev/null +++ b/controller/rq_symbols.mli @@ -0,0 +1,8 @@ +(************************************************************************) +(* Coq Language Server Protocol -- Requests *) +(* Copyright 2019 MINES ParisTech -- Dual License LGPL 2.1 / GPL3+ *) +(* Copyright 2019-2023 Inria -- Dual License LGPL 2.1 / GPL3+ *) +(* Written by: Emilio J. Gallego Arias *) +(************************************************************************) + +val symbols : Requests.document_request diff --git a/coq/ast.ml b/coq/ast.ml index 056110f2e..028c87761 100644 --- a/coq/ast.ml +++ b/coq/ast.ml @@ -1,4 +1,4 @@ -module Vernacexpr = Serlib.Ser_vernacexpr +(* module Vernacexpr = Serlib.Ser_vernacexpr *) type t = Vernacexpr.vernac_control @@ -13,65 +13,48 @@ let loc { CAst.loc; _ } = loc let print x = try Ppvernac.pr_vernac x with _ -> Pp.str "XXX Coq printer crashed" -let match_coq_def f v : _ list = - let open Vernacexpr in - let ndecls = - (* TODO: (co)fixpoint, instance, assumption *) - match v.CAst.v.expr with - | VernacDefinition (_, (CAst.{ loc = Some loc; v = name }, _), _) -> - Nameops.Name.fold_left (fun _ id -> [ (loc, id) ]) [] name - | VernacStartTheoremProof (_, ndecls) -> - let f_id = function - | (CAst.{ loc = None; _ }, _), _ -> None - | (CAst.{ loc = Some loc; v }, _), _ -> Some (loc, v) - in - CList.map_filter f_id ndecls - | _ -> [] - in - CList.map (fun (loc, id) -> f loc id) ndecls - -(* | VernacLoad (_, _) -> (??) | VernacSyntaxExtension (_, _) -> (??) | - VernacOpenCloseScope (_, _) -> (??) | VernacDeclareScope _ -> (??) | - VernacDelimiters (_, _) -> (??) | VernacBindScope (_, _) -> (??) | - VernacInfix (_, _, _) -> (??) | VernacNotation (_, _, _) -> (??) | - VernacNotationAddFormat (_, _, _) -> (??) | VernacDeclareCustomEntry _ -> - (??) | VernacEndProof _ -> (??) | VernacExactProof _ -> (??) | - VernacAssumption (_, _, _) -> (??) | VernacInductive (_, _, _, _) -> (??) | - VernacFixpoint (_, _) -> (??) | VernacCoFixpoint (_, _) -> (??) | - VernacScheme _ -> (??) | VernacCombinedScheme (_, _) -> (??) | VernacUniverse - _ -> (??) | VernacConstraint _ -> (??) | VernacBeginSection _ -> (??) | - VernacEndSegment _ -> (??) | VernacRequire (_, _, _) -> (??) | VernacImport - (_, _) -> (??) | VernacCanonical _ -> (??) | VernacCoercion (_, _, _) -> (??) - | VernacIdentityCoercion (_, _, _) -> (??) | VernacNameSectionHypSet (_, _) - -> (??) | VernacInstance (_, _, _, _) -> (??) | VernacDeclareInstance (_, _, - _) -> (??) | VernacContext _ -> (??) | VernacExistingInstance _ -> (??) | - VernacExistingClass _ -> (??) | VernacDeclareModule (_, _, _, _) -> (??) | - VernacDefineModule (_, _, _, _, _) -> (??) | VernacDeclareModuleType (_, _, - _, _) -> (??) | VernacInclude _ -> (??) | VernacSolveExistential (_, _) -> - (??) | VernacAddLoadPath (_, _, _) -> (??) | VernacRemoveLoadPath _ -> (??) | - VernacAddMLPath (_, _) -> (??) | VernacDeclareMLModule _ -> (??) | - VernacChdir _ -> (??) | VernacWriteState _ -> (??) | VernacRestoreState _ -> - (??) | VernacResetName _ -> (??) | VernacResetInitial -> (??) | VernacBack _ - -> (??) | VernacBackTo _ -> (??) | VernacCreateHintDb (_, _) -> (??) | - VernacRemoveHints (_, _) -> (??) | VernacHints (_, _) -> (??) | - VernacSyntacticDefinition (_, _, _) -> (??) | VernacArguments (_, _, _, _, _) - -> (??) | VernacReserve _ -> (??) | VernacGeneralizable _ -> (??) | - VernacSetOpacity _ -> (??) | VernacSetStrategy _ -> (??) | VernacUnsetOption - (_, _) -> (??) | VernacSetOption (_, _, _) -> (??) | VernacAddOption (_, _) - -> (??) | VernacRemoveOption (_, _) -> (??) | VernacMemOption (_, _) -> (??) - | VernacPrintOption _ -> (??) | VernacCheckMayEval (_, _, _) -> (??) | - VernacGlobalCheck _ -> (??) | VernacDeclareReduction (_, _) -> (??) | - VernacPrint _ -> (??) | VernacSearch (_, _, _) -> (??) | VernacLocate _ -> - (??) | VernacRegister (_, _) -> (??) | VernacPrimitive (_, _, _) -> (??) | - VernacComments _ -> (??) | VernacAbort _ -> (??) | VernacAbortAll -> (??) | - VernacRestart -> (??) | VernacUndo _ -> (??) | VernacUndoTo _ -> (??) | - VernacFocus _ -> (??) | VernacUnfocus -> (??) | VernacUnfocused -> (??) | - VernacBullet _ -> (??) | VernacSubproof _ -> (??) | VernacEndSubproof -> (??) - | VernacShow _ -> (??) | VernacCheckGuard -> (??) | VernacProof (_, _) -> - (??) | VernacProofMode _ -> (??) | VernacExtend (_, _) -> (??)) *) - -let grab_definitions f nodes = - List.fold_left (fun acc s -> match_coq_def f s @ acc) [] nodes +module Kinds = struct + (* LSP kinds *) + let _file = 1 + let _module_ = 2 + let _namespace = 3 + let _package = 4 + let class_ = 5 + let method_ = 6 + let _property = 7 + let field = 8 + let _constructor = 9 + let enum = 10 + let _interface = 11 + let function_ = 12 + let variable = 13 + let _constant = 14 + let _string = 15 + let _number = 16 + let _boolean = 17 + let _array = 18 + let _object = 19 + let _key = 20 + let _null = 21 + let enumMember = 22 + let struct_ = 23 + let _event = 24 + let _operator = 25 + let _typeParameter = 26 +end + +module Info = struct + type 'l t = + { range : 'l + ; name : Names.Name.t CAst.t + ; kind : int + ; detail : string option (* usually the type *) + ; children : 'l t list option + } + + let make ~range ~name ~kind ?detail ?children () = + { range; name; kind; detail; children } +end let marshal_in ic : t = Marshal.from_channel ic let marshal_out oc v = Marshal.to_channel oc v [] @@ -92,3 +75,124 @@ let pp_loc ?(print_file = false) fmt loc = let loc_to_string ?print_file loc = Format.asprintf "%a" (pp_loc ?print_file) loc + +open CAst +open Vernacexpr + +let inductive_detail = function + | Inductive_kw -> (Kinds.enum, "Inductive") + | CoInductive -> (Kinds.enum, "CoInductive") + | Variant -> (Kinds.struct_, "Variant") + | Record -> (Kinds.struct_, "Record") + | Structure -> (Kinds.struct_, "Structure") + | Class _ -> (Kinds.class_, "Class") + +let assumption_detail = function + | Decls.Definitional -> "Variable" + | Logical -> "Axiom" + | Conjectural -> "Parameter" + | Context -> "Context" + +let definition_detail = function + | Decls.Definition -> "Definition" + | Coercion -> "Coercion" + | SubClass -> "SubClass" + | CanonicalStructure -> "CanonicalStructure" + | Example -> "Example" + | Fixpoint -> "Fixpoint" + | CoFixpoint -> "CoFixpoint" + | Scheme -> "Scheme" + | StructureComponent -> "StructureComponent" + | IdentityCoercion -> "IdentityCoercion" + | Instance -> "Instance" + | Method -> "Method" + | Let -> "Let" + +let theorem_detail = function + | Decls.Theorem -> "Theorem" + | Lemma -> "Lemma" + | Fact -> "Fact" + | Remark -> "Remark" + | Property -> "Property" + | Proposition -> "Proposition" + | Corollary -> "Corollary" + +let mk_name = CAst.map (fun id -> Names.Name id) + +let constructor_info ((_, (id, _typ)) : constructor_expr) = + let range = Option.get id.loc in + let name = mk_name id in + Info.make ~range ~name ~kind:Kinds.enumMember () + +let local_decl_expr_info ~kind (l : local_decl_expr) = + let name = + match l with + | AssumExpr (ln, _, _) -> ln + | DefExpr (ln, _, _, _) -> ln + in + let range = Option.get name.loc in + Info.make ~range ~name ~kind () + +let projection_info ((ld, _) : local_decl_expr * record_field_attr) = + local_decl_expr_info ~kind:Kinds.field ld + +let inductive_info ~range ikind (expr, _) = + let (_, (id, _)), _, _, cons = expr in + let name = mk_name id in + match cons with + | Constructors ci -> + let children = List.map constructor_info ci in + let kind, detail = inductive_detail ikind in + Info.make ~range ~name ~kind ~detail ~children () + | RecordDecl (_, pi, _) -> + let children = List.map projection_info pi in + let kind, detail = inductive_detail ikind in + Info.make ~range ~name ~kind ~detail ~children () + +let inductives_info ~range ikind idecls = + match idecls with + | [] -> None + | inds -> Some (List.map (inductive_info ~range ikind) inds) + +let ident_decl_info ~kind ~detail (lident, _) = + let range = Option.get lident.loc in + let name = mk_name lident in + Info.make ~range ~name ~detail ~kind () + +let assumption_info kind (_, (ids, _)) = + let detail = assumption_detail kind in + let kind = Kinds.variable in + List.map (ident_decl_info ~kind ~detail) ids + +let fixpoint_info ~range { fname; _ } = + let name = mk_name fname in + Info.make ~range ~name ~kind:Kinds.function_ () + +let definition_info ~st:_ CAst.{ loc; v } : _ Info.t list option = + let open Vernacexpr in + match loc with + | None -> None + | Some range -> ( + (* TODO: sections *) + match v.expr with + | VernacDefinition ((_, kind), (name, _), _) -> + let detail = definition_detail kind in + let kind = Kinds.function_ in + Some [ Info.make ~range ~name ~detail ~kind () ] + | VernacStartTheoremProof (kind, ndecls) -> ( + let detail = theorem_detail kind in + let kind = Kinds.function_ in + match ndecls with + | ((id, _), _) :: _ -> + let name = mk_name id in + Some [ Info.make ~range ~name ~detail ~kind () ] + | [] -> None) + | VernacInductive (ikind, idecls) -> inductives_info ~range ikind idecls + | VernacAssumption ((_, kind), _, ids) -> + Some (List.concat_map (assumption_info kind) ids) + | VernacFixpoint (_, f_expr) -> + Some (List.map (fixpoint_info ~range) f_expr) + | VernacInstance ((name, _), _, _, _, _) -> + let kind = Kinds.method_ in + Some [ Info.make ~range ~name ~kind () ] + | _ -> None) diff --git a/coq/ast.mli b/coq/ast.mli index c845feefa..2d4ba3df2 100644 --- a/coq/ast.mli +++ b/coq/ast.mli @@ -3,7 +3,21 @@ type t val loc : t -> Loc.t option val hash : t -> int val compare : t -> t -> int -val grab_definitions : (Loc.t -> Names.Id.t -> 'a) -> t list -> 'a list + +(** Information about the Ast, to move to lang *) +module Info : sig + type 'l t = + { range : 'l + ; name : Names.Name.t CAst.t + ; kind : int + ; detail : string option (* usually the type *) + ; children : 'l t list option + } +end + +(** [definition_info ~st ast] Compute info about a possible definition in [ast], + we need [~st] to compute the type. *) +val definition_info : st:State.t -> t -> Loc.t Info.t list option (** Printing *) val print : t -> Pp.t diff --git a/examples/documentSymbol.v b/examples/documentSymbol.v new file mode 100644 index 000000000..06cf6e4ff --- /dev/null +++ b/examples/documentSymbol.v @@ -0,0 +1,45 @@ +Record a := { + proj1 : Type + ; proj2 : Type +}. + +Inductive foo := A | B : a -> foo. + +Inductive eh1 := Ah1 : eh2 -> eh1 +with eh2 := Bh1 : eh1 -> eh2. + +Variable (j : nat). + +Axiom test : False. + +Fixpoint f1 (n : nat) := match n with O => true | S n => f2 n end +with f2 (n : nat) := match n with O => true | S n => f1 n end. + +Class EqBar := { wit : nat }. + +(* Fixme here, Instance is not recognized as a proof opener *) +Instance foobar : EqBar. +Admitted. + +Section Moo. + + Variable (jj : nat). + Hypothesis (umm : Type). + + Definition m1 := 3. + + Theorem m2 : Type. Qed. + +End Moo. + +Module Bar. + + Variable (u : nat). + + Parameter (v : nat). + + Definition k := 3. + + Theorem not : False. Qed. + +End Bar. \ No newline at end of file diff --git a/examples/ex0.v b/examples/ex0.v index b89961bd1..31fe7fcb6 100644 --- a/examples/ex0.v +++ b/examples/ex0.v @@ -36,7 +36,7 @@ Definition hola := 3. Inductive event : Type := | R of nat - | S of nat. + | S of nat. Record pair_emilio := { fst : nat; diff --git a/fleche/doc.ml b/fleche/doc.ml index 8eccea992..657088940 100644 --- a/fleche/doc.ml +++ b/fleche/doc.ml @@ -167,6 +167,7 @@ module Node = struct let diags { diags; _ } = diags let messages { messages; _ } = messages let info { info; _ } = info + let with_state f n = Option.map (fun x -> (x, n.state)) (f n) end module Completion = struct @@ -204,6 +205,7 @@ let mk_doc root_state workspace uri = Coq.Init.doc_init ~root_state ~workspace ~uri let asts doc = List.filter_map Node.ast doc.nodes +let asts_with_st doc = List.filter_map Node.(with_state ast) doc.nodes let init_fname ~uri = let file = Lang.LUri.File.to_string_file uri in diff --git a/fleche/doc.mli b/fleche/doc.mli index 447f3f5de..edd1d35e2 100644 --- a/fleche/doc.mli +++ b/fleche/doc.mli @@ -65,6 +65,8 @@ type t = private (** Return the list of all asts in the doc *) val asts : t -> Coq.Ast.t list +val asts_with_st : t -> (Coq.Ast.t * Coq.State.t) list + (** Note, [create] calls Coq but it is not cached in the Memo.t table *) val create : state:Coq.State.t diff --git a/lsp/jFleche.ml b/lsp/jFleche.ml index 1f211ec57..bce4d833c 100644 --- a/lsp/jFleche.ml +++ b/lsp/jFleche.ml @@ -79,7 +79,7 @@ module GoalsAnswer = struct ; position : Lang.Point.t ; goals : string JCoq.Goals.reified_goal JCoq.Goals.goals option ; messages : string Message.t list - ; error : string option + ; error : string option [@default None] } [@@deriving to_yojson] end @@ -92,6 +92,23 @@ let mk_goals ~uri ~version ~position ~goals ~messages ~error = GoalsAnswer.to_yojson { textDocument = { uri; version }; position; goals; messages; error } +(** {1} DocumentSymbols *) + +module DocumentSymbol = struct + type t = + { name : string + ; detail : string option [@default None] + ; kind : int + ; tags : int list option [@default None] + ; deprecated : bool option [@default None] + ; range : Lang.Range.t + ; selectionRange : Lang.Range.t + ; children : t list option [@default None] + } + [@@deriving yojson] +end + +(** Not used as of today, superseded by DocumentSymbol *) module Location = struct type t = { uri : Lang.LUri.File.t @@ -100,6 +117,7 @@ module Location = struct [@@deriving yojson] end +(** Not used as of today, superseded by DocumentSymbol *) module SymInfo = struct type t = { name : string @@ -109,6 +127,8 @@ module SymInfo = struct [@@deriving yojson] end +(** {1} Hover *) + module HoverContents = struct type t = { kind : string @@ -120,11 +140,13 @@ end module HoverInfo = struct type t = { contents : HoverContents.t - ; range : Lang.Range.t option + ; range : Lang.Range.t option [@default None] } [@@deriving yojson] end +(** {1} Completion *) + module LabelDetails = struct type t = { detail : string } [@@deriving yojson] end @@ -141,10 +163,10 @@ end module CompletionData = struct type t = { label : string - ; insertText : string option - ; labelDetails : LabelDetails.t option - ; textEdit : TextEditReplace.t option - ; commitCharacters : string list option + ; insertText : string option [@default None] + ; labelDetails : LabelDetails.t option [@default None] + ; textEdit : TextEditReplace.t option [@default None] + ; commitCharacters : string list option [@default None] } [@@deriving yojson] end diff --git a/lsp/jFleche.mli b/lsp/jFleche.mli index 327b4808a..ffec7c380 100644 --- a/lsp/jFleche.mli +++ b/lsp/jFleche.mli @@ -39,7 +39,7 @@ module GoalsAnswer : sig ; position : Lang.Point.t ; goals : string JCoq.Goals.reified_goal JCoq.Goals.goals option ; messages : string Message.t list - ; error : string option + ; error : string option [@default None] } [@@deriving to_yojson] end @@ -53,6 +53,23 @@ val mk_goals : -> error:Pp.t option -> Yojson.Safe.t +(** {1 DocumentSymbols} *) + +module DocumentSymbol : sig + type t = + { name : string + ; detail : string option [@default None] + ; kind : int + ; tags : int list option [@default None] + ; deprecated : bool option [@default None] + ; range : Lang.Range.t + ; selectionRange : Lang.Range.t + ; children : t list option [@default None] + } + [@@deriving yojson] +end + +(** Not used as of today, superseded by DocumentSymbol *) module Location : sig type t = { uri : Lang.LUri.File.t @@ -61,6 +78,7 @@ module Location : sig [@@deriving yojson] end +(** Not used as of today, superseded by DocumentSymbol *) module SymInfo : sig type t = { name : string @@ -70,6 +88,8 @@ module SymInfo : sig [@@deriving yojson] end +(** {1 Hover} *) + module HoverContents : sig type t = { kind : string @@ -81,11 +101,13 @@ end module HoverInfo : sig type t = { contents : HoverContents.t - ; range : Lang.Range.t option + ; range : Lang.Range.t option [@default None] } [@@deriving yojson] end +(** {1 Completion} *) + module LabelDetails : sig type t = { detail : string } [@@deriving yojson] end @@ -102,10 +124,10 @@ end module CompletionData : sig type t = { label : string - ; insertText : string option - ; labelDetails : LabelDetails.t option - ; textEdit : TextEditReplace.t option - ; commitCharacters : string list option + ; insertText : string option [@default None] + ; labelDetails : LabelDetails.t option [@default None] + ; textEdit : TextEditReplace.t option [@default None] + ; commitCharacters : string list option [@default None] } [@@deriving yojson] end From 8d8e5a9c9873206a282ec784ea1c1f5c00663795 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 14 Feb 2023 22:34:04 +0100 Subject: [PATCH 20/34] [changes] Update fixed issue in #290 --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index dfb4a4486..a668c94ba 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -43,7 +43,7 @@ #314, fixes #308) - Goal display handles background goals better, showing preview, goals stack, and focusing information (@ejgallego, #290, fixes - #288, based on jsCoq code by Shachar Itzhaky) + #288, fixes #304, based on jsCoq code by Shachar Itzhaky) - Warnings are now printed in the info view messages panel (@ejgallego, #315, fixes #195) - Info protocol messages now have location and level From c873bf37ae1b4f3ca7c9a29e460b6964c0d6150e Mon Sep 17 00:00:00 2001 From: Ali Caglayan Date: Tue, 14 Feb 2023 23:08:33 +0100 Subject: [PATCH 21/34] Update flake.nix --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index f5541b796..16d0af51f 100644 --- a/flake.nix +++ b/flake.nix @@ -1,5 +1,5 @@ { - description = "A language server (LSP) for the coq theorem prover"; + description = "A language server (LSP) for the Coq theorem prover"; outputs = inputs @ { self, From 0a845af29852813f5e69f1ec9dafce7d70427dc2 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 14 Feb 2023 23:27:56 +0100 Subject: [PATCH 22/34] [fleche] Allow error recovery to execute dynamic commands This is required for advanced stuff like #319 --- CHANGES.md | 2 ++ coq/protect.ml | 2 ++ coq/protect.mli | 1 + coq/state.ml | 6 ++---- coq/state.mli | 2 +- fleche/doc.ml | 31 ++++++++++++++++++++----------- fleche/memo.mli | 2 +- 7 files changed, 29 insertions(+), 17 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 5a642bc2a..9bb5ce649 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -55,6 +55,8 @@ will now be properly represented, as well as constructors for inductive types, projections for records, etc... (@ejgallego, #174, fixes #121, #122) + - [internal] Error recovery can now execute full Coq commands as to + amend states, required for #319 (@ejallego, #320) # coq-lsp 0.1.4: View --------------------- diff --git a/coq/protect.ml b/coq/protect.ml index 647137f59..14f475e32 100644 --- a/coq/protect.ml +++ b/coq/protect.ml @@ -57,6 +57,8 @@ module E = struct let map_loc ~f { r; feedback } = { r = R.map_loc ~f r; feedback = List.map (map_message ~f) feedback } + + let ok v = { r = Completed (Ok v); feedback = [] } end let fb_queue : Loc.t Message.t list ref = ref [] diff --git a/coq/protect.mli b/coq/protect.mli index 00d675d77..654357cdd 100644 --- a/coq/protect.mli +++ b/coq/protect.mli @@ -35,6 +35,7 @@ module E : sig val map : f:('a -> 'b) -> ('a, 'l) t -> ('b, 'l) t val map_loc : f:('l -> 'm) -> ('a, 'l) t -> ('a, 'm) t + val ok : 'a -> ('a, 'l) t end (** Must be hooked to allow [Protect] to capture the feedback. *) diff --git a/coq/state.ml b/coq/state.ml index 01ea22a36..edbd25d95 100644 --- a/coq/state.ml +++ b/coq/state.ml @@ -98,7 +98,7 @@ let in_state ~st ~f a = in Protect.eval ~f a -let admit ~st = +let admit ~st () = let () = Vernacstate.unfreeze_interp_state st in match st.Vernacstate.lemmas with | None -> st @@ -110,6 +110,4 @@ let admit ~st = let st = Vernacstate.freeze_interp_state ~marshallable:false in { st with lemmas; program } -(* TODO: implement protect once error recovery supports a failing recovery - execution *) -(* let admit ~st = Protect.eval ~f:(admit ~st) () *) +let admit ~st = Protect.eval ~f:(admit ~st) () diff --git a/coq/state.mli b/coq/state.mli index 60ac6426a..de26942de 100644 --- a/coq/state.mli +++ b/coq/state.mli @@ -23,7 +23,7 @@ val in_state : st:t -> f:('a -> 'b) -> 'a -> ('b, Loc.t) Protect.E.t val drop_proofs : st:t -> t (** Admit an ongoing proof *) -val admit : st:t -> t +val admit : st:t -> (t, Loc.t) Protect.E.t (** Extra / interanl *) val marshal_in : in_channel -> t diff --git a/fleche/doc.ml b/fleche/doc.ml index 657088940..1dc65b2da 100644 --- a/fleche/doc.ml +++ b/fleche/doc.ml @@ -378,18 +378,18 @@ let parse_stm ~st ps = let rec find_recovery_for_failed_qed ~default nodes = match nodes with - | [] -> (default, None) + | [] -> Coq.Protect.E.ok (default, None) | { Node.ast = None; _ } :: ns -> find_recovery_for_failed_qed ~default ns | { ast = Some ast; state; range; _ } :: ns -> ( match (Coq.Ast.to_coq ast).CAst.v.Vernacexpr.expr with | Vernacexpr.VernacStartTheoremProof _ -> ( if !Config.v.admit_on_bad_qed then - let state = Memo.interp_admitted ~st:state in - (state, Some range) + Memo.interp_admitted ~st:state + |> Coq.Protect.E.map ~f:(fun state -> (state, Some range)) else match ns with - | [] -> (default, None) - | n :: _ -> (n.state, Some n.range)) + | [] -> Coq.Protect.E.ok (default, None) + | n :: _ -> Coq.Protect.E.ok (n.state, Some n.range)) | _ -> find_recovery_for_failed_qed ~default ns) (* Simple heuristic for Qed. *) @@ -397,11 +397,12 @@ let state_recovery_heuristic doc st v = match (Coq.Ast.to_coq v).CAst.v.Vernacexpr.expr with (* Drop the top proof state if we reach a faulty Qed. *) | Vernacexpr.VernacEndProof _ -> - let st, range = find_recovery_for_failed_qed ~default:st doc.nodes in - let loc_msg = Option.cata Lang.Range.to_string "no loc" range in - Io.Log.trace "recovery" (loc_msg ^ " " ^ Memo.input_info (v, st)); - st - | _ -> st + find_recovery_for_failed_qed ~default:st doc.nodes + |> Coq.Protect.E.map ~f:(fun (st, range) -> + let loc_msg = Option.cata Lang.Range.to_string "no loc" range in + Io.Log.trace "recovery" (loc_msg ^ " " ^ Memo.input_info (v, st)); + st) + | _ -> Coq.Protect.E.ok st let interp_and_info ~parsing_time ~st ast = let { Gc.major_words = mw_prev; _ } = Gc.quick_stat () in @@ -507,6 +508,14 @@ let strategy_of_coq_err ~node ~state ~last_tok = function | Coq.Protect.Error.Anomaly _ -> Stop (Failed last_tok, node) | User _ -> Continue { state; last_tok; node } +(* XXX: This should be refined. *) +let recovery_interp ~doc ~st ~ast = + let { Coq.Protect.E.r; feedback = _ } = state_recovery_heuristic doc st ast in + match r with + | Interrupted -> st + | Completed (Ok st) -> st + | Completed (Error _) -> st + let node_of_coq_result ~doc ~range ~ast ~st ~parsing_diags ~parsing_feedback ~feedback ~info last_tok res = match res with @@ -521,7 +530,7 @@ let node_of_coq_result ~doc ~range ~ast ~st ~parsing_diags ~parsing_feedback | Error (User (err_range, msg) as coq_err) -> let err_range = Option.default range err_range in let err_diags = [ Util.mk_error_diagnostic ~range:err_range ~msg ~ast ] in - let recovery_st = state_recovery_heuristic doc st ast in + let recovery_st = recovery_interp ~doc ~st ~ast in let node = parsed_node ~range ~ast ~state:recovery_st ~parsing_diags ~parsing_feedback ~diags:err_diags ~feedback ~info diff --git a/fleche/memo.mli b/fleche/memo.mli index 8e12f5ae0..ad7098a34 100644 --- a/fleche/memo.mli +++ b/fleche/memo.mli @@ -11,7 +11,7 @@ end val interp_command : st:Coq.State.t -> Coq.Ast.t -> Coq.State.t Coq.Interp.interp_result Stats.t -val interp_admitted : st:Coq.State.t -> Coq.State.t +val interp_admitted : st:Coq.State.t -> (Coq.State.t, Loc.t) Coq.Protect.E.t (** Stats *) val mem_stats : unit -> int From b1f15fcc0a6dcc49691a9ad5f8e59d2f338f4d89 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 14 Feb 2023 23:10:53 +0100 Subject: [PATCH 23/34] [doc] [error] Auto-admit bullets on new bullet error. This is very useful when doing bulleted proofs. Fixes #300 --- CHANGES.md | 4 ++++ coq/protect.ml | 30 +++++++++++++++++++++++------- coq/protect.mli | 1 + coq/state.ml | 13 +++++++++++++ coq/state.mli | 5 ++++- examples/goals.v | 25 +++++++++++++++++++++++++ fleche/doc.ml | 9 +++++++++ 7 files changed, 79 insertions(+), 8 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 9bb5ce649..52e3437c6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -57,6 +57,10 @@ #174, fixes #121, #122) - [internal] Error recovery can now execute full Coq commands as to amend states, required for #319 (@ejallego, #320) + - Auto-admit the previous bullet goal when a new bullet cannot be + opened due to an unsolved previous bullet. This also works for {} + focusing operators. This is very useful when navigating bulleted + proofs (@ejgallego, @Alizter, #319, fixes #300) # coq-lsp 0.1.4: View --------------------- diff --git a/coq/protect.ml b/coq/protect.ml index 14f475e32..2aff321fc 100644 --- a/coq/protect.ml +++ b/coq/protect.ml @@ -46,26 +46,42 @@ let eval_exn ~f x = if CErrors.is_anomaly e then R.Completed (Error (Anomaly (loc, msg))) else R.Completed (Error (User (loc, msg))) +let _bind_exn ~f x = + match x with + | R.Interrupted -> R.Interrupted + | R.Completed (Error e) -> R.Completed (Error e) + | R.Completed (Ok r) -> f r + +let fb_queue : Loc.t Message.t list ref = ref [] + module E = struct type ('a, 'l) t = { r : ('a, 'l) R.t ; feedback : 'l Message.t list } + let eval ~f x = + let r = eval_exn ~f x in + let feedback = List.rev !fb_queue in + let () = fb_queue := [] in + { r; feedback } + let map ~f { r; feedback } = { r = R.map ~f r; feedback } let map_message ~f (loc, lvl, msg) = (Option.map f loc, lvl, msg) let map_loc ~f { r; feedback } = { r = R.map_loc ~f r; feedback = List.map (map_message ~f) feedback } + let bind ~f { r; feedback } = + match r with + | R.Interrupted -> { r = R.Interrupted; feedback } + | R.Completed (Error e) -> { r = R.Completed (Error e); feedback } + | R.Completed (Ok r) -> + let { r; feedback = fb2 } = f r in + { r; feedback = feedback @ fb2 } + let ok v = { r = Completed (Ok v); feedback = [] } end -let fb_queue : Loc.t Message.t list ref = ref [] - (* Eval with reified exceptions and feedback *) -let eval ~f x = - let r = eval_exn ~f x in - let feedback = List.rev !fb_queue in - let () = fb_queue := [] in - { E.r; feedback } +let eval ~f x = E.eval ~f x diff --git a/coq/protect.mli b/coq/protect.mli index 654357cdd..faf080eb3 100644 --- a/coq/protect.mli +++ b/coq/protect.mli @@ -35,6 +35,7 @@ module E : sig val map : f:('a -> 'b) -> ('a, 'l) t -> ('b, 'l) t val map_loc : f:('l -> 'm) -> ('a, 'l) t -> ('a, 'm) t + val bind : f:('a -> ('b, 'l) t) -> ('a, 'l) t -> ('b, 'l) t val ok : 'a -> ('a, 'l) t end diff --git a/coq/state.ml b/coq/state.ml index edbd25d95..597324ebd 100644 --- a/coq/state.ml +++ b/coq/state.ml @@ -76,6 +76,8 @@ let mode ~st = let parsing ~st = st.Vernacstate.parsing +module Proof_ = Proof + module Proof = struct type t = Vernacstate.LemmaStack.t @@ -111,3 +113,14 @@ let admit ~st () = { st with lemmas; program } let admit ~st = Protect.eval ~f:(admit ~st) () + +let admit_goal ~st () = + let () = Vernacstate.unfreeze_interp_state st in + match st.Vernacstate.lemmas with + | None -> st + | Some lemmas -> + let f pf = Declare.Proof.by Proofview.give_up pf |> fst in + let lemmas = Some (Vernacstate.LemmaStack.map_top ~f lemmas) in + { st with lemmas } + +let admit_goal ~st = Protect.eval ~f:(admit_goal ~st) () diff --git a/coq/state.mli b/coq/state.mli index de26942de..b1765a0ce 100644 --- a/coq/state.mli +++ b/coq/state.mli @@ -22,9 +22,12 @@ val in_state : st:t -> f:('a -> 'b) -> 'a -> ('b, Loc.t) Protect.E.t (** Drop the proofs from the state *) val drop_proofs : st:t -> t -(** Admit an ongoing proof *) +(** Fully admit an ongoing proof *) val admit : st:t -> (t, Loc.t) Protect.E.t +(** Admit the current sub-goal *) +val admit_goal : st:t -> (t, Loc.t) Protect.E.t + (** Extra / interanl *) val marshal_in : in_channel -> t diff --git a/examples/goals.v b/examples/goals.v index ff54ff012..27066206d 100644 --- a/examples/goals.v +++ b/examples/goals.v @@ -13,4 +13,29 @@ Lemma bar : nat. Proof. pose (a := 3). exact a. +Qed. + +Lemma failingBullet : (1 = 1) /\ (21 = 21 /\ 22 = 22) /\ (3 = 3). +Proof. +split;[|split]. +- +- +- +Qed. + +Lemma failingsubProof : (1 = 1) /\ (21 = 21 /\ 22 = 22) /\ (3 = 3). +Proof. +split;[|split]. +3:{ } +- idtac. +- split. 2:{ } + + now auto. +Qed. + +Lemma anotherFailing : nat * nat * nat. +Proof. + refine (_,_,_). + { apply S. } + { exact 2. } + exact 1. Qed. \ No newline at end of file diff --git a/fleche/doc.ml b/fleche/doc.ml index 1dc65b2da..0301df877 100644 --- a/fleche/doc.ml +++ b/fleche/doc.ml @@ -402,6 +402,15 @@ let state_recovery_heuristic doc st v = let loc_msg = Option.cata Lang.Range.to_string "no loc" range in Io.Log.trace "recovery" (loc_msg ^ " " ^ Memo.input_info (v, st)); st) + (* If a new focus (or unfocusing) fails, admit the proof and try + again *) + | Vernacexpr.VernacBullet _ + | Vernacexpr.VernacEndSubproof -> + Io.Log.trace "recovery" "bullet"; + Coq.State.admit_goal ~st + |> Coq.Protect.E.bind ~f:(fun st -> + Coq.Interp.interp ~st v + |> Coq.Protect.E.map ~f:(fun { Coq.Interp.Info.res } -> res)) | _ -> Coq.Protect.E.ok st let interp_and_info ~parsing_time ~st ast = From f3cbcd4aa98185888a7447c776c30bf0c0486330 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Wed, 15 Feb 2023 01:04:17 +0100 Subject: [PATCH 24/34] [documentSymbol] Add some missing `detail` fields Fixes #323 --- coq/ast.ml | 18 ++++++++++++------ fleche/doc.ml | 6 ++---- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/coq/ast.ml b/coq/ast.ml index 028c87761..06b1b06ed 100644 --- a/coq/ast.ml +++ b/coq/ast.ml @@ -122,19 +122,23 @@ let mk_name = CAst.map (fun id -> Names.Name id) let constructor_info ((_, (id, _typ)) : constructor_expr) = let range = Option.get id.loc in let name = mk_name id in - Info.make ~range ~name ~kind:Kinds.enumMember () + let detail = "Constructor" in + let kind = Kinds.enumMember in + Info.make ~range ~name ~detail ~kind () -let local_decl_expr_info ~kind (l : local_decl_expr) = +let local_decl_expr_info ~kind ~detail (l : local_decl_expr) = let name = match l with | AssumExpr (ln, _, _) -> ln | DefExpr (ln, _, _, _) -> ln in let range = Option.get name.loc in - Info.make ~range ~name ~kind () + Info.make ~range ~name ~kind ~detail () let projection_info ((ld, _) : local_decl_expr * record_field_attr) = - local_decl_expr_info ~kind:Kinds.field ld + let kind = Kinds.field in + let detail = "Field" in + local_decl_expr_info ~detail ~kind ld let inductive_info ~range ikind (expr, _) = let (_, (id, _)), _, _, cons = expr in @@ -166,7 +170,8 @@ let assumption_info kind (_, (ids, _)) = let fixpoint_info ~range { fname; _ } = let name = mk_name fname in - Info.make ~range ~name ~kind:Kinds.function_ () + let detail = "Fixpoint" in + Info.make ~range ~name ~detail ~kind:Kinds.function_ () let definition_info ~st:_ CAst.{ loc; v } : _ Info.t list option = let open Vernacexpr in @@ -194,5 +199,6 @@ let definition_info ~st:_ CAst.{ loc; v } : _ Info.t list option = Some (List.map (fixpoint_info ~range) f_expr) | VernacInstance ((name, _), _, _, _, _) -> let kind = Kinds.method_ in - Some [ Info.make ~range ~name ~kind () ] + let detail = "Instance" in + Some [ Info.make ~range ~name ~kind ~detail () ] | _ -> None) diff --git a/fleche/doc.ml b/fleche/doc.ml index 0301df877..255340735 100644 --- a/fleche/doc.ml +++ b/fleche/doc.ml @@ -402,10 +402,8 @@ let state_recovery_heuristic doc st v = let loc_msg = Option.cata Lang.Range.to_string "no loc" range in Io.Log.trace "recovery" (loc_msg ^ " " ^ Memo.input_info (v, st)); st) - (* If a new focus (or unfocusing) fails, admit the proof and try - again *) - | Vernacexpr.VernacBullet _ - | Vernacexpr.VernacEndSubproof -> + (* If a new focus (or unfocusing) fails, admit the proof and try again *) + | Vernacexpr.VernacBullet _ | Vernacexpr.VernacEndSubproof -> Io.Log.trace "recovery" "bullet"; Coq.State.admit_goal ~st |> Coq.Protect.E.bind ~f:(fun st -> From 61797e702d2cf77b256213a2fcc1b2b402b7c4b6 Mon Sep 17 00:00:00 2001 From: Ali Caglayan Date: Wed, 15 Feb 2023 01:23:18 +0100 Subject: [PATCH 25/34] add CI status badge --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index cb2e36c85..8c015b8eb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ ## Coq LSP +[![Github CI][ci-badge]][ci-link] + `coq-lsp` is a [Language Server](https://microsoft.github.io/language-server-protocol/) and [Visual Studio Code](https://code.visualstudio.com/) extension for the [Coq Proof @@ -232,3 +234,6 @@ server, thanks to all the collaborators in that project! + +[ci-badge]: https://github.com/ejgallego/coq-lsp/actions/workflows/build.yml/badge.svg +[ci-link]: https://github.com/ejgallego/coq-lsp/actions/workflows/build.yml From c9847af1baf804f711d3886ee073a21c19e72639 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Wed, 15 Feb 2023 02:23:11 +0100 Subject: [PATCH 26/34] [fleche] [info] Store Ast info incrementally Fixes #316 --- CHANGES.md | 1 + controller/rq_completion.ml | 11 ++- controller/rq_symbols.ml | 6 +- coq/ast.ml | 2 +- coq/ast.mli | 6 +- fleche/doc.ml | 142 +++++++++++++++++++----------------- fleche/doc.mli | 16 ++-- fleche/info.ml | 2 +- fleche/info.mli | 2 +- 9 files changed, 101 insertions(+), 87 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 52e3437c6..a5cc453f0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -61,6 +61,7 @@ opened due to an unsolved previous bullet. This also works for {} focusing operators. This is very useful when navigating bulleted proofs (@ejgallego, @Alizter, #319, fixes #300) + - Store Ast.Info.t incrementally (@ejgallego, #337, fixes #316) # coq-lsp 0.1.4: View --------------------- diff --git a/controller/rq_completion.ml b/controller/rq_completion.ml index 381902869..034f43bd4 100644 --- a/controller/rq_completion.ml +++ b/controller/rq_completion.ml @@ -22,9 +22,10 @@ let mk_completion ~label ?insertText ?labelDetails ?textEdit ?commitCharacters CompletionData.( to_yojson { label; insertText; labelDetails; textEdit; commitCharacters }) -let grab_definitions ~f asts = - List.filter_map (fun (ast, st) -> Coq.Ast.definition_info ~st ast) asts - |> List.concat |> List.filter_map f +let grab_definitions ~doc ~f = + let asts = Fleche.Doc.asts doc in + let df { Fleche.Doc.Node.Ast.ast_info; _ } = ast_info in + List.filter_map df asts |> List.concat |> List.filter_map f let build_doc_idents ~doc : Yojson.Safe.t list = let f { Coq.Ast.Info.name; _ } = @@ -32,9 +33,7 @@ let build_doc_idents ~doc : Yojson.Safe.t list = | Anonymous -> None | Name id -> Some (mk_completion ~label:Names.Id.(to_string id) ()) in - let asts = Fleche.Doc.asts_with_st doc in - let clist = grab_definitions ~f asts in - clist + grab_definitions ~doc ~f let mk_completion_list ~incomplete ~items : Yojson.Safe.t = `Assoc [ ("isIncomplete", `Bool incomplete); ("items", `List items) ] diff --git a/controller/rq_symbols.ml b/controller/rq_symbols.ml index 58dab7d64..39c0ab36a 100644 --- a/controller/rq_symbols.ml +++ b/controller/rq_symbols.ml @@ -26,13 +26,11 @@ let rec mk_syminfo ~lines info = let mk_syminfo ~lines info = mk_syminfo ~lines info |> Lsp.JFleche.DocumentSymbol.to_yojson -let definition_info (ast, st) = Coq.Ast.definition_info ~st ast +let definition_info { Fleche.Doc.Node.Ast.ast_info; _ } = ast_info let symbols ~lines ~(doc : Fleche.Doc.t) = let definfo = - Fleche.Doc.asts_with_st doc - |> List.filter_map definition_info - |> List.concat + Fleche.Doc.asts doc |> List.filter_map definition_info |> List.concat in let result = List.map (mk_syminfo ~lines) definfo in `List result diff --git a/coq/ast.ml b/coq/ast.ml index 06b1b06ed..96377433a 100644 --- a/coq/ast.ml +++ b/coq/ast.ml @@ -173,7 +173,7 @@ let fixpoint_info ~range { fname; _ } = let detail = "Fixpoint" in Info.make ~range ~name ~detail ~kind:Kinds.function_ () -let definition_info ~st:_ CAst.{ loc; v } : _ Info.t list option = +let make_info ~st:_ CAst.{ loc; v } : _ Info.t list option = let open Vernacexpr in match loc with | None -> None diff --git a/coq/ast.mli b/coq/ast.mli index 2d4ba3df2..06ca57c3c 100644 --- a/coq/ast.mli +++ b/coq/ast.mli @@ -15,9 +15,9 @@ module Info : sig } end -(** [definition_info ~st ast] Compute info about a possible definition in [ast], - we need [~st] to compute the type. *) -val definition_info : st:State.t -> t -> Loc.t Info.t list option +(** [make_info ~st ast] Compute info about a possible definition in [ast], we + need [~st] to compute the type. *) +val make_info : st:State.t -> t -> Loc.t Info.t list option (** Printing *) val print : t -> Pp.t diff --git a/fleche/doc.ml b/fleche/doc.ml index 255340735..8b2f83455 100644 --- a/fleche/doc.ml +++ b/fleche/doc.ml @@ -12,54 +12,6 @@ module Util = struct | [] -> None | h :: _ -> Some h - let mk_diag ?extra range severity message = - Lang.Diagnostic.{ range; severity; message; extra } - - (* ast-dependent error diagnostic generation *) - let extra_diagnostics_of_ast ast = - match (Coq.Ast.to_coq ast).v with - | Vernacexpr.{ expr = VernacRequire (prefix, _export, module_refs); _ } -> - let refs = List.map fst module_refs in - Some [ Lang.Diagnostic.Extra.FailedRequire { prefix; refs } ] - | _ -> None - - let mk_error_diagnostic ~range ~msg ~ast = - let extra = extra_diagnostics_of_ast ast in - mk_diag ?extra range 1 msg - - let feed_to_diag ~drange (range, severity, message) = - let range = Option.default drange range in - mk_diag range severity message - - type partition_kind = - | Left - | Both - | Right - - let partition ~f l = - let rec part l r = function - | [] -> (List.rev l, List.rev r) - | x :: xs -> ( - match f x with - | Left -> part (x :: l) r xs - | Both -> part (x :: l) (x :: l) xs - | Right -> part l (x :: r) xs) - in - part [] [] l - - let diags_of_messages ~drange fbs = - (* TODO, replace this by a cutoff level *) - let cutoff = - if !Config.v.show_coq_info_messages then 5 - else if !Config.v.show_notices_as_diagnostics then 4 - else 3 - in - let f (_, lvl, _) = - if lvl = 2 then Both else if lvl < cutoff then Left else Right - in - let diags, messages = partition ~f fbs in - (List.map (feed_to_diag ~drange) diags, messages) - let build_span start_loc end_loc = Loc. { start_loc with @@ -112,6 +64,15 @@ end (* [node list] is a very crude form of a meta-data map "loc -> data" , where for now [data] is only the goals. *) module Node = struct + module Ast = struct + type t = + { v : Coq.Ast.t + ; ast_info : Loc.t Coq.Ast.Info.t list option + } + + let to_coq { v; _ } = Coq.Ast.to_coq v + end + module Info = struct type t = { cache_hit : bool @@ -154,7 +115,7 @@ module Node = struct type t = { range : Lang.Range.t - ; ast : Coq.Ast.t option (** Ast of node *) + ; ast : Ast.t option (** Ast of node *) ; state : Coq.State.t (** (Full) State of node *) ; diags : Lang.Diagnostic.t list ; messages : Message.t list @@ -167,7 +128,57 @@ module Node = struct let diags { diags; _ } = diags let messages { messages; _ } = messages let info { info; _ } = info - let with_state f n = Option.map (fun x -> (x, n.state)) (f n) + (* let with_state f n = Option.map (fun x -> (x, n.state)) (f n) *) +end + +module Diags = struct + let make ?extra range severity message = + Lang.Diagnostic.{ range; severity; message; extra } + + (* ast-dependent error diagnostic generation *) + let extra_diagnostics_of_ast ast = + match (Node.Ast.to_coq ast).v with + | Vernacexpr.{ expr = VernacRequire (prefix, _export, module_refs); _ } -> + let refs = List.map fst module_refs in + Some [ Lang.Diagnostic.Extra.FailedRequire { prefix; refs } ] + | _ -> None + + let error ~range ~msg ~ast = + let extra = extra_diagnostics_of_ast ast in + make ?extra range 1 msg + + let of_feed ~drange (range, severity, message) = + let range = Option.default drange range in + make range severity message + + type partition_kind = + | Left + | Both + | Right + + let partition ~f l = + let rec part l r = function + | [] -> (List.rev l, List.rev r) + | x :: xs -> ( + match f x with + | Left -> part (x :: l) r xs + | Both -> part (x :: l) (x :: l) xs + | Right -> part l (x :: r) xs) + in + part [] [] l + + let of_messages ~drange fbs = + (* TODO, replace this by a cutoff level *) + let cutoff = + if !Config.v.show_coq_info_messages then 5 + else if !Config.v.show_notices_as_diagnostics then 4 + else 3 + in + let f (_, lvl, _) = + if lvl = 2 then Both else if lvl < cutoff then Left else Right + in + let diags, messages = partition ~f fbs in + (List.map (of_feed ~drange) diags, messages) end module Completion = struct @@ -205,7 +216,7 @@ let mk_doc root_state workspace uri = Coq.Init.doc_init ~root_state ~workspace ~uri let asts doc = List.filter_map Node.ast doc.nodes -let asts_with_st doc = List.filter_map Node.(with_state ast) doc.nodes +(* let asts_with_st doc = List.filter_map Node.(with_state ast) doc.nodes *) let init_fname ~uri = let file = Lang.LUri.File.to_string_file uri in @@ -215,7 +226,7 @@ let init_loc ~uri = Loc.initial (init_fname ~uri) let process_init_feedback ~stats range state messages = if not (CList.is_empty messages) then - let diags, messages = Util.diags_of_messages ~drange:range messages in + let diags, messages = Diags.of_messages ~drange:range messages in let parsing_time = 0.0 in let { Gc.major_words = mw_prev; _ } = Gc.quick_stat () in let info = @@ -381,7 +392,7 @@ let rec find_recovery_for_failed_qed ~default nodes = | [] -> Coq.Protect.E.ok (default, None) | { Node.ast = None; _ } :: ns -> find_recovery_for_failed_qed ~default ns | { ast = Some ast; state; range; _ } :: ns -> ( - match (Coq.Ast.to_coq ast).CAst.v.Vernacexpr.expr with + match (Node.Ast.to_coq ast).CAst.v.Vernacexpr.expr with | Vernacexpr.VernacStartTheoremProof _ -> ( if !Config.v.admit_on_bad_qed then Memo.interp_admitted ~st:state @@ -394,20 +405,20 @@ let rec find_recovery_for_failed_qed ~default nodes = (* Simple heuristic for Qed. *) let state_recovery_heuristic doc st v = - match (Coq.Ast.to_coq v).CAst.v.Vernacexpr.expr with + match (Node.Ast.to_coq v).CAst.v.Vernacexpr.expr with (* Drop the top proof state if we reach a faulty Qed. *) | Vernacexpr.VernacEndProof _ -> find_recovery_for_failed_qed ~default:st doc.nodes |> Coq.Protect.E.map ~f:(fun (st, range) -> let loc_msg = Option.cata Lang.Range.to_string "no loc" range in - Io.Log.trace "recovery" (loc_msg ^ " " ^ Memo.input_info (v, st)); + Io.Log.trace "recovery" (loc_msg ^ " " ^ Memo.input_info (v.v, st)); st) (* If a new focus (or unfocusing) fails, admit the proof and try again *) | Vernacexpr.VernacBullet _ | Vernacexpr.VernacEndSubproof -> Io.Log.trace "recovery" "bullet"; Coq.State.admit_goal ~st |> Coq.Protect.E.bind ~f:(fun st -> - Coq.Interp.interp ~st v + Coq.Interp.interp ~st v.v |> Coq.Protect.E.map ~f:(fun { Coq.Interp.Info.res } -> res)) | _ -> Coq.Protect.E.ok st @@ -455,10 +466,10 @@ let parse_action ~lines ~st last_tok doc_handle = (* We don't have a better altenative :(, usually missing error loc here means an anomaly, so we stop *) let err_range = last_tok in - let parse_diags = [ Util.mk_diag err_range 1 msg ] in + let parse_diags = [ Diags.make err_range 1 msg ] in (EOF (Failed last_tok), parse_diags, feedback, time) | Error (User (Some err_range, msg)) -> - let parse_diags = [ Util.mk_diag err_range 1 msg ] in + let parse_diags = [ Diags.make err_range 1 msg ] in Coq.Parsing.discard_to_dot doc_handle; let last_tok = Coq.Parsing.Parsable.loc doc_handle in let last_tok_range = Coq_utils.to_range ~lines last_tok in @@ -478,9 +489,7 @@ type document_action = let unparseable_node ~range ~parsing_diags ~parsing_feedback ~state ~parsing_time = - let fb_diags, messages = - Util.diags_of_messages ~drange:range parsing_feedback - in + let fb_diags, messages = Diags.of_messages ~drange:range parsing_feedback in let diags = fb_diags @ parsing_diags in let stats = Stats.dump () in let { Gc.major_words = mw_prev; _ } = Gc.quick_stat () in @@ -491,9 +500,9 @@ let unparseable_node ~range ~parsing_diags ~parsing_feedback ~state let assemble_diags ~range ~parsing_diags ~parsing_feedback ~diags ~feedback = let parsing_fb_diags, parsing_messages = - Util.diags_of_messages ~drange:range parsing_feedback + Diags.of_messages ~drange:range parsing_feedback in - let fb_diags, fb_messages = Util.diags_of_messages ~drange:range feedback in + let fb_diags, fb_messages = Diags.of_messages ~drange:range feedback in let diags = parsing_diags @ parsing_fb_diags @ fb_diags @ diags in let messages = parsing_messages @ fb_messages in (diags, messages) @@ -507,7 +516,7 @@ let parsed_node ~range ~ast ~state ~parsing_diags ~parsing_feedback ~diags let maybe_ok_diagnostics ~range = if !Config.v.ok_diagnostics then - let ok_diag = Util.mk_diag range 3 (Pp.str "OK") in + let ok_diag = Diags.make range 3 (Pp.str "OK") in [ ok_diag ] else [] @@ -536,7 +545,7 @@ let node_of_coq_result ~doc ~range ~ast ~st ~parsing_diags ~parsing_feedback | Error (Coq.Protect.Error.Anomaly (err_range, msg) as coq_err) | Error (User (err_range, msg) as coq_err) -> let err_range = Option.default range err_range in - let err_diags = [ Util.mk_error_diagnostic ~range:err_range ~msg ~ast ] in + let err_diags = [ Diags.error ~range:err_range ~msg ~ast ] in let recovery_st = recovery_interp ~doc ~st ~ast in let node = parsed_node ~range ~ast ~state:recovery_st ~parsing_diags @@ -576,6 +585,7 @@ let document_action ~st ~parsing_diags ~parsing_feedback ~parsing_time ~doc | Coq.Protect.R.Completed res -> let ast_loc = Coq.Ast.loc ast |> Option.get in let ast_range = Coq_utils.to_range ~lines ast_loc in + let ast = Node.Ast.{ v = ast; ast_info = Coq.Ast.make_info ~st ast } in (* The evaluation by Coq fully completed, then we can resume checking from this point then, hence the new last valid token last_tok_new *) let last_tok_new = Coq.Parsing.Parsable.loc doc_handle in @@ -610,7 +620,7 @@ let log_beyond_target last_tok target = let max_errors_node ~state ~range = let msg = Pp.str "Maximum number of errors reached" in - let parsing_diags = [ Util.mk_diag range 1 msg ] in + let parsing_diags = [ Diags.make range 1 msg ] in unparseable_node ~range ~parsing_diags ~parsing_feedback:[] ~state ~parsing_time:0.0 diff --git a/fleche/doc.mli b/fleche/doc.mli index edd1d35e2..018f8bd73 100644 --- a/fleche/doc.mli +++ b/fleche/doc.mli @@ -6,6 +6,13 @@ (************************************************************************) module Node : sig + module Ast : sig + type t = + { v : Coq.Ast.t + ; ast_info : Loc.t Coq.Ast.Info.t list option + } + end + module Info : sig type t = private { cache_hit : bool @@ -25,7 +32,7 @@ module Node : sig type t = private { range : Lang.Range.t - ; ast : Coq.Ast.t option (** Ast of node *) + ; ast : Ast.t option (** Ast of node *) ; state : Coq.State.t (** (Full) State of node *) ; diags : Lang.Diagnostic.t list (** Diagnostics associated to the node *) ; messages : Message.t list @@ -33,7 +40,7 @@ module Node : sig } val range : t -> Lang.Range.t - val ast : t -> Coq.Ast.t option + val ast : t -> Ast.t option val state : t -> Coq.State.t val diags : t -> Lang.Diagnostic.t list val messages : t -> Message.t list @@ -63,9 +70,8 @@ type t = private } (** Return the list of all asts in the doc *) -val asts : t -> Coq.Ast.t list - -val asts_with_st : t -> (Coq.Ast.t * Coq.State.t) list +val asts : t -> Node.Ast.t list +(* val asts_with_st : t -> (Node.Ast.t * Coq.State.t) list *) (** Note, [create] calls Coq but it is not cached in the Memo.t table *) val create : diff --git a/fleche/info.ml b/fleche/info.ml index d75d071ea..01cdd3f29 100644 --- a/fleche/info.ml +++ b/fleche/info.ml @@ -115,7 +115,7 @@ module type S = sig val node : (approx, Doc.Node.t) query val range : (approx, Lang.Range.t) query - val ast : (approx, Coq.Ast.t) query + val ast : (approx, Doc.Node.Ast.t) query val goals : (approx, Coq.Goals.reified_pp) query val messages : (approx, Doc.Node.Message.t list) query val info : (approx, Doc.Node.Info.t) query diff --git a/fleche/info.mli b/fleche/info.mli index 31c90be3b..7f7d39420 100644 --- a/fleche/info.mli +++ b/fleche/info.mli @@ -46,7 +46,7 @@ module type S = sig val node : (approx, Doc.Node.t) query val range : (approx, Lang.Range.t) query - val ast : (approx, Coq.Ast.t) query + val ast : (approx, Doc.Node.Ast.t) query val goals : (approx, Coq.Goals.reified_pp) query val messages : (approx, Doc.Node.Message.t list) query val info : (approx, Doc.Node.Info.t) query From 9c1ffb71852644618c6dc7024959f9c44075e6ae Mon Sep 17 00:00:00 2001 From: Ali Caglayan Date: Wed, 15 Feb 2023 01:44:20 +0100 Subject: [PATCH 27/34] doc(README): add table of contents, cleanup title headers and reorg Signed-off-by: Ali Caglayan --- README.md | 160 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 98 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 8c015b8eb..1d4bfda61 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## Coq LSP +# Coq LSP [![Github CI][ci-badge]][ci-link] @@ -15,12 +15,42 @@ information panel, performance data, and more. experience, as well as to serve as a platform for research and UI integration with other projects. -### Installation +## Table of Contents + +- [Coq LSP](#coq-lsp) + - [Table of Contents](#table-of-contents) + - [Installation](#installation) + - [**Server**](#server) + - [**Visual Studio Code**](#visual-studio-code) + - [**Neovim**](#neovim) + - [Discussion Channel](#discussion-channel) + - [Features](#features) + - [Incremental Compilation and Continuous Document Checking](#incremental-compilation-and-continuous-document-checking) + - [Smart, Cache-Aware Error Recovery](#smart-cache-aware-error-recovery) + - [Whole-Document Goal Display](#whole-document-goal-display) + - [Markdown Support](#markdown-support) + - [Document Outline](#document-outline) + - [Detailed Timing and Memory Statistics](#detailed-timing-and-memory-statistics) + - [Client-Side Configuration Options](#client-side-configuration-options) + - [Reusability, Standards, Modularity](#reusability-standards-modularity) + - [A Platform for Research!](#a-platform-for-research) + - [FAQ](#faq) + - [Troubleshooting and Known Problems](#troubleshooting-and-known-problems) + - [Working With Multiple Files](#working-with-multiple-files) + - [Planned Features](#planned-features) + - [Protocol Documentation](#protocol-documentation) + - [Contributing](#contributing) + - [Team](#team) + - [Past Contributors](#past-contributors) + - [Licensing Information](#licensing-information) + - [Acknowledgments](#acknowledgments) + +## Installation In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the `coq-lsp` server, and the Visual Studio Code extension: -#### Server +### **Server** - **opam**: `opam install coq-lsp` - **Nix**: @@ -34,7 +64,7 @@ In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the - **Coq Platform** (coming soon) - [Do it yourself!](#server-1) -#### **Visual Studio Code**: +### **Visual Studio Code** - Official Marketplace: https://marketplace.visualstudio.com/items?itemName=ejgallego.coq-lsp - Open VSX: https://open-vsx.org/extension/ejgallego/coq-lsp - Nix: @@ -51,60 +81,18 @@ programs.vscode = { }; ``` -#### **Neovim**: +### **Neovim** - Experimental client by Jaehwang Jung: https://github.com/tomtomjhj/coq-lsp.nvim -### FAQ - -See our [list of frequently-asked questions](./etc/FAQ.md). - -### Contributing - -Contributions are very welcome! Feel free to chat with the dev team in -[Zulip](https://coq.zulipchat.com/#narrow/stream/329642-coq-lsp) for any -question, or just go ahead and hack. - -We have a [contributing guide](CONTRIBUTING.md), which includes a description of -the organization of the codebase, developer workflow, and more. - -Here is a [list of project ideas](etc/ContributionIdeas.md) that could be of -help in case you are looking for contribution ideas, tho we are convinced that -the best ideas will arise from using `coq-lsp` in your own Coq projects. - -### Discussion Channel +## Discussion Channel `coq-lsp` discussion channel it at [Coq's Zulip](https://coq.zulipchat.com/#narrow/stream/329642-coq-lsp), don't hesitate to stop by; both users and developers are welcome. -### Troubleshooting and Known Problems - -- Some problems can be resolved by restarting `coq-lsp`, in Visual Studio Code, - `Ctrl+Shift+P` will give you access to the `coq-lsp.restart` command. -- In VSCode, the "Output" window will have a "Coq LSP Server Events" channel - which should contain some important information; the content of this channel - is controlled by the `Coq LSP > Trace: Server` option. -- If you install `coq-lsp` simultaneously with VSCoq, VSCode gets confused and - neither of them may work. `coq-lsp` will warn about that. If you know how to - improve this, don't hesitate to get in touch with us. -- VS Code may send request completions with a stale document, this will be fixed - in a new upstream release, c.f. https://github.com/ejgallego/coq-lsp/issues/273 - -#### Working with multiple files - -`coq-lsp` can't work with more than one file at the same time, due to problems -with parsing state management upstream. This was fixed in Coq `master` branch -(to become **Coq 8.18**). - -As this is very inconvenient, we do provide a fixed Coq branch that you can -install using `opam pin`: - -- For Coq 8.17: `opam pin add coq-lsp https://github.com/ejgallego/coq.git#v8.17+lsp` -- For Coq 8.16: `opam pin add coq-lsp https://github.com/ejgallego/coq.git#v8.16+lsp` - ## Features -### Incremental compilation and continuous document checking: +### Incremental Compilation and Continuous Document Checking Edit your file, and `coq-lsp` will try to re-check only what is necessary, continuously. No more dreaded `Ctrl-C Ctrl-N`! Rechecking tries to be smart, @@ -118,7 +106,7 @@ restart your proof session where you left it at the last time. Incremental support is undergoing refinement, if `coq-lsp` rechecks when it should not, please file a bug! -### Smart, Cache-aware Error recovery +### Smart, Cache-Aware Error Recovery `coq-lsp` won't stop checking on errors, but supports (and encourages) working with proof documents that are only partially working. Moreover, error recovery @@ -134,7 +122,7 @@ panel. Whole-Document Goal Display -### Markdown support +### Markdown Support Open a markdown file with a `.mv` extension, `coq-lsp` will check the code parts that are enclosed into `coq` language blocks! `coq-lsp` places human-friendly @@ -142,21 +130,21 @@ documents at the core of its design ideas. Coq + Markdown Editing -### Document outline: +### Document Outline `coq-lsp` supports document outline and code folding, allowing you to jump directly to definitions in the document. Document Outline Demo -### Detailed timing and memory stats +### Detailed Timing and Memory Statistics Hover over any Coq sentence, `coq-lsp` will display detailed memory and timing statistics. Stats on Hover -### Client-side configuration options +### Client-Side Configuration Options `coq-lsp` is configurable, and tries to adapt to your own workflow. What to do when a proof doesn't check, admit or ignore? You decide! @@ -165,7 +153,7 @@ See the `coq-lsp` extension configuration in VSCode for options available. Configuration screen -### Reusability, standards, modularity +### Reusability, Standards, Modularity The incremental document checking library of `coq-lsp` has been designed to be reusable by other projects written in OCaml and with needs for document @@ -174,7 +162,7 @@ validation UI, as well as by other Coq projects such as jsCoq. Moreover, we are strongly based on standards, aiming for the least possible extensions. -### A Platform for Research ! +### A Platform for Research! A key `coq-lsp` goal is to serve as central platform for researchers in Human-Computer-Interaction, Machine Learning, and Software Engineering willing @@ -183,7 +171,42 @@ to interact with Coq. Towards this goal, `coq-lsp` extends and will eventually replace `coq-serapi`, which has been used by many to that purpose. -### Planned features +## FAQ + +See our [list of frequently-asked questions](./etc/FAQ.md). + +## Troubleshooting and Known Problems + +- Some problems can be resolved by restarting `coq-lsp`, in Visual Studio Code, + `Ctrl+Shift+P` will give you access to the `coq-lsp.restart` command. +- In VSCode, the "Output" window will have a "Coq LSP Server Events" channel + which should contain some important information; the content of this channel + is controlled by the `Coq LSP > Trace: Server` option. +- If you install `coq-lsp` simultaneously with VSCoq, VSCode gets confused and + neither of them may work. `coq-lsp` will warn about that. If you know how to + improve this, don't hesitate to get in touch with us. +- VS Code may send request completions with a stale document, this will be fixed + in a new upstream release, c.f. https://github.com/ejgallego/coq-lsp/issues/273 + +### Working With Multiple Files + +`coq-lsp` can't work with more than one file at the same time, due to problems +with parsing state management upstream. This was fixed in Coq `master` branch +(to become **Coq 8.18**). + +As this is very inconvenient, we do provide a fixed Coq branch that you can +install using `opam pin`: + +- For Coq 8.17: + ``` + opam pin add coq-lsp https://github.com/ejgallego/coq.git#v8.17+lsp + ``` +- For Coq 8.16: + ``` + opam pin add coq-lsp https://github.com/ejgallego/coq.git#v8.16+lsp + ``` + +### Planned Features See [planned features and contribution ideas](etc/ContributionIdeas.md) for a list of things we'd like to happen. @@ -196,6 +219,19 @@ plus some extensions specific to Coq. Check [the `coq-lsp` protocol documentation](etc/doc/PROTOCOL.md) for more details. +## Contributing + +Contributions are very welcome! Feel free to chat with the dev team in +[Zulip](https://coq.zulipchat.com/#narrow/stream/329642-coq-lsp) for any +question, or just go ahead and hack. + +We have a [contributing guide](CONTRIBUTING.md), which includes a description of +the organization of the codebase, developer workflow, and more. + +Here is a [list of project ideas](etc/ContributionIdeas.md) that could be of +help in case you are looking for contribution ideas, tho we are convinced that +the best ideas will arise from using `coq-lsp` in your own Coq projects. + ## Team - Ali Caglayan (co-coordinator) @@ -203,11 +239,11 @@ Check [the `coq-lsp` protocol documentation](etc/doc/PROTOCOL.md) for more detai - Shachar Itzhaky (Technion) - Ramkumar Ramachandra (Inria Paris) -### Past contributors +### Past Contributors - Vincent Laporte (Inria) -## Licensing information +## Licensing Information The license for this project is LGPL 2.1 (or GPL 3+ as stated in the LGPL 2.1). @@ -230,10 +266,10 @@ for their help and advice. As noted above, the original implementation was based on the Lambdapi LSP server, thanks to all the collaborators in that project! +[ci-badge]: https://github.com/ejgallego/coq-lsp/actions/workflows/build.yml/badge.svg +[ci-link]: https://github.com/ejgallego/coq-lsp/actions/workflows/build.yml + - -[ci-badge]: https://github.com/ejgallego/coq-lsp/actions/workflows/build.yml/badge.svg -[ci-link]: https://github.com/ejgallego/coq-lsp/actions/workflows/build.yml From a8db9b70cc232f06d4a259630e620cd90d4bb1b8 Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Wed, 15 Feb 2023 02:50:04 +0100 Subject: [PATCH 28/34] [info] Store Ast info location in LSP native range format. --- controller/lsp_core.ml | 6 ++--- controller/requests.ml | 4 +-- controller/requests.mli | 4 +-- controller/rq_completion.ml | 2 +- controller/rq_symbols.ml | 19 +++++++-------- coq/ast.ml | 35 +++++++++++++++------------ coq/ast.mli | 3 ++- {fleche => coq}/utf8.ml | 15 ++++++------ {fleche => coq}/utf8.mli | 0 fleche/coq_utils.ml => coq/utils.ml | 0 fleche/coq_utils.mli => coq/utils.mli | 0 examples/Rtrigo1.v | 5 +++- fleche/contents.ml | 2 +- fleche/doc.ml | 31 ++++++++++++------------ fleche/doc.mli | 3 +-- 15 files changed, 66 insertions(+), 63 deletions(-) rename {fleche => coq}/utf8.ml (84%) rename {fleche => coq}/utf8.mli (100%) rename fleche/coq_utils.ml => coq/utils.ml (100%) rename fleche/coq_utils.mli => coq/utils.mli (100%) diff --git a/controller/lsp_core.ml b/controller/lsp_core.ml index 873536453..808c19006 100644 --- a/controller/lsp_core.ml +++ b/controller/lsp_core.ml @@ -75,8 +75,7 @@ module PendingRequest = struct match pr with | DocRequest { uri; handler } -> let doc = Doc_manager.find_doc ~uri in - let lines = doc.contents.lines in - handler ~lines ~doc + handler ~doc | PosRequest { uri; point; handler } -> let doc = Doc_manager.find_doc ~uri in handler ~point ~doc @@ -245,9 +244,8 @@ let do_completion = (* Requires the full document to be processed *) let do_document_request ~params ~handler = let uri, doc = get_textDocument params in - let lines = doc.contents.lines in match doc.completed with - | Yes _ -> RAction.ok (handler ~lines ~doc) + | Yes _ -> RAction.ok (handler ~doc) | Stopped _ | Failed _ | FailedPermanent _ -> Postpone (PendingRequest.DocRequest { uri; handler }) diff --git a/controller/requests.ml b/controller/requests.ml index f71df42ba..fad2394ec 100644 --- a/controller/requests.ml +++ b/controller/requests.ml @@ -15,7 +15,5 @@ (* Written by: Emilio J. Gallego Arias *) (************************************************************************) -type document_request = - lines:string Array.t -> doc:Fleche.Doc.t -> Yojson.Safe.t - +type document_request = doc:Fleche.Doc.t -> Yojson.Safe.t type position_request = doc:Fleche.Doc.t -> point:int * int -> Yojson.Safe.t diff --git a/controller/requests.mli b/controller/requests.mli index 3b8fa6400..9cdda9c0e 100644 --- a/controller/requests.mli +++ b/controller/requests.mli @@ -15,7 +15,5 @@ (* Written by: Emilio J. Gallego Arias *) (************************************************************************) -type document_request = - lines:string Array.t -> doc:Fleche.Doc.t -> Yojson.Safe.t - +type document_request = doc:Fleche.Doc.t -> Yojson.Safe.t type position_request = doc:Fleche.Doc.t -> point:int * int -> Yojson.Safe.t diff --git a/controller/rq_completion.ml b/controller/rq_completion.ml index 034f43bd4..1a4343e7f 100644 --- a/controller/rq_completion.ml +++ b/controller/rq_completion.ml @@ -79,7 +79,7 @@ let validate_line ~(doc : Fleche.Doc.t) ~line = let validate_position ~doc ~point = let line, char = point in Option.bind (validate_line ~doc ~line) (fun line -> - Option.bind (Fleche.Utf8.index_of_char ~line ~char) (fun index -> + Option.bind (Coq.Utf8.index_of_char ~line ~char) (fun index -> Some (String.get line index))) let get_char_at_point ~(doc : Fleche.Doc.t) ~point = diff --git a/controller/rq_symbols.ml b/controller/rq_symbols.ml index 39c0ab36a..26e1f399e 100644 --- a/controller/rq_symbols.ml +++ b/controller/rq_symbols.ml @@ -5,13 +5,14 @@ (* Written by: Emilio J. Gallego Arias *) (************************************************************************) -let rec mk_syminfo ~lines info = +let rec mk_syminfo info = let Coq.Ast.Info.{ range; name; kind; detail; children } = info in - let range = Fleche.Coq_utils.to_range ~lines range in - let { CAst.loc = name_loc; v = name } = name in - let selectionRange = Fleche.Coq_utils.to_range ~lines (Option.get name_loc) in + let { CAst.loc = _name_loc; v = name } = name in let name = Names.Name.print name |> Pp.string_of_ppcmds in - let children = Option.map (List.map (mk_syminfo ~lines)) children in + let children = Option.map (List.map mk_syminfo) children in + let selectionRange = range in + (* Need to fix this at coq.ast level *) + (* let selectionRange = Option.get name_loc in *) Lsp.JFleche.DocumentSymbol. { name ; kind @@ -23,14 +24,12 @@ let rec mk_syminfo ~lines info = ; children } -let mk_syminfo ~lines info = - mk_syminfo ~lines info |> Lsp.JFleche.DocumentSymbol.to_yojson - +let mk_syminfo info = mk_syminfo info |> Lsp.JFleche.DocumentSymbol.to_yojson let definition_info { Fleche.Doc.Node.Ast.ast_info; _ } = ast_info -let symbols ~lines ~(doc : Fleche.Doc.t) = +let symbols ~(doc : Fleche.Doc.t) = let definfo = Fleche.Doc.asts doc |> List.filter_map definition_info |> List.concat in - let result = List.map (mk_syminfo ~lines) definfo in + let result = List.map mk_syminfo definfo in `List result diff --git a/coq/ast.ml b/coq/ast.ml index 96377433a..d2844ec47 100644 --- a/coq/ast.ml +++ b/coq/ast.ml @@ -119,65 +119,69 @@ let theorem_detail = function let mk_name = CAst.map (fun id -> Names.Name id) -let constructor_info ((_, (id, _typ)) : constructor_expr) = +let constructor_info ~lines ((_, (id, _typ)) : constructor_expr) = let range = Option.get id.loc in + let range = Utils.to_range ~lines range in let name = mk_name id in let detail = "Constructor" in let kind = Kinds.enumMember in Info.make ~range ~name ~detail ~kind () -let local_decl_expr_info ~kind ~detail (l : local_decl_expr) = +let local_decl_expr_info ~lines ~kind ~detail (l : local_decl_expr) = let name = match l with | AssumExpr (ln, _, _) -> ln | DefExpr (ln, _, _, _) -> ln in let range = Option.get name.loc in + let range = Utils.to_range ~lines range in Info.make ~range ~name ~kind ~detail () -let projection_info ((ld, _) : local_decl_expr * record_field_attr) = +let projection_info ~lines ((ld, _) : local_decl_expr * record_field_attr) = let kind = Kinds.field in let detail = "Field" in - local_decl_expr_info ~detail ~kind ld + local_decl_expr_info ~lines ~detail ~kind ld -let inductive_info ~range ikind (expr, _) = +let inductive_info ~lines ~range ikind (expr, _) = let (_, (id, _)), _, _, cons = expr in let name = mk_name id in match cons with | Constructors ci -> - let children = List.map constructor_info ci in + let children = List.map (constructor_info ~lines) ci in let kind, detail = inductive_detail ikind in Info.make ~range ~name ~kind ~detail ~children () | RecordDecl (_, pi, _) -> - let children = List.map projection_info pi in + let children = List.map (projection_info ~lines) pi in let kind, detail = inductive_detail ikind in Info.make ~range ~name ~kind ~detail ~children () -let inductives_info ~range ikind idecls = +let inductives_info ~lines ~range ikind idecls = match idecls with | [] -> None - | inds -> Some (List.map (inductive_info ~range ikind) inds) + | inds -> Some (List.map (inductive_info ~lines ~range ikind) inds) -let ident_decl_info ~kind ~detail (lident, _) = +let ident_decl_info ~lines ~kind ~detail (lident, _) = let range = Option.get lident.loc in + let range = Utils.to_range ~lines range in let name = mk_name lident in Info.make ~range ~name ~detail ~kind () -let assumption_info kind (_, (ids, _)) = +let assumption_info ~lines kind (_, (ids, _)) = let detail = assumption_detail kind in let kind = Kinds.variable in - List.map (ident_decl_info ~kind ~detail) ids + List.map (ident_decl_info ~lines ~kind ~detail) ids let fixpoint_info ~range { fname; _ } = let name = mk_name fname in let detail = "Fixpoint" in Info.make ~range ~name ~detail ~kind:Kinds.function_ () -let make_info ~st:_ CAst.{ loc; v } : _ Info.t list option = +let make_info ~st:_ ~lines CAst.{ loc; v } : _ Info.t list option = let open Vernacexpr in match loc with | None -> None | Some range -> ( + let range = Utils.to_range ~lines range in (* TODO: sections *) match v.expr with | VernacDefinition ((_, kind), (name, _), _) -> @@ -192,9 +196,10 @@ let make_info ~st:_ CAst.{ loc; v } : _ Info.t list option = let name = mk_name id in Some [ Info.make ~range ~name ~detail ~kind () ] | [] -> None) - | VernacInductive (ikind, idecls) -> inductives_info ~range ikind idecls + | VernacInductive (ikind, idecls) -> + inductives_info ~lines ~range ikind idecls | VernacAssumption ((_, kind), _, ids) -> - Some (List.concat_map (assumption_info kind) ids) + Some (List.concat_map (assumption_info ~lines kind) ids) | VernacFixpoint (_, f_expr) -> Some (List.map (fixpoint_info ~range) f_expr) | VernacInstance ((name, _), _, _, _, _) -> diff --git a/coq/ast.mli b/coq/ast.mli index 06ca57c3c..2e8a3d4eb 100644 --- a/coq/ast.mli +++ b/coq/ast.mli @@ -17,7 +17,8 @@ end (** [make_info ~st ast] Compute info about a possible definition in [ast], we need [~st] to compute the type. *) -val make_info : st:State.t -> t -> Loc.t Info.t list option +val make_info : + st:State.t -> lines:string array -> t -> Lang.Range.t Info.t list option (** Printing *) val print : t -> Pp.t diff --git a/fleche/utf8.ml b/coq/utf8.ml similarity index 84% rename from fleche/utf8.ml rename to coq/utf8.ml index b5bfb7d52..889ff8d39 100644 --- a/fleche/utf8.ml +++ b/coq/utf8.ml @@ -59,12 +59,13 @@ let find_char line byte = if byte < String.length line then Some (f 0 0) else None let char_of_index ~line ~byte = - if Debug.unicode then - Io.Log.trace "char_of_index" - (Format.asprintf "str: '%s' | byte: %d" line byte); + (* if Debug.unicode then *) + (* Io.Log.trace "char_of_index" *) + (* (Format.asprintf "str: '%s' | byte: %d" line byte); *) let char = find_char line byte in - (if Debug.unicode then - match char with - | None -> Io.Log.trace "get_last_text" "failed" - | Some char -> Io.Log.trace "get_last_text" (Format.asprintf "char: %d" char)); + (* (if Debug.unicode then *) + (* match char with *) + (* | None -> Io.Log.trace "get_last_text" "failed" *) + (* | Some char -> Io.Log.trace "get_last_text" (Format.asprintf "char: %d" + char)); *) char diff --git a/fleche/utf8.mli b/coq/utf8.mli similarity index 100% rename from fleche/utf8.mli rename to coq/utf8.mli diff --git a/fleche/coq_utils.ml b/coq/utils.ml similarity index 100% rename from fleche/coq_utils.ml rename to coq/utils.ml diff --git a/fleche/coq_utils.mli b/coq/utils.mli similarity index 100% rename from fleche/coq_utils.mli rename to coq/utils.mli diff --git a/examples/Rtrigo1.v b/examples/Rtrigo1.v index 176c4c2eb..6a5ef5d7f 100644 --- a/examples/Rtrigo1.v +++ b/examples/Rtrigo1.v @@ -116,7 +116,7 @@ Proof. 2:{ apply pow_nonzero; assumption. } unfold Rsqr; ring. Qed. - +Definition muuu := 3. (**********) Lemma continuity_cos : continuity cos. Proof. @@ -348,6 +348,9 @@ intros a n lower upper; apply pre_cos_bound. replace ((PI/2) * 2) with PI by field. generalize PI_4; intros; lra. Qed. + + + (**********) Lemma neg_cos : forall x:R, cos (x + PI) = - cos x. Proof. diff --git a/fleche/contents.ml b/fleche/contents.ml index f9d3eb1d1..c5cea88ab 100644 --- a/fleche/contents.ml +++ b/fleche/contents.ml @@ -130,7 +130,7 @@ let get_last_text text = let lines = CString.split_on_char '\n' text |> Array.of_list in let n_lines = Array.length lines in let last_line = if n_lines < 1 then "" else Array.get lines (n_lines - 1) in - let character = Utf8.length last_line in + let character = Coq.Utf8.length last_line in (Lang.Point.{ line = n_lines - 1; character; offset }, lines) let make ~uri ~raw = diff --git a/fleche/doc.ml b/fleche/doc.ml index 8b2f83455..70748dd8e 100644 --- a/fleche/doc.ml +++ b/fleche/doc.ml @@ -67,7 +67,7 @@ module Node = struct module Ast = struct type t = { v : Coq.Ast.t - ; ast_info : Loc.t Coq.Ast.Info.t list option + ; ast_info : Lang.Range.t Coq.Ast.Info.t list option } let to_coq { v; _ } = Coq.Ast.to_coq v @@ -110,7 +110,7 @@ module Node = struct type t = Lang.Range.t option * int * Pp.t let feedback_to_message ~lines (loc, lvl, msg) = - (Coq_utils.to_orange ~lines loc, lvl, msg) + (Coq.Utils.to_orange ~lines loc, lvl, msg) end type t = @@ -216,7 +216,6 @@ let mk_doc root_state workspace uri = Coq.Init.doc_init ~root_state ~workspace ~uri let asts doc = List.filter_map Node.ast doc.nodes -(* let asts_with_st doc = List.filter_map Node.(with_state ast) doc.nodes *) let init_fname ~uri = let file = Lang.LUri.File.to_string_file uri in @@ -241,7 +240,7 @@ let create ~state ~workspace ~uri ~version ~contents = Coq.Protect.R.map r ~f:(fun root -> let init_loc = init_loc ~uri in let lines = contents.Contents.lines in - let init_range = Coq_utils.to_range ~lines init_loc in + let init_range = Coq.Utils.to_range ~lines init_loc in let feedback = List.map (Node.Message.feedback_to_message ~lines) feedback in @@ -267,7 +266,7 @@ let create_failed_permanent ~state ~uri ~version ~raw = |> Contents.R.map ~f:(fun contents -> let lines = contents.Contents.lines in let init_loc = init_loc ~uri in - let range = Coq_utils.to_range ~lines init_loc in + let range = Coq.Utils.to_range ~lines init_loc in { uri ; contents ; version @@ -325,7 +324,7 @@ let bump_version ~init_range ~version ~contents doc = let bump_version ~version ~(contents : Contents.t) doc = let init_loc = init_loc ~uri:doc.uri in - let init_range = Coq_utils.to_range ~lines:contents.lines init_loc in + let init_range = Coq.Utils.to_range ~lines:contents.lines init_loc in match doc.completed with (* We can do better, but we need to handle the case where the anomaly is when restoring / executing the first sentence *) @@ -446,7 +445,7 @@ type parse_action = let parse_action ~lines ~st last_tok doc_handle = let start_loc = Coq.Parsing.Parsable.loc doc_handle |> CLexer.after in let parse_res, time = parse_stm ~st doc_handle in - let f = Coq_utils.to_range ~lines in + let f = Coq.Utils.to_range ~lines in let { Coq.Protect.E.r; feedback } = Coq.Protect.E.map_loc ~f parse_res in match r with | Coq.Protect.R.Interrupted -> (EOF (Stopped last_tok), [], feedback, time) @@ -457,7 +456,7 @@ let parse_action ~lines ~st last_tok doc_handle = EOF, the below trick doesn't work. That will involved updating the type of `main_entry` *) let last_tok = Coq.Parsing.Parsable.loc doc_handle in - let last_tok = Coq_utils.to_range ~lines last_tok in + let last_tok = Coq.Utils.to_range ~lines last_tok in (EOF (Yes last_tok), [], feedback, time) | Ok (Some ast) -> let () = if Debug.parsing then DDebug.parsed_sentence ~ast in @@ -472,9 +471,9 @@ let parse_action ~lines ~st last_tok doc_handle = let parse_diags = [ Diags.make err_range 1 msg ] in Coq.Parsing.discard_to_dot doc_handle; let last_tok = Coq.Parsing.Parsable.loc doc_handle in - let last_tok_range = Coq_utils.to_range ~lines last_tok in + let last_tok_range = Coq.Utils.to_range ~lines last_tok in let span_loc = Util.build_span start_loc last_tok in - let span_range = Coq_utils.to_range ~lines span_loc in + let span_range = Coq.Utils.to_range ~lines span_loc in (Skip (span_range, last_tok_range), parse_diags, feedback, time)) (* Result of node-building action *) @@ -576,7 +575,7 @@ let document_action ~st ~parsing_diags ~parsing_feedback ~parsing_time ~doc | Process ast -> ( let lines = doc.contents.lines in let process_res, info = interp_and_info ~parsing_time ~st ast in - let f = Coq_utils.to_range ~lines in + let f = Coq.Utils.to_range ~lines in let { Coq.Protect.E.r; feedback } = Coq.Protect.E.map_loc ~f process_res in match r with | Coq.Protect.R.Interrupted -> @@ -584,12 +583,14 @@ let document_action ~st ~parsing_diags ~parsing_feedback ~parsing_time ~doc Interrupted last_tok | Coq.Protect.R.Completed res -> let ast_loc = Coq.Ast.loc ast |> Option.get in - let ast_range = Coq_utils.to_range ~lines ast_loc in - let ast = Node.Ast.{ v = ast; ast_info = Coq.Ast.make_info ~st ast } in + let ast_range = Coq.Utils.to_range ~lines ast_loc in + let ast = + Node.Ast.{ v = ast; ast_info = Coq.Ast.make_info ~lines ~st ast } + in (* The evaluation by Coq fully completed, then we can resume checking from this point then, hence the new last valid token last_tok_new *) let last_tok_new = Coq.Parsing.Parsable.loc doc_handle in - let last_tok_new = Coq_utils.to_range ~lines last_tok_new in + let last_tok_new = Coq.Utils.to_range ~lines last_tok_new in node_of_coq_result ~doc ~range:ast_range ~ast ~st ~parsing_diags ~parsing_feedback ~feedback ~info last_tok_new res) @@ -708,7 +709,7 @@ let loc_after ~lines ~uri (r : Lang.Range.t) = let end_index = let line = Array.get lines r.end_.line in debug_loc_after line r; - match Utf8.index_of_char ~line ~char:r.end_.character with + match Coq.Utf8.index_of_char ~line ~char:r.end_.character with | None -> String.length line | Some index -> index in diff --git a/fleche/doc.mli b/fleche/doc.mli index 018f8bd73..f46defddd 100644 --- a/fleche/doc.mli +++ b/fleche/doc.mli @@ -9,7 +9,7 @@ module Node : sig module Ast : sig type t = { v : Coq.Ast.t - ; ast_info : Loc.t Coq.Ast.Info.t list option + ; ast_info : Lang.Range.t Coq.Ast.Info.t list option } end @@ -71,7 +71,6 @@ type t = private (** Return the list of all asts in the doc *) val asts : t -> Node.Ast.t list -(* val asts_with_st : t -> (Node.Ast.t * Coq.State.t) list *) (** Note, [create] calls Coq but it is not cached in the Memo.t table *) val create : From 3a1972baa6954e10f7f185ee84450b5b41ade0de Mon Sep 17 00:00:00 2001 From: Emilio Jesus Gallego Arias Date: Tue, 14 Feb 2023 22:19:49 +0100 Subject: [PATCH 29/34] [lsp] Basic jump to definition support. Due to lack of workspace metadata, this only works for the same file. Fixes #53 --- CHANGES.md | 2 ++ controller/lsp_core.ml | 4 +++ controller/rq_definition.ml | 58 ++++++++++++++++++++++++++++++++++++ controller/rq_definition.mli | 8 +++++ controller/rq_init.ml | 1 + coq/ast.ml | 10 +++++++ coq/ast.mli | 10 +++++++ examples/ex0.v | 2 ++ fleche/doc.ml | 33 ++++++++++++++++++-- fleche/doc.mli | 1 + lsp/jFleche.ml | 10 +++++++ lsp/jFleche.mli | 29 ++++++++++++------ 12 files changed, 156 insertions(+), 12 deletions(-) create mode 100644 controller/rq_definition.ml create mode 100644 controller/rq_definition.mli diff --git a/CHANGES.md b/CHANGES.md index a5cc453f0..32c39b93b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -62,6 +62,8 @@ focusing operators. This is very useful when navigating bulleted proofs (@ejgallego, @Alizter, #319, fixes #300) - Store Ast.Info.t incrementally (@ejgallego, #337, fixes #316) + - Basic jump to definition support; due to lack of workspace + metadata, this only works inside the same file (@ejgallego, #318) # coq-lsp 0.1.4: View --------------------- diff --git a/controller/lsp_core.ml b/controller/lsp_core.ml index 808c19006..e59fa1f83 100644 --- a/controller/lsp_core.ml +++ b/controller/lsp_core.ml @@ -238,6 +238,9 @@ let do_position_request ~postpone ~params ~handler = let do_hover = do_position_request ~postpone:false ~handler:Rq_hover.hover let do_goals = do_position_request ~postpone:true ~handler:Rq_goals.goals +let do_definition = + do_position_request ~postpone:true ~handler:Rq_definition.request + let do_completion = do_position_request ~postpone:true ~handler:Rq_completion.completion @@ -323,6 +326,7 @@ let dispatch_request ~method_ ~params : RAction.t = | "shutdown" -> do_shutdown ~params (* Symbols and info about the document *) | "textDocument/completion" -> do_completion ~params + | "textDocument/definition" -> do_definition ~params | "textDocument/documentSymbol" -> do_symbols ~params | "textDocument/hover" -> do_hover ~params (* Proof-specific stuff *) diff --git a/controller/rq_definition.ml b/controller/rq_definition.ml new file mode 100644 index 000000000..f67a74230 --- /dev/null +++ b/controller/rq_definition.ml @@ -0,0 +1,58 @@ +(************************************************************************) +(* Coq Language Server Protocol -- Jump to definition *) +(* Copyright 2019 MINES ParisTech -- Dual License LGPL 2.1 / GPL3+ *) +(* Copyright 2019-2023 Inria -- Dual License LGPL 2.1 / GPL3+ *) +(* Written by: Emilio J. Gallego Arias *) +(************************************************************************) + +(* Common with completion... refactor and make proper *) +let is_id_char x = + ('a' <= x && x <= 'z') + || ('A' <= x && x <= 'Z') + || ('0' <= x && x <= '9') + || x = '_' + +let rec find_start s c = + if c <= 0 then 0 + else if not (is_id_char s.[c - 1]) then c + else find_start s (c - 1) + +let id_from_start s start = + let l = String.length s in + let rec end_of_id s c = + if c >= l then c else if is_id_char s.[c] then end_of_id s (c + 1) else c + in + let end_ = end_of_id s start in + if start < end_ then ( + let id = String.sub s start (end_ - start) in + Lsp.Io.trace "find_id" ("found: " ^ id); + Some id) + else None + +let find_id s c = + let start = find_start s c in + Lsp.Io.trace "find_id" ("start: " ^ string_of_int start); + Option.map Coq.Ast.Id.of_string (id_from_start s start) + +let get_id_at_point ~doc ~point = + let line, character = point in + Lsp.Io.trace "get_id_at_point" + ("l: " ^ string_of_int line ^ " c: " ^ string_of_int character); + let { Fleche.Doc.contents; _ } = doc in + let { Fleche.Contents.lines; _ } = contents in + if line <= Array.length lines then + let line = Array.get lines line in + if character <= String.length line then find_id line character else None + else None + +let request ~(doc : Fleche.Doc.t) ~point = + Option.cata + (fun id_at_point -> + let { Fleche.Doc.toc; _ } = doc in + match Coq.Ast.Id.Map.find_opt id_at_point toc with + | Some range -> + let uri = doc.uri in + Lsp.JFleche.Location.({ uri; range } |> to_yojson) + | None -> `Null) + `Null + (get_id_at_point ~doc ~point) diff --git a/controller/rq_definition.mli b/controller/rq_definition.mli new file mode 100644 index 000000000..ba18fdbf1 --- /dev/null +++ b/controller/rq_definition.mli @@ -0,0 +1,8 @@ +(************************************************************************) +(* Coq Language Server Protocol -- Jump to definition *) +(* Copyright 2019 MINES ParisTech -- Dual License LGPL 2.1 / GPL3+ *) +(* Copyright 2019-2023 Inria -- Dual License LGPL 2.1 / GPL3+ *) +(* Written by: Emilio J. Gallego Arias *) +(************************************************************************) + +val request : Requests.position_request diff --git a/controller/rq_init.ml b/controller/rq_init.ml index 51940c921..3565631c7 100644 --- a/controller/rq_init.ml +++ b/controller/rq_init.ml @@ -78,6 +78,7 @@ let do_initialize ~params = [ ("triggerCharacters", `List [ `String "\\" ]) ; ("resolveProvider", `Bool false) ] ) + ; ("definitionProvider", `Bool true) ] in ( `Assoc diff --git a/coq/ast.ml b/coq/ast.ml index d2844ec47..98c5b8f32 100644 --- a/coq/ast.ml +++ b/coq/ast.ml @@ -13,6 +13,16 @@ let loc { CAst.loc; _ } = loc let print x = try Ppvernac.pr_vernac x with _ -> Pp.str "XXX Coq printer crashed" +module Id = struct + type t = Names.Id.t + + let of_string = Names.Id.of_string + let of_coq x = x + + module Set = Names.Id.Set + module Map = Names.Id.Map +end + module Kinds = struct (* LSP kinds *) let _file = 1 diff --git a/coq/ast.mli b/coq/ast.mli index 2e8a3d4eb..f29900cb6 100644 --- a/coq/ast.mli +++ b/coq/ast.mli @@ -4,6 +4,16 @@ val loc : t -> Loc.t option val hash : t -> int val compare : t -> t -> int +module Id : sig + type t + + val of_string : string -> t + val of_coq : Names.Id.t -> t + + module Set : CSet.S with type elt = t + module Map : CMap.ExtS with type key = t and module Set := Set +end + (** Information about the Ast, to move to lang *) module Info : sig type 'l t = diff --git a/examples/ex0.v b/examples/ex0.v index 31fe7fcb6..0a675e5a5 100644 --- a/examples/ex0.v +++ b/examples/ex0.v @@ -74,6 +74,8 @@ Record network := ; send : time -> address -> time -> bool }. +Definition ab := 3. + Lemma broken1 : False. Proof. admit. Qed. diff --git a/fleche/doc.ml b/fleche/doc.ml index 70748dd8e..ab7986996 100644 --- a/fleche/doc.ml +++ b/fleche/doc.ml @@ -206,6 +206,7 @@ type t = { uri : Lang.LUri.File.t ; version : int ; contents : Contents.t + ; toc : Lang.Range.t Coq.Ast.Id.Map.t ; root : Coq.State.t ; nodes : Node.t list ; diags_dirty : bool (** Used to optimize `eager_diagnostics` *) @@ -217,6 +218,26 @@ let mk_doc root_state workspace uri = let asts doc = List.filter_map Node.ast doc.nodes +(* TOC handling *) + +(* XXX add children *) +let add_toc_info toc { Coq.Ast.Info.name; range; children = _; _ } = + match name.v with + | Names.Anonymous -> toc + | Names.Name id -> Coq.Ast.Id.(Map.add (of_coq id) range toc) + +let update_toc_info toc ast_info = List.fold_left add_toc_info toc ast_info + +let update_toc_node toc node = + match Node.ast node with + | None -> toc + | Some { Node.Ast.ast_info = None; _ } -> toc + | Some { Node.Ast.ast_info = Some ast_info; _ } -> + update_toc_info toc ast_info + +let rebuild_toc nodes = + List.fold_left update_toc_node Coq.Ast.Id.Map.empty nodes + let init_fname ~uri = let file = Lang.LUri.File.to_string_file uri in Loc.InFile { dirpath = None; file } @@ -245,10 +266,12 @@ let create ~state ~workspace ~uri ~version ~contents = List.map (Node.Message.feedback_to_message ~lines) feedback in let stats = Stats.dump () in + let toc = Coq.Ast.Id.Map.empty in let nodes = process_init_feedback ~stats init_range root feedback in let diags_dirty = not (CList.is_empty nodes) in { uri ; contents + ; toc ; version ; root ; nodes @@ -269,6 +292,7 @@ let create_failed_permanent ~state ~uri ~version ~raw = let range = Coq.Utils.to_range ~lines init_loc in { uri ; contents + ; toc = Coq.Ast.Id.Map.empty ; version ; root = state ; nodes = [] @@ -303,13 +327,14 @@ let compute_common_prefix ~init_range ~contents (prev : t) = in let common_idx = match_or_stop 0 in let nodes, range = recover_up_to_offset ~init_range prev common_idx in + let toc = rebuild_toc nodes in Io.Log.trace "prefix" ("resuming from " ^ Lang.Range.to_string range); let completed = Completion.Stopped range in - (nodes, completed) + (nodes, completed, toc) let bump_version ~init_range ~version ~contents doc = (* When a new document, we resume checking from a common prefix *) - let nodes, completed = compute_common_prefix ~init_range ~contents doc in + let nodes, completed, toc = compute_common_prefix ~init_range ~contents doc in (* Important: uri, root remain the same *) let uri = doc.uri in let root = doc.root in @@ -318,6 +343,7 @@ let bump_version ~init_range ~version ~contents doc = ; root ; nodes ; contents + ; toc ; diags_dirty = true (* EJGA: Is it worth to optimize this? *) ; completed } @@ -347,7 +373,8 @@ let bump_version ~version ~raw doc = let add_node ~node doc = let diags_dirty = if node.Node.diags <> [] then true else doc.diags_dirty in - { doc with nodes = node :: doc.nodes; diags_dirty } + let toc = update_toc_node doc.toc node in + { doc with nodes = node :: doc.nodes; toc; diags_dirty } let concat_diags doc = List.concat_map (fun node -> node.Node.diags) doc.nodes diff --git a/fleche/doc.mli b/fleche/doc.mli index f46defddd..a8b4ad24c 100644 --- a/fleche/doc.mli +++ b/fleche/doc.mli @@ -63,6 +63,7 @@ type t = private { uri : Lang.LUri.File.t ; version : int ; contents : Contents.t + ; toc : Lang.Range.t Coq.Ast.Id.Map.t ; root : Coq.State.t ; nodes : Node.t list ; diags_dirty : bool diff --git a/lsp/jFleche.ml b/lsp/jFleche.ml index bce4d833c..b22f9014b 100644 --- a/lsp/jFleche.ml +++ b/lsp/jFleche.ml @@ -92,6 +92,16 @@ let mk_goals ~uri ~version ~position ~goals ~messages ~error = GoalsAnswer.to_yojson { textDocument = { uri; version }; position; goals; messages; error } +(** {1 document/definition} *) +module LocationLink = struct + type t = + { originSelectionRange : Lang.Range.t option [@default None] + ; targetUri : Lang.LUri.File.t + ; targetRange : Lang.Range.t + ; targetSelectionRange : Lang.Range.t + } + [@@deriving yojson] +end (** {1} DocumentSymbols *) module DocumentSymbol = struct diff --git a/lsp/jFleche.mli b/lsp/jFleche.mli index ffec7c380..4c67d487e 100644 --- a/lsp/jFleche.mli +++ b/lsp/jFleche.mli @@ -53,6 +53,26 @@ val mk_goals : -> error:Pp.t option -> Yojson.Safe.t +(** Generic *) +module Location : sig + type t = + { uri : Lang.LUri.File.t + ; range : Lang.Range.t + } + [@@deriving yojson] +end + +(** {1 document/definition} *) +module LocationLink : sig + type t = + { originSelectionRange : Lang.Range.t option [@default None] + ; targetUri : Lang.LUri.File.t + ; targetRange : Lang.Range.t + ; targetSelectionRange : Lang.Range.t + } + [@@deriving yojson] +end + (** {1 DocumentSymbols} *) module DocumentSymbol : sig @@ -69,15 +89,6 @@ module DocumentSymbol : sig [@@deriving yojson] end -(** Not used as of today, superseded by DocumentSymbol *) -module Location : sig - type t = - { uri : Lang.LUri.File.t - ; range : Lang.Range.t - } - [@@deriving yojson] -end - (** Not used as of today, superseded by DocumentSymbol *) module SymInfo : sig type t = From 1b52216d49e5c1bba9737fe7b62ee27c555d04e6 Mon Sep 17 00:00:00 2001 From: Ali Caglayan Date: Wed, 15 Feb 2023 02:11:43 +0100 Subject: [PATCH 30/34] doc: update new features in README.md - error recovery: we do incremental inside-qed and bullets now Added notes about inside qed. - document symbols: much nicer now Added extra image for document symbols and mentioned details. - goals: much nicer now, support for given up, shelve, stack Mentioned new goal panel features. - table of contents: why not? Table of contents was added previously. Signed-off-by: Ali Caglayan Signed-off-by: Ali Caglayan --- README.md | 73 +++++++++++++++++++++--------------- etc/img/lsp-doc-symbols.png | Bin 0 -> 9219 bytes etc/img/lsp-errors.gif | Bin 0 -> 30606935 bytes 3 files changed, 42 insertions(+), 31 deletions(-) create mode 100644 etc/img/lsp-doc-symbols.png create mode 100644 etc/img/lsp-errors.gif diff --git a/README.md b/README.md index 1d4bfda61..98deff5ee 100644 --- a/README.md +++ b/README.md @@ -19,23 +19,23 @@ with other projects. - [Coq LSP](#coq-lsp) - [Table of Contents](#table-of-contents) - - [Installation](#installation) + - [πŸ› οΈ Installation](#️-installation) - [**Server**](#server) - [**Visual Studio Code**](#visual-studio-code) - [**Neovim**](#neovim) - - [Discussion Channel](#discussion-channel) - - [Features](#features) - - [Incremental Compilation and Continuous Document Checking](#incremental-compilation-and-continuous-document-checking) - - [Smart, Cache-Aware Error Recovery](#smart-cache-aware-error-recovery) - - [Whole-Document Goal Display](#whole-document-goal-display) - - [Markdown Support](#markdown-support) - - [Document Outline](#document-outline) - - [Detailed Timing and Memory Statistics](#detailed-timing-and-memory-statistics) - - [Client-Side Configuration Options](#client-side-configuration-options) - - [Reusability, Standards, Modularity](#reusability-standards-modularity) - - [A Platform for Research!](#a-platform-for-research) - - [FAQ](#faq) - - [Troubleshooting and Known Problems](#troubleshooting-and-known-problems) + - [πŸ—£οΈ Discussion Channel](#️-discussion-channel) + - [🎁 Features](#-features) + - [⏩ Incremental Compilation and Continuous Document Checking](#-incremental-compilation-and-continuous-document-checking) + - [🧠 Smart, Cache-Aware Error Recovery](#-smart-cache-aware-error-recovery) + - [πŸ₯… Whole-Document Goal Display](#-whole-document-goal-display) + - [πŸ—’οΈ Markdown Support](#️-markdown-support) + - [πŸ‘₯ Document Outline](#-document-outline) + - [⏱️ Detailed Timing and Memory Statistics](#️-detailed-timing-and-memory-statistics) + - [πŸ”§ Client-Side Configuration Options](#-client-side-configuration-options) + - [♻️ Reusability, Standards, Modularity](#️-reusability-standards-modularity) + - [πŸ”Ž A Platform for Research!](#-a-platform-for-research) + - [❓FAQ](#faq) + - [⁉️ Troubleshooting and Known Problems](#️-troubleshooting-and-known-problems) - [Working With Multiple Files](#working-with-multiple-files) - [Planned Features](#planned-features) - [Protocol Documentation](#protocol-documentation) @@ -45,10 +45,10 @@ with other projects. - [Licensing Information](#licensing-information) - [Acknowledgments](#acknowledgments) -## Installation +## πŸ› οΈ Installation In order to use `coq-lsp` you'll need to install [**both**](etc/FAQ.md) the -`coq-lsp` server, and the Visual Studio Code extension: +`coq-lsp` and a suitable client. We recommend the Visual Studio Code Extension. ### **Server** @@ -84,15 +84,15 @@ programs.vscode = { ### **Neovim** - Experimental client by Jaehwang Jung: https://github.com/tomtomjhj/coq-lsp.nvim -## Discussion Channel +## πŸ—£οΈ Discussion Channel `coq-lsp` discussion channel it at [Coq's Zulip](https://coq.zulipchat.com/#narrow/stream/329642-coq-lsp), don't hesitate to stop by; both users and developers are welcome. -## Features +## 🎁 Features -### Incremental Compilation and Continuous Document Checking +### ⏩ Incremental Compilation and Continuous Document Checking Edit your file, and `coq-lsp` will try to re-check only what is necessary, continuously. No more dreaded `Ctrl-C Ctrl-N`! Rechecking tries to be smart, @@ -106,7 +106,7 @@ restart your proof session where you left it at the last time. Incremental support is undergoing refinement, if `coq-lsp` rechecks when it should not, please file a bug! -### Smart, Cache-Aware Error Recovery +### 🧠 Smart, Cache-Aware Error Recovery `coq-lsp` won't stop checking on errors, but supports (and encourages) working with proof documents that are only partially working. Moreover, error recovery @@ -115,14 +115,22 @@ integrates with the incremental cache, and will recognize proof structure. You can edit without fear inside a `Proof. ... Qed.`, the rest of the document won't be rechecked, unless the proof is completed. -### Whole-Document Goal Display +Smart error recovery + +Furthermore, you can leave bullets and focused goals unfinished, and `coq-lsp` +will automatically admit them for you. + +### πŸ₯… Whole-Document Goal Display Press `Alt+Enter` (or `Cmd+Enter` in Mac) to show goals at point in a side panel. Whole-Document Goal Display -### Markdown Support +The panel will also include goals that you have given up or shelved. This panel +will also show the current info about open bullets and their goals. + +### πŸ—’οΈ Markdown Support Open a markdown file with a `.mv` extension, `coq-lsp` will check the code parts that are enclosed into `coq` language blocks! `coq-lsp` places human-friendly @@ -130,21 +138,24 @@ documents at the core of its design ideas. Coq + Markdown Editing -### Document Outline +### πŸ‘₯ Document Outline `coq-lsp` supports document outline and code folding, allowing you to jump -directly to definitions in the document. +directly to definitions in the document. Many of the Coq vernacular commands +like `Definition`, `Theorem`, `Lemma`, etc. will be recognized as document +symbols which you can navigate to or see the outline of. + -Document Outline Demo +Document Outline Demo Document Symbols -### Detailed Timing and Memory Statistics +### ⏱️ Detailed Timing and Memory Statistics Hover over any Coq sentence, `coq-lsp` will display detailed memory and timing statistics. Stats on Hover -### Client-Side Configuration Options +### πŸ”§ Client-Side Configuration Options `coq-lsp` is configurable, and tries to adapt to your own workflow. What to do when a proof doesn't check, admit or ignore? You decide! @@ -153,7 +164,7 @@ See the `coq-lsp` extension configuration in VSCode for options available. Configuration screen -### Reusability, Standards, Modularity +### ♻️ Reusability, Standards, Modularity The incremental document checking library of `coq-lsp` has been designed to be reusable by other projects written in OCaml and with needs for document @@ -162,7 +173,7 @@ validation UI, as well as by other Coq projects such as jsCoq. Moreover, we are strongly based on standards, aiming for the least possible extensions. -### A Platform for Research! +### πŸ”Ž A Platform for Research! A key `coq-lsp` goal is to serve as central platform for researchers in Human-Computer-Interaction, Machine Learning, and Software Engineering willing @@ -171,11 +182,11 @@ to interact with Coq. Towards this goal, `coq-lsp` extends and will eventually replace `coq-serapi`, which has been used by many to that purpose. -## FAQ +## ❓FAQ See our [list of frequently-asked questions](./etc/FAQ.md). -## Troubleshooting and Known Problems +## ⁉️ Troubleshooting and Known Problems - Some problems can be resolved by restarting `coq-lsp`, in Visual Studio Code, `Ctrl+Shift+P` will give you access to the `coq-lsp.restart` command. diff --git a/etc/img/lsp-doc-symbols.png b/etc/img/lsp-doc-symbols.png new file mode 100644 index 0000000000000000000000000000000000000000..b0a751a91bbaa861db6985edff3ab4d3f0f01726 GIT binary patch literal 9219 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 literal 0 HcmV?d00001 diff --git a/etc/img/lsp-errors.gif b/etc/img/lsp-errors.gif new file mode 100644 index 0000000000000000000000000000000000000000..f6961e2c1cb9ed61f8dd497dfc90da4d9ac0e77f GIT binary patch literal 30606935 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

    Ji0Q&R{zyI_Jq0aZhR6(j-}Kmj5>HCG3RQ+Ks6 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

    bu(QZj&EW0QDB+Zhv&fjmAWafJQIISCvodt@Zok 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%0DdM9*9iKE^^8#o&iF!W!g-oHV6$Vb^lh;*T`S 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≉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

    D&!{r+fV8AAh0kn( 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

    ;AnkdbiFwUFuY5>qP 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

    IhzJX8@k4$0+Az3nVW~;#pJ1nuq z8k-ZGILQeWhTxo4({dm|C!JzAF&0=z*CM1&Y6uw-kB#P`mxFo;u{Ul_R)}L_P9!C| zZDcv$?4 z%Hb(vTx+$Hs1bx9^u@UP1x9lJL?&lIfzUcNZGK9(`3&^^b0=+ z&sgu}u{_HI^=B#!5AF&fp93pMi$rj0habUNBj zRkV{=M0~Wf4lYEy1d=xVX}xsQLt*7Z!UKymb=9N0{yOZjN6B?fUN?o@PGlnl9YTsw zJJ|?&nDNLfACVQouoDkBlc*zjAlbyjPA%9)WCTITvxN~j?aZT2 zE=KSqy-1UQ6HhzApqqpL8S_*od&8v*fR(I*91K#f7@-3E5wL&;Jm70+M-$sw%^WP7 z3L)lEB%R=*9fm<5vGjM99zabbKM+&vq~ZfKyx|R7P#p$SsKOOCOo20Dpu@&xhk4X& zD#7@VPO88?779y)Rp~(^6ehJy+^Q;3c!eoUQHn0`u!&B5Vwzki5*Rit8^)N$EX<)d zC~{FKrK^e$@<6qjs38;nvq}>15QjA?p^I*OBOG-j#gI^uVFZasJhUOSIJ(h?Qu)Eu ziWm|sWa3wR+{tj}c*sREQaE3!P$MG=F+WCSYG(||6AC#%NzQ}>8~7wBH}FVKlCqRi zQDj8wXv$SeiIPwMk<}y!!G~Gu;a?oggdt`*%czxd1ONDkJAU`e4Y0D9#{3B?5u(at zGBZK0bV?S+B+X0+F$vR@rXVFrf(!g309DXM6$0>&3yiXv<~(OIbFfUTP=iFD!wp=< z5)XCg;)3Ul*fZ~G6>k0m90UNzFE60afgUrR>%2-kb)is&P7t2k!3E>|@j!wyET0sO zN(Uf7fPXaL9|V9v2QDg7P8xJ7pExN>Q|dF2w6in4fy)Hjsi~0~%c3-GN(UzJj|co? z0wKLAP~%uqsgT4+Pzp&)X~LLK=z<;R6Iy_DF$;CfgB?XuL^j@$$K@d;s#C3MLuUfh zh$K!^zNkn48-7QQ(Is8^|K)u0;ai-d&= z2`uoB2>inW;-sk82<%-kjAIwys2IvPJ40%RU7=%F*oiT_HL&0!qFRuM zLmfco30!oc<6q3v?zUTrpRcP{*Eu0a#4h|gF`6fRM6QCf+cqcY3b5|7W zV#lJn%~zW-R3>AbmEzc?AYn{cQ9Ip`sAIU9iHCvrtdp@K1Q!C12;Vdel8pFlFZ5ze zB0k{`Bl99h5EjRws8Ne?#luH83y`4QjFU5qIwb0?!i!6-YKFlXDv2A5pEc_bJ4a-x zGl{B5*5PMr02;M5ya}Q8!Wu+x3?ql`oj>R$9oG879emJ+;EeDIU#P<$ECUy&{)8U? zT(8Vki5~TB*l=(yxacks=%T*ER|EUNCo7kxT|#FjI#w zoVAg5gi0id+mJb8eUf39dnVsrwR+ny?uJwRP3^7SRY+oQmbQB)wiXGuK|+#eC8EH- zMskPQN*Q8{#0qOg2!$;y5pcYt3f(()W((~PnU5Sv^{#kG9uAZ%Wob)Y`VyALv@7+k zQoVGTIMAamp>spU966^+LKiC4TEBbYzor9hWlLMzGJMbv)de-`K^K;bWVy{fDqK>7 zpL-Za7v_*^m500Cc@(1-g&J-$BLI@BQL5N-z5?G}4q)z$JQ&CF)z48&F zI#=#%oOpd4-ZR0fR;%ZAl#ivV#;^lO_C1rfR+Sf>=~H@)j1WxVD0s%0X&Z{+)WC(e z?1DcpRQv_7)XgLhLhR))%|Qrr4Ab(?ZxH66AJoAsrGu**f6N(t;#icL) z-9&%J50pV0G=d_8P*jXi37wGEcv1(DKnGBs1g0QY z?4JrU69x7J5FMY?T;Nn3Q4%dt3+7-!LEseWph&&oPJ|Km(L^Q*0#&5{(Hg};8~Gp; zlF}>%0u)A}6i(qmWd&R?34w^iMBSS|pq@w=8rbN@W8@jWOoBMf1E^qy_vpkIq@lwB zA5;Jm5#2-)HlZD&*%MBo9!6mmHpQ!vNNQYRfoNfZb>U0|!b$mFQp`>8=mOL6#2BWD zF3?#{7{NNI18Et}Rjgr7v|+(94IDm&CH;?J{L7b!NjBY~Dxy~&?x7y`AycrHLaoC) zER;+LB7sy#A$s9V6oDcJ1zdnbM^H{rL?W8ZL#XM5XmA--aAHnW!6OD;C^iKw$r3I7 zOC~9T;`s^+t)e$VRx7%q6vE;zTrElMwa5AWVYN8GywBxuh%+=~(9f?GKv zPVfRf3Whtlgez!+Q>_Cy-I;(j)l&)ESWFZh1Vcfj2v@f5BE4@O(@tWB1HY+!apt~Uq)R+IwVBij-_$T zkPrkvaMeUqL_J_mO{h$i6$xFbO=6c%xlHgY}M98qT^aFXLCMhSE)lS=0ZC> zL{9L*Coslc=0H0n&t5XfD40Se^re2P&|ivUU^0b7hDcuQMQcn3bbh2wND5ii96}_G zM9hPtP1%0Y1R;V%VMGLCR0~|V#22`OpP6Pv7^r2u%S@2OX&r`ue8D@A$79Cc`8%D%@RzZCdh$bKe8=Qh1jKY`hrHcyZQ)8(!FWuh&k$#4fG9%9>3hH^O*~mdtOj}DnRU3_ zbooKqWkha9nV^7!k+p%8b(Nv+={lGLiQa^xO_+)F8`s?nlJ>d0W`0KJ8Xct&Zm zv8sH`XnOFbO?YBRBu@@>>41+JRZ>#u7S2egjfIWy4npw%f*}fqB5Es!aBG0Qsivv~7-EP@z{FnF zX|UGArp3cM*ui9cCXKLbt2uLkA2t!hNXDo@O6MD!U;_1cq;r<7?1 zLXc#o?1Zp_MEw=(G_Faqmcl7SM9V^}%xaCazM^edYp(X@rDWSo)x=Wz0-h4a=G4L` zU;;^)YuANDg^t8_xI(0~t3LoLyyhIE-pI~kO3#V}Yf_G(IW49fL|la^q|$^rbe}k6 zgK>gJ4m^t2Dkz3FS3Jx^a)yM&!kmdP+F$JI#o{AQXl#1yn#cM>&I%j0h^*C?ESAP+ z${Op;Hg06qEEV2tt>P+=Hma}oL@~JkLlGS6V)(-Q3#hL}{kCfD587Xh_sU z4V_C*{G_qPN9S4SrjG4Q7=t+If_E7MHFS&V=D@d*S?|QdgMD7ewyKoD3_@V+PWbIw z)atEfgwPZLMIc+@nuxeWM7bpHu&M;(IxhGE737YiMU`CO>Xs05?EKra4t;0IB#_zgJ zL{M$Ys_O9$>C0tCg`sTm_U+g*X~~IXV=#uUUT^0H#$*6%O`NQjdhg1HuMFcMA2?*> z#s`D(*3t_oa;11@M~J3I?xz$P`|CQj@{Jak8p6bTgnP2fZX@yd-h@Wbfl zEeZ!1b4h2;#6xcFaY#5X*m>vJjf`9B?mC2|^-k>Ir00CHa7akodv3>e;w22L*bH~F zsEsclmanv&FG8#(@PD_V7YRB(X?f8iv?N^h{6nTo0n!WS)J&XIR_! zpt35j<~q~^kY>yKtG zLx4DI1X1g75F>cWS=S&EDG?LFwO_l&TmN;|gtZWc5Kp5)b(E1H6oEoJ1roB6 zU`IAq1h!<8P7E*qg&d}$M+>CnKDT*;M0E2dc&|5mx3_!0H+)aGc*jPWhUu7= z>3N%Xdaq)9_qTulH-LZle8UE^Dr*iftFz{}bMLnu2DpPiIE452fWJn|zATuILMbTt zf(NxwOSFDQIEaV1h;R3VYq*KS27|ZYh_5({k9dinIE-sWic4UN*SL*4_=`J855$5e zEMbg0^^EiX-;EDBk;8Y6bA=aZ!YGh}Be;Q2?0Ap=_)`bD`4zd9U%7x^cA78&D0o67 zXu>OaLK?szkNdck`!tn{AC|8}q9}u8a^gt?jf|KV! z5`_8^B0(ygf+=`H7x;OSkAf#Sf~gDoPZN6O_4lHOlCJMMulKsI|2nV-yRZ*Cu?xFV zt2C*zbP%nzR2)H~|pmVrTlQg-x z_o1u1!#_O4M|`=9H&P?SoNI|8m~>M(!7J2zMBIB9lzJg3fe)0tzK{96kNOeJy1~PA zxKkW^H@w8pJk8fU#EZ98=Rh480v*tSm>5!2%)7@U1juuF5*_`jcLAUyUca||NWXl! z#k|c=J=Irzus8Qu&jb(+;ZsmMv`age7lIs&J=sga(i05JJN-jLJ-C7Q2@*R8#J$|l zJ>A#6-QPXl=e^$VJ>U1e-`~Al$Djv-gmE_osEazTn7YV&dk&;LLacnjtGz?By{ftY zeX!U41!TVFZ$9UDzUO~F=!d@Ok3Q*_zUhBHVT;k=g9IVfc~sna!0&mV=li}R#1stB zzX$xlM}87CgEoYMK8RcH21@N`o*1($m{n2R|= zG(nd~g0*YH$makObpIi6d*m|#GSEXL1b_Grznc}muYbM;%s>6tzy04o{^!5`??3I8o>Y~D-$x)shrShcYAroZuB9Rn2lxR_-N0BB~x|C^Cr%$0ql{%IGYE`RO zvGU;)h-+7`Umsu(Zr(|Y_Kc#PHd4X3E86m&pv^Aiy#6B zaLiH19eM20#~*8*&k)N+4om6eb^X(iA9jkdjI(AsWTSExGK{OD|JY zF%TBNEVC#W(W1~T4lJZ`w+QU0MVocvxyQ~s@yt`tJ^Ad@&p!bTRM0{HM3S%)HF1cI zQ{)&W(JDtd#Zg5gZIn_*Cv_6jM;A5I(@#MS6}&K2BvVvT(IlY*HS3ehP2D1(!x(x9 zt<~0Bam`g%I}J_9L`R+E$Vp8!rDE7(t0Xp3VI5r-Qe`0(M=c7UIj4G$x=>#4m($+sVZWQL^8o-5;U~Sp@==M6Xb=f>8{&u7jdS#>bnVq(c7RKhLsLl z#V*|NLVGRjFhwNGJ+!O=M;TTKv{Bvo!^sx^>!Xl7VkCwijPPCh>8Yn` zcb=%eV=cbR;v z41<^9s!9%4D-PpG)E2* zG~o&D_COSFW`e;R8U{5O!-#QEDm`dKbROauM$BzGk8s`!ff&S@sZfYwY2oO)mp>UU z5nVKdiVqN2JBK786FrBme2HNG_M&> zaU#f?mGtOn1hUpZ#>rJj0nyh6(S2_{?W5 z_vufCF4Qvsy{16zS7WEf9^ur_ zEcF{wD9sg?QI2#V)u!~rsWf%UO`i5thCekA6i(3x@+83<-&n;e1YuOJK4cJ#aD`MS z64j@AhN@PL$Woh{4!2(JDtCSBDrDEy_kH!4FuGqz4NBHBnpGrb^X1wq;}~6Dv$T0j#VTjdJ@sANJ`7sWmHunfPL#S!jX<=xS)KiO{!uSyV0+7bbkGGZ17wvQppCA zvJ~+o<0iw#BT5cj1>T@A|!MzGNp-?+spTtSX+XvT(&IC4ZzOjoXxgotaK&i7;9Xw3 zI=r%V1vk=x>MKZ^8{gQ3qzU`w>4n)rA1yO*cbaCOvTiKq({Ds*hZQ+T1QIHlVxpBG z;6kXN-Cdw_ALLDMmE7AQTezGLTH%Q_5QW7N5d&fGO6!Mw8X}=?IH{@o44Nci8qbg& z9Lgc_9CX*$wv|Yaf86nCuh_#zK8GOaKnPVQcG#}|F<$GCaoR?e)=8*#Qp5WVM{9fA zx-FG@zs=q=yI0)DTk}W)7)K9gJG%UJb1Dj<1RqSj-D$}8A_SfUs6PSfD!_Ugv_9{@ zV%G*~AAZQN zXWPbUY}z3`SiId`o@UKIrnDA#)tbXf2zUw(qLxfrH?x7SMB3R{cQ`znihCjsN#E1CV>;CGX`@5Qi11|9(G< zdQcQX4*mDP6s|7ow(j)=aNeAt&bj~(J!u~?A&RP6lF56pZnTi7o)+)tK> z4*pQ*=vpg^CZc(muIciRzM!te0uby5aP|t&>-6j)AfW*X&H{4)IL*@7=XzLz1$!NnxM|^3}m9N5}(lPqA&_xK_&3) z6gtuDg0B{3O{-8%4hT)`W(YVBZb8Cng~I_?{W>=}wo7bAifBO=NQkMFL`t+Xrx zbuJ|TFK;B*qa@SfBnvSm!$%rNXtVB55rL=_@$$=(5fFz-5I10;Iu9_7M=ℜ=(U6 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