diff options
| author | Rishikesh Vaishnav <rishhvaishnav@gmail.com> | 2021-06-13 12:21:12 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-13 12:21:12 -0700 |
| commit | eacaccb7d5b4e65c45f3a23142abe2aca647327e (patch) | |
| tree | 67e17754303d1af88c89091640dca747d802a563 /lua/lspconfig/leanls.lua | |
| parent | Update .mergify.yml (diff) | |
| download | nvim-lspconfig-eacaccb7d5b4e65c45f3a23142abe2aca647327e.tar nvim-lspconfig-eacaccb7d5b4e65c45f3a23142abe2aca647327e.tar.gz nvim-lspconfig-eacaccb7d5b4e65c45f3a23142abe2aca647327e.tar.bz2 nvim-lspconfig-eacaccb7d5b4e65c45f3a23142abe2aca647327e.tar.lz nvim-lspconfig-eacaccb7d5b4e65c45f3a23142abe2aca647327e.tar.xz nvim-lspconfig-eacaccb7d5b4e65c45f3a23142abe2aca647327e.tar.zst nvim-lspconfig-eacaccb7d5b4e65c45f3a23142abe2aca647327e.zip | |
feat(lean): add support for Lean 4 language server
Diffstat (limited to 'lua/lspconfig/leanls.lua')
| -rw-r--r-- | lua/lspconfig/leanls.lua | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/lua/lspconfig/leanls.lua b/lua/lspconfig/leanls.lua index f74e4227..aa5153ca 100644 --- a/lua/lspconfig/leanls.lua +++ b/lua/lspconfig/leanls.lua @@ -3,21 +3,30 @@ local util = require 'lspconfig/util' configs.leanls = { default_config = { - cmd = {"lean-language-server", "--stdio"}; + cmd = {"lean", "--server"}; filetypes = {"lean"}; root_dir = function(fname) - return util.find_git_ancestor(fname) or vim.loop.os_homedir() + return util.root_pattern("leanpkg.toml")(fname) or util.find_git_ancestor(fname) or util.path.dirname(fname) + end; + on_new_config = function(config, root) + if not util.path.is_file(root .. "/leanpkg.toml") then return end + if not config.cmd_cwd then + config.cmd_cwd = root + end end; }; docs = { - package_json = "https://raw.githubusercontent.com/leanprover/vscode-lean/master/package.json"; description = [[ -https://github.com/leanprover/lean-client-js/tree/master/lean-language-server +https://github.com/leanprover/lean4 + +Lean installation instructions can be found +[here](https://leanprover-community.github.io/get_started.html#regular-install). -Lean language server. +The Lean 4 language server is built-in with a Lean 4 install +(and can be manually run with, e.g., `lean --server`). ]]; default_config = { - root_dir = [[root_pattern(".git") or os_homedir]]; + root_dir = [[root_pattern("leanpkg.toml") or root_pattern(".git") or path.dirname]]; }; }; } |
