$E_FN crashes or uses the wrong file outside :ExecutorRun
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 76/100
Direção de pesquisa
Comece lendo run_one_off_cmd, set_task_command e get_relative_buffer_name, onde a issue relata um caminho de buffer desatualizado ou nil. Reproduza os dois casos no Neovim: execute :ExecutorOneOff antes de :ExecutorRun e, depois, execute-o a partir de outro buffer após :ExecutorRun. Atualize a seleção do buffer para os caminhos afetados e verifique se $E_FN usa o arquivo atual sem travar.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
:ExecutorRun records the current buffer, and $E_FN uses that recorded buffer. Other ways of running or setting a command do not record it first, so $E_FN either crashes or uses the wrong file.
Steps to reproduce
Crash
- Start Neovim and open any file.
- Before running
:ExecutorRun, run:ExecutorOneOff echo $E_FN. - The command fails with
Invalid 'buf': Expected Lua number. The error comes fromnvim_buf_get_name(nil)inget_relative_buffer_name.
Wrong file
- Open
a.jsand run:ExecutorRunonce. - Switch to
b.js. - Run
:ExecutorOneOff echo $E_FN. The command runs ona.jsinstead ofb.js.
Affected paths
last_active_buf_id is set only in Executor.run(). These paths read it before it is set, or after it has gone stale:
:ExecutorOneOff(run_one_off_cmd).- Choosing a preset.
set_task_commandruns beforeExecutor.run()records the buffer. - Choosing an entry from the history picker. This path also calls
set_task_commandbeforeExecutor.run(). require("executor").api.set_task_commandandapi.run_task.
Possible fix
Record the current buffer in run_one_off_cmd and set_task_command. Alternatively, read the current buffer directly when last_active_buf_id is nil.
- Linguagem predominante
- Lua
- Estrelas
- 161
- Forks
- 12
- Merge médio
- 25min
- PRs com merge (30d)
- 1
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
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 google/executor.nvim
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
google/executor.nvim#46 ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
google/executor.nvim#38 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
google/executor.nvim#35 ·
-
[Feature Request] Option to run ExecutorShowDetail when the current task finishesTalvez já em andamento @jackfranklin assumiu há 513 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
google/executor.nvim#33 · 9 comentários ·
-
IMPORTANT: breaking changesAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
google/executor.nvim#26 · 3 comentários ·
Todas as issues de google/executor.nvim
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
teradata-labs/loom#624 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
lsp
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 76/100
neovim/neovim#42774 · 1 comentário ·
Mantenedores costumam responder em até 1 dia