From fef60a3c27fe7adc96babec04e1b37d797bd9e31 Mon Sep 17 00:00:00 2001 From: Mitchell Hanberg Date: Sun, 13 Nov 2022 13:14:21 -0500 Subject: [PATCH 1/3] fix: set defaults opts when setting up language server Closes #48 plugin fails to load --- lua/elixir/language_server/init.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/elixir/language_server/init.lua b/lua/elixir/language_server/init.lua index b9bc6cad..371daf5b 100644 --- a/lua/elixir/language_server/init.lua +++ b/lua/elixir/language_server/init.lua @@ -252,6 +252,8 @@ local function wrap_in_table(maybe_string) end function M.setup(opts) + opts = opts or {} + if not elixir_nvim_output_bufnr then elixir_nvim_output_bufnr = vim.api.nvim_create_buf(false, true) vim.api.nvim_buf_set_name(elixir_nvim_output_bufnr, "ElixirLS Output Panel") From 9c98c65b54a704d0651453192ba70c6672f6ccbc Mon Sep 17 00:00:00 2001 From: Mitchell Hanberg Date: Mon, 20 Mar 2023 21:21:57 -0400 Subject: [PATCH 2/3] feat: only prompt to install lsp once --- lua/elixir/language_server/init.lua | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lua/elixir/language_server/init.lua b/lua/elixir/language_server/init.lua index 371daf5b..42c6c5d0 100644 --- a/lua/elixir/language_server/init.lua +++ b/lua/elixir/language_server/init.lua @@ -275,11 +275,15 @@ function M.setup(opts) } if not opts.cmd and not cmd:exists() then - vim.ui.select({ "Yes", "No" }, { prompt = "Install ElixirLS" }, function(choice) - if choice == "Yes" then - install_elixir_ls(vim.tbl_extend("force", repo_options, { install_path = cmd:parent() })) - end - end) + if vim.g.elixirnvim_has_prompted_for_install ~= true then + vim.ui.select({ "Yes", "No" }, { prompt = "Install ElixirLS" }, function(choice) + if choice == "Yes" then + install_elixir_ls(vim.tbl_extend("force", repo_options, { install_path = cmd:parent() })) + end + + vim.g.elixirnvim_has_prompted_for_install = true + end) + end return end From 9d298ae34b0df6dfce40b0eafc3e880cfe017fc9 Mon Sep 17 00:00:00 2001 From: Mitchell Hanberg Date: Mon, 20 Mar 2023 21:22:47 -0400 Subject: [PATCH 3/3] fix: prevent nvim_buf_set_lines error when closing down nvim Closes #47 --- lua/elixir/language_server/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/elixir/language_server/init.lua b/lua/elixir/language_server/init.lua index 42c6c5d0..10ac3b5b 100644 --- a/lua/elixir/language_server/init.lua +++ b/lua/elixir/language_server/init.lua @@ -303,7 +303,7 @@ function M.setup(opts) local message = vim.split("[" .. vim.lsp.protocol.MessageType[result.type] .. "] " .. result.message, "\n") - vim.api.nvim_buf_set_lines(elixir_nvim_output_bufnr, -1, -1, false, message) + pcall(vim.api.nvim_buf_set_lines, elixir_nvim_output_bufnr, -1, -1, false, message) end, }, on_attach = function(...)