diff options
| author | Dheepak Krishnamurthy <me@kdheepak.com> | 2020-02-14 02:45:54 -0700 |
|---|---|---|
| committer | Dheepak Krishnamurthy <me@kdheepak.com> | 2020-02-14 22:34:01 -0700 |
| commit | 14f487f21ef97fcf923e304d8eaa76c872f276bc (patch) | |
| tree | 1a64d11f9967d6abb106dd11c9dde7ed0480f1e6 /lua | |
| parent | [docgen] Update README.md (diff) | |
| download | nvim-lspconfig-14f487f21ef97fcf923e304d8eaa76c872f276bc.tar nvim-lspconfig-14f487f21ef97fcf923e304d8eaa76c872f276bc.tar.gz nvim-lspconfig-14f487f21ef97fcf923e304d8eaa76c872f276bc.tar.bz2 nvim-lspconfig-14f487f21ef97fcf923e304d8eaa76c872f276bc.tar.lz nvim-lspconfig-14f487f21ef97fcf923e304d8eaa76c872f276bc.tar.xz nvim-lspconfig-14f487f21ef97fcf923e304d8eaa76c872f276bc.tar.zst nvim-lspconfig-14f487f21ef97fcf923e304d8eaa76c872f276bc.zip | |
Add nimls
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim_lsp/nimls.lua | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lua/nvim_lsp/nimls.lua b/lua/nvim_lsp/nimls.lua new file mode 100644 index 00000000..f4eb2e1e --- /dev/null +++ b/lua/nvim_lsp/nimls.lua @@ -0,0 +1,46 @@ +local configs = require 'nvim_lsp/configs' +local util = require 'nvim_lsp/util' + +configs.nimls = { + default_config = { + cmd = {"nimlsp",}; + filetypes = {'nim'}; + log_level = vim.lsp.protocol.MessageType.Warning; + root_dir = function(fname) + return util.find_git_ancestor(fname) or vim.loop.os_homedir() + end; + }; + docs = { + vscode = "kosz78.nim"; + description = [[ +https://github.com/PMunch/nimlsp +`nimlsp` can be installed via `:LspInstall nimls` or by yourself the `nimble` package manager: +```sh +nimble install nimlsp +``` + ]]; + default_config = { + root_dir = [[root_pattern(".git") or os_homedir]]; + }; + }; +} + +configs.nimls.install = function() + local script = [[ + nimble install nimlsp + ]] + + util.sh(script, vim.loop.os_homedir()) +end + +configs.nimls.install_info = function() + local script = [[ + nimlsp --version + ]] + + local status = pcall(vim.fn.system, script) + + return { + is_installed = status and vim.v.shell_error == 0; + } +end |
