aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/leanls.lua
diff options
context:
space:
mode:
authorRishikesh Vaishnav <rishhvaishnav@gmail.com>2021-06-13 12:21:12 -0700
committerGitHub <noreply@github.com>2021-06-13 12:21:12 -0700
commiteacaccb7d5b4e65c45f3a23142abe2aca647327e (patch)
tree67e17754303d1af88c89091640dca747d802a563 /lua/lspconfig/leanls.lua
parentUpdate .mergify.yml (diff)
downloadnvim-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.lua21
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]];
};
};
}