oil.nvim icon indicating copy to clipboard operation
oil.nvim copied to clipboard

bug: Invalid glob: **/*.{}

Open Bekaboo opened this issue 3 months ago • 3 comments

Did you check the docs and existing issues?

  • [x] I have read the docs
  • [x] I have searched the existing issues

Neovim version (nvim -v)

v0.12.0-dev-1326+g35fc4fda99

Operating system/version

Linux

Describe the bug

When LSP is attached, sometimes I get the following error when deleting/moving/copying a file in oil buffers:

Image

I haven't found a way to reliably reproduce this, but this happens to me >1 time every day. The fix should be simple by checking if glob is empty in

https://github.com/stevearc/oil.nvim/blob/919e155fdf38e9148cdb5304faaaf53c20d703ea/lua/oil/lsp/workspace.lua#L91

What is the severity of this bug?

severe (cannot save change in oil buffers)

Steps To Reproduce

  1. Enter oil buffer in nvim with LSP attached
  2. Try to remove/add a file in oil buffer, you can sometimes see the error.

Expected Behavior

Should not error

Directory structure

No response

Repro

-- save as repro.lua
-- run with nvim -u repro.lua
-- DO NOT change the paths
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "runtime", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  {
        "stevearc/oil.nvim",
        config = function()
            require("oil").setup({
              -- add any needed settings here
            })
        end,
  },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Did you check the bug with a clean config?

  • [x] I have confirmed that the bug reproduces with nvim -u repro.lua using the repro.lua file above.

Bekaboo avatar Oct 04 '25 02:10 Bekaboo

I also noticed https://github.com/stevearc/oil.nvim/issues/630 but the solution for that bug report does not work for me.

Bekaboo avatar Oct 04 '25 02:10 Bekaboo

This is happening to me as well but not sporadically but everytime i move/delete files in my Obsidian vault which is stored in iCloud. The path is /Users/kevinschweikert/Library/Mobile Documents/iCloud~md~obsidian/Documents/Notes/some_file.md. Maybe that helps to trace the issue.

Still happening in v0.12.0-dev-1537+g6dd6c5b523

kevinschweikert avatar Oct 29 '25 21:10 kevinschweikert

vim.schedule callback: /Users/towry/.local/share/nvim/runtime/lua/vim/glob.lua:373: Invalid glob: **/*.
{}
stack traceback:
        [C]: in function 'assert'
        /Users/towry/.local/share/nvim/runtime/lua/vim/glob.lua:373: in function 'to_lpeg'
        ...im/site/pack/core/opt/oil.nvim/lua/oil/lsp/workspace.lua:91: in function 'get_matching_paths
'
        ...im/site/pack/core/opt/oil.nvim/lua/oil/lsp/workspace.lua:204: in function 'did_file_operatio
n'
        ...im/site/pack/core/opt/oil.nvim/lua/oil/lsp/workspace.lua:239: in function 'did_create_files'

        ...nvim/site/pack/core/opt/oil.nvim/lua/oil/lsp/helpers.lua:93: in function 'did_complete'
        ...vim/site/pack/core/opt/oil.nvim/lua/oil/mutator/init.lua:452: in function 'next_action'
        ...vim/site/pack/core/opt/oil.nvim/lua/oil/mutator/init.lua:482: in function 'process_actions'
        ...vim/site/pack/core/opt/oil.nvim/lua/oil/mutator/init.lua:579: in function 'cb'
        .../pack/core/opt/oil.nvim/lua/oil/mutator/confirmation.lua:63: in function ''
        vim/_editor.lua: in function <vim/_editor.lua:0>
Press ENTER or type command to continue

towry avatar Nov 17 '25 04:11 towry