aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/health.lua
diff options
context:
space:
mode:
authorHirokazu Hata <h.hata.ai.t@gmail.com>2020-09-06 17:49:21 +0900
committerHirokazu Hata <h.hata.ai.t@gmail.com>2020-09-06 17:49:21 +0900
commitddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de (patch)
treec301c7a765535dcb5387d76cc71e28d845dcce23 /lua/lspconfig/health.lua
parentMerge pull request #238 from steelsojka/angular-ls (diff)
downloadnvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar
nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.gz
nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.bz2
nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.lz
nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.xz
nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.tar.zst
nvim-lspconfig-ddcd9e6aae50d6397e43e4fc9ba0cf7a82cc79de.zip
Rename nvim_lsp to lspconfig
Diffstat (limited to 'lua/lspconfig/health.lua')
-rw-r--r--lua/lspconfig/health.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/lua/lspconfig/health.lua b/lua/lspconfig/health.lua
new file mode 100644
index 00000000..3abab080
--- /dev/null
+++ b/lua/lspconfig/health.lua
@@ -0,0 +1,26 @@
+local M = {}
+function M.check_health()
+ local configs = require 'lspconfig/configs'
+
+ for _, top_level_config in pairs(configs) do
+ -- If users execute `:LspInstall` or `:LspInstallInfo`,
+ -- a config is required but is not added make_config function.
+ if not (top_level_config.make_config == nil) then
+ -- the folder needs to exist
+ local config = top_level_config.make_config(".")
+
+ local status, cmd = pcall(vim.lsp._cmd_parts, config.cmd)
+ if not status then
+ vim.fn['health#report_error'](string.format("%s: config.cmd error, %s", config.name, cmd))
+ else
+ if not (vim.fn.executable(cmd) == 1) then
+ vim.fn['health#report_error'](string.format("%s: The given command %q is not executable.", config.name, cmd))
+ else
+ vim.fn['health#report_info'](string.format("%s: configuration checked.", config.name))
+ end
+ end
+ end
+ end
+end
+
+return M