Performance tips?
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Domínio
- developer-experience, performance, tooling
Direção de pesquisa
Comece reproduzindo os atrasos na transição de insert para normal e na abertura de arquivos com a configuração fornecida do elixir-tools.nvim nas versões do Neovim relatadas. Compare ElixirLS-only, NextLS-only e ambos habilitados em um projeto grande e, em seguida, use os resultados para identificar um problema de configuração ou de desempenho do plugin; considera-se concluído quando houver uma causa documentada, uma solução alternativa ou um próximo passo acionável.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi,
I wonder if anyone can help me make ElixirLS or NextLS perform faster on my very big project, ideally I would like to use ElixirLS only for autocomplete and NextLS for everything else. Here's my config (that works on LazyVim):
{
"elixir-tools/elixir-tools.nvim",
dependencies = {
"elixir-editors/vim-elixir",
"nvim-lua/plenary.nvim",
},
ft = { "elixir", "eex", "heex", "surface" },
-- stylua: ignore
enabled = not vim.o.diff,
config = function()
local elixir = require("elixir")
local elixirls = require("elixir.elixirls")
local register_keys = function()
local wk = require("which-key")
local bufnr = vim.api.nvim_get_current_buf()
wk.register({
p = { "<cmd>ElixirToPipe<cr>", "To Pipe" },
P = { "<cmd>ElixirFromPipe<cr>", "From Pipe" },
m = { "<cmd>ElixirExpandMacro<cr>", "Expand Macro" },
r = { "<cmd>ElixirRestart<cr>", "Restart" },
o = { "<cmd>ElixirOutputPanel<cr>", "Output Panel" },
}, {
prefix = "<leader>cE",
name = "+elixir",
buffer = bufnr,
})
end
vim.api.nvim_create_autocmd(
"FileType",
{ pattern = { "elixir", "eex", "heex", "surface" }, callback = register_keys }
)
elixir.setup({
nextls = {
enable = true,
-- {
-- experimental = {
-- completions = {
-- enable = true,
-- },
-- },
-- },
},
credo = { enable = false },
elixirls = {
enable = true,
settings = {
elixirls.settings({
dialyzerEnabled = false,
-- dialyzerFormat = "dialyxir_long",
-- dialyzerWarnOpts = []
enableTestLenses = false,
-- envVariables =
fetchDeps = false,
-- languageServerOverridePath =
mixEnv = "dev",
-- mixTarget = "host",
-- projectDir = "",
signatureAfterComplete = false,
suggestSpecs = false,
log_level = vim.lsp.protocol.MessageType.Log,
message_level = vim.lsp.protocol.MessageType.Log,
trace = {
server = "off",
},
}),
},
},
})
end,
},
It's unbearably slow in my system (a 2021 16GB laptop), for some reason moving from insert mode to normal mode when ElixirLS is enabled is very slow, after save is understandable since mix itself is slow on big projects. Sometimes it also takes a fairly long time to open any file...
I'm on neovim NVIM v0.10.0-dev-582d7f4 but it's also very slow on NVIM v0.9.4
I also have treesitter disabled to help this work faster.
- Linguagem predominante
- Lua
- Estrelas
- 487
- Forks
- 33
- Merge médio
- 8d 52min
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de elixir-tools/elixir-tools.nvim
-
expert support?Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
elixir-tools/elixir-tools.nvim#245 · 1 comentário · 1 reação ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
elixir-tools/elixir-tools.nvim#241 · 1 reação ·
-
needs-response
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
elixir-tools/elixir-tools.nvim#209 · 3 comentários ·
-
elixir-ls enhancement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 42/100
elixir-tools/elixir-tools.nvim#182 · 6 reações ·
-
help wanted
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 20/100
elixir-tools/elixir-tools.nvim#138 · 1 comentário ·
Todas as issues de elixir-tools/elixir-tools.nvim
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 95/100
-
Bug Feature Request Forever Module - Townsfolk Needs testing/reproduction
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
ai-authored model:claude-opus-5-5
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Unconfirmed bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
luanti-org/luanti#17605 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
agent-in-progress agent-research-recommend enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
codymikol/multiverse.nvim#337 · 1 comentário ·
Mantenedores costumam responder em até 1 dia