aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/lean3ls.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/lean3ls.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/lean3ls.lua')
-rw-r--r--lua/lspconfig/lean3ls.lua35
1 files changed, 35 insertions, 0 deletions
diff --git a/lua/lspconfig/lean3ls.lua b/lua/lspconfig/lean3ls.lua
new file mode 100644
index 00000000..9f03cf2a
--- /dev/null
+++ b/lua/lspconfig/lean3ls.lua
@@ -0,0 +1,35 @@
+local configs = require 'lspconfig/configs'
+local util = require 'lspconfig/util'
+
+configs.lean3ls = {
+ default_config = {
+ cmd = {"lean-language-server", "--stdio"};
+ filetypes = {"lean3"};
+ root_dir = function(fname)
+ 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 = {
+ description = [[
+https://github.com/leanprover/lean-client-js/tree/master/lean-language-server
+
+Lean installation instructions can be found
+[here](https://leanprover-community.github.io/get_started.html#regular-install).
+
+Once Lean is installed, you can install the Lean 3 language server by running
+```sh
+npm install -g lean-language-server
+```
+ ]];
+ default_config = {
+ root_dir = [[root_pattern("leanpkg.toml") or root_pattern(".git") or path.dirname]];
+ };
+ };
+}
+-- vim:et ts=2 sw=2