elixir-tools / elixir-tools.nvim

Neovim plugin for Elixir
MIT License
403 stars 30 forks source link

orphaned credo-language-server process after quitting nvim #94

Closed mhanberg closed 1 year ago

mhanberg commented 1 year ago

Description

Credo doesn't quit when stdin closes, causing orphaned processes

Discussed in https://github.com/elixir-tools/elixir-tools.nvim/discussions/93

Details

Originally posted by **kenichi** May 11, 2023 Hi and thanks for this plugin! Before opening an issue, I wanted to check: On macos, using either homebrew or asdf-built elixir/erlang, nvim 0.9, latest elixir-tools.nvim with the config below, I see a lingering credo-language-server process after quitting nvim: ``` 501 28314 1 0 11:05AM ?? 0:03.02 /opt/homebrew/Cellar/erlang/25.3.2/lib/erlang/erts-13.2.2/bin/beam.smp -- -root /opt/homebrew/Cellar/erlang/25.3.2/lib/erlang -bindir /opt/homebrew/Cellar/erlang/25.3.2/lib/erlang/erts-13.2.2/bin -progname erl -- -home [$HOME] -- -kernel shell_history enabled -- -pa /opt/homebrew/Cellar/elixir/1.14.4/bin/../lib/eex/ebin /opt/homebrew/Cellar/elixir/1.14.4/bin/../lib/elixir/ebin /opt/homebrew/Cellar/elixir/1.14.4/bin/../lib/ex_unit/ebin /opt/homebrew/Cellar/elixir/1.14.4/bin/../lib/iex/ebin /opt/homebrew/Cellar/elixir/1.14.4/bin/../lib/logger/ebin /opt/homebrew/Cellar/elixir/1.14.4/bin/../lib/mix/ebin -noshell -s elixir start_cli -- -extra [$HOME]/.local/share/nvim/lazy/elixir-tools.nvim/lua/elixir/../../bin/credo-language-server --stdio ``` here is `~/.config/nvim/lua/plugins/elixir-tools.lua`: ```lua return { { "elixir-tools/elixir-tools.nvim", event = { "BufReadPre", "BufNewFile" }, config = function() local elixir = require("elixir") local elixirls = require("elixir.elixirls") elixir.setup { credo = {}, elixirls = { -- tag = "v0.14.6", enabled = true, settings = elixirls.settings { dialyzerEnabled = true, enableTestLenses = false, }, on_attach = function(client, bufnr) -- whatever keybinds you want, see below for more suggestions -- vim.keymap.set("n", "fp", ":ElixirFromPipe", { buffer = true, noremap = true }) -- vim.keymap.set("n", "tp", ":ElixirToPipe", { buffer = true, noremap = true }) -- vim.keymap.set("v", "em", ":ElixirExpandMacro", { buffer = true, noremap = true }) local map_opts = { buffer = true, noremap = true} vim.keymap.set("n", "cf", "lua vim.lsp.buf.format({async = true})", map_opts) vim.keymap.set("n", "cd", "lua vim.diagnostic.open_float()", map_opts) vim.keymap.set("n", "K", "lua vim.lsp.buf.hover()", map_opts) end, } } end, dependencies = { "nvim-lua/plenary.nvim", }, } } ``` Note that I share my nvim config on a linux host and do not have the problem there. Has this been noticed before, or do you see something wrong in my config?