"p" Throws Exception When Valid Node Passed
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 72/100
Direção de pesquisa
Comece em lua/nvim-tree/actions/fs/clipboard.lua, em do_paste (por volta da linha 363), onde um método chamado as é invocado em um valor nil, e então rastreie como o nó passado por api.fs.paste (lua/nvim-tree/api/impl.lua:165) chega a essa chamada. Verifique como clipboard.lua distingue o estado copiado do estado cortado e qual campo do nó ela espera ali; a reprodução clean-room no corpo do issue é a forma mais rápida de confirmar a correção. Considera-se concluído quando colar um nó válido via api.fs.paste não lança mais E5108.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Description
When calling paste with a valid {node}
5108: Lua: ...nvim-tree.lua.dev/lua/nvim-tree/actions/fs/clipboard.lua:363: attempt to call method 'as' (a nil value)
stack traceback:
...nvim-tree.lua.dev/lua/nvim-tree/actions/fs/clipboard.lua:363: in function 'do_paste'
...nvim-tree.lua.dev/lua/nvim-tree/actions/fs/clipboard.lua:451: in function 'paste'
...acker/start/nvim-tree.lua.dev/lua/nvim-tree/api/impl.lua:165: in function 'paste'
/tmp/nd/config/nvim/nd.lua:74: in function </tmp/nd/config/nvim/nd.lua:70>
Neovim version
NVIM v0.12.5
Build type: RelWithDebInfo
LuaJIT 2.1.1788856981
Operating system and version
Linux 7.2.8-arch1-2
Windows variant
No response
nvim-tree version
478c69c
Clean room replication
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.cmd([[set runtimepath=$VIMRUNTIME]])
vim.cmd([[set packpath=/tmp/nvt-min/site]])
local package_root = "/tmp/nvt-min/site/pack"
local install_path = package_root .. "/packer/start/packer.nvim"
local function load_plugins()
require("packer").startup({
{
"wbthomason/packer.nvim",
"nvim-tree/nvim-tree.lua",
"nvim-tree/nvim-web-devicons",
-- ADD PLUGINS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
},
config = {
package_root = package_root,
compile_path = install_path .. "/plugin/packer_compiled.lua",
display = { non_interactive = true },
},
})
end
if vim.fn.isdirectory(install_path) == 0 then
print("Installing nvim-tree and dependencies.")
vim.fn.system({ "git", "clone", "--depth=1", "https://github.com/wbthomason/packer.nvim", install_path })
end
load_plugins()
require("packer").sync()
vim.cmd([[autocmd User PackerComplete ++once echo "Ready!" | lua setup()]])
vim.opt.termguicolors = true
vim.opt.cursorline = true
-- MODIFY NVIM-TREE SETTINGS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
_G.setup = function()
local function on_attach(bufnr)
local function opts(desc)
return { desc = "nvim-tree: " .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
end
local api = require("nvim-tree.api")
api.map.on_attach.default(bufnr)
vim.keymap.set("n", "p", function()
local explorer = api.tree.get_nodes()
local node = explorer.nodes[2]
-- print(vim.inspect(node, { depth = 1 }))
api.fs.paste(node)
end, opts("Paste"))
end
require("nvim-tree").setup({
on_attach = on_attach,
})
end
Steps to reproduce
:NvimTreeOpen
c
p
Expected behavior
copied node should be pasted into the node below
Actual behavior
E5108: Lua: ...art/nvim-tree.lua/lua/nvim-tree/actions/fs/clipboard.lua:363: attempt to call method 'as' (a nil value)
stack traceback:
...art/nvim-tree.lua/lua/nvim-tree/actions/fs/clipboard.lua:363: in function 'do_paste'
...art/nvim-tree.lua/lua/nvim-tree/actions/fs/clipboard.lua:451: in function 'paste'
...ck/packer/start/nvim-tree.lua/lua/nvim-tree/api/impl.lua:165: in function 'paste'
...neovim-functionaltest/.github/ISSUE_TEMPLATE/nvt-min.lua:48: in function <...neovim-functionaltest/.github/ISSUE_TEMPLATE/nvt-min.lua:44>
- Linguagem predominante
- Lua
- Estrelas
- 8.7k
- Forks
- 643
- Merge médio
- 2d 4h
- PRs com merge (30d)
- 5
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem 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 nvim-tree/nvim-tree.lua
-
documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
nvim-tree/nvim-tree.lua#3361 ·
-
Use vim.Option getters and setters instead of directly settingTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
nvim-tree/nvim-tree.lua#3357 · 1 comentário ·
-
Migrate To vim.packAbertadocumentation PR please
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 65/100
nvim-tree/nvim-tree.lua#3179 · 6 comentários ·
-
bug PR please reproduced
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
nvim-tree/nvim-tree.lua#3368 · 3 comentários ·
-
awaiting feedback
Dificuldade 3/5 Meio dia Facilidade para iniciantes 66/100
nvim-tree/nvim-tree.lua#3364 · 4 comentários ·
Todas as issues de nvim-tree/nvim-tree.lua
Issues semelhantes
-
v3: Lua m.setvar() returns -1 on errors, so the script gets stack garbageTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta3.x bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
owasp-modsecurity/ModSecurity#3731 ·
Mantenedores costumam responder em até 1 dia
-
good first issue redis-compat
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
LSP: Invalid buffer id in previous_result_ids during workspace/diagnostic/refreshTalvez já em andamento @sharky720 assumiu hoje. Abertadiagnostic lsp
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
neovim/neovim#42629 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
easy first-contributor first-contributors good first issue help wanted lua up-for-grabs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
fork-commit-merge/fork-commit-merge#8458 ·
Mantenedores costumam responder em até 1 dia
-
Add cabal-gild as fixerAbertanew tool
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
dense-analysis/ale#5176 ·