Open deeedob opened 4 months ago
Seems to be a problem with code that does async things to buffers, without expecting them to be deleted in the meantime. I'm getting the same error with mini.hipatterns (https://github.com/echasnovski/mini.nvim/issues/1080). The repro I posted there gives me your error too if I use nightly.
TLDR: not an Oil issue from what I can tell
Wondering if it's worth disabling the lsp and other functionnality on file previews by default. I believe telescope those that as I don't see sementic based coloring on its previews.
Wondering if it's worth disabling the lsp and other functionnality on file previews by default. I believe telescope those that as I don't see sementic based coloring on its previews.
Tried to look around in telescope and trouble where only treesitter syntax highlighing is enabled but no luck, if you have an idea, I can do a PR.
Edit: the scratch option does this I think
--- Create a preview buffer for an item.
--- If the item has a loaded buffer, use that,
--- otherwise create a new buffer.
---@param item trouble.Item
---@param opts? {scratch?:boolean}
function M.create(item, opts)
opts = opts or {}
local buf = item.buf or vim.fn.bufnr(item.filename)
if item.filename and vim.fn.isdirectory(item.filename) == 1 then
return
end
-- create a scratch preview buffer when needed
if not (buf and vim.api.nvim_buf_is_loaded(buf)) then
if opts.scratch then
buf = vim.api.nvim_create_buf(false, true)
vim.bo[buf].bufhidden = "wipe"
vim.bo[buf].buftype = "nofile"
local lines = Util.get_lines({ path = item.filename, buf = item.buf })
if not lines then
return
end
vim.api.nvim_buf_set_lines(buf, 0, -1, false, lines)
local ft = item:get_ft(buf)
if ft then
local lang = vim.treesitter.language.get_lang(ft)
if not pcall(vim.treesitter.start, buf, lang) then
vim.bo[buf].syntax = ft
end
end
else
item.buf = vim.fn.bufadd(item.filename)
buf = item.buf
if not vim.api.nvim_buf_is_loaded(item.buf) then
vim.fn.bufload(item.buf)
end
if not vim.bo[item.buf].buflisted then
vim.bo[item.buf].buflisted = true
end
end
end
return buf
end
I can work further on this if it seems like the right thing: https://github.com/stevearc/oil.nvim/pull/467
Makes the preview pretty much unusable for me rn, tried fixes with autocmds etc but havent found a satisfactory one yet
Just an FYI that I encountered the same problem with grug-far preview recently and ended up working around it by using bdelete
instead. Don't know too much about oil (just saw this issue when I was googling the error), but it might be an alternative 😄 way to address it. See this PR:
https://github.com/MagicDuck/grug-far.nvim/pull/271/files
Did you check the docs and existing issues?
Neovim version (nvim -v)
NVIM v0.11.0-dev-189+g78d3f4742
Operating system/version
ndeavourOS Linux x86_64
Describe the bug
I observed that when I preview files in a directory with a LSP that provides semanticTokens I get bombarded with such errors:
when I step through the files very slowly (and let the semantic tokens finish loading) I don't get such errors. Same as when I disable them from the LSP:
server_capabilities = { semanticTokensProvider = vim.NIL }
.I noticed it with the clangd language server.
What is the severity of this bug?
breaking (some functionality is broken)
Steps To Reproduce
Expected Behavior
No error.
Directory structure
No response
Repro
Did you check the bug with a clean config?
nvim -u repro.lua
using the repro.lua file above.