Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom provider tries to initialize the module even when it is not set or loaded #1070

Open
2 tasks done
drowning-cat opened this issue Jan 23, 2025 · 0 comments
Open
2 tasks done
Labels
bug Something isn't working

Comments

@drowning-cat
Copy link

drowning-cat commented Jan 23, 2025

Make sure you have done the following

  • Updated to the latest version of blink.cmp
  • Searched for existing issues and documentation (try <C-k> on https://cmp.saghen.dev)

Bug Description

It is just a minor issue.

When I define a custom provider, it tries to require the module even if it is not set or enabled.
This becomes an issue when the actual module is not loaded.
In the example provided, I want to add the module to the sources list only if it is loaded—in our case, lazydev. However, I still get an error because there is no way to skip the initialization.


Error
Error detected while processing TextChangedI Autocommands for "*":
Error executing lua callback: ...zy/blink.cmp/lua/blink/cmp/sources/lib/provider/init.lua:36: module 'lazydev.integrations.blink' not found:
        no field package.preload['lazydev.integrations.blink']
        cache_loader: module 'lazydev.integrations.blink' not found
        cache_loader_lib: module 'lazydev.integrations.blink' not found
        no file './lazydev/integrations/blink.lua'
        no file '/usr/share/luajit-2.1/lazydev/integrations/blink.lua'
        no file '/usr/local/share/lua/5.1/lazydev/integrations/blink.lua'
        no file '/usr/local/share/lua/5.1/lazydev/integrations/blink/init.lua'
        no file '/usr/share/lua/5.1/lazydev/integrations/blink.lua'
        no file '/usr/share/lua/5.1/lazydev/integrations/blink/init.lua'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/share/lua/5.1/lazydev/integrations/blink.lua'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/share/lua/5.1/lazydev/integrations/blink/init.lua'
        no file './lazydev/integrations/blink.so'
        no file '/usr/local/lib/lua/5.1/lazydev/integrations/blink.so'
        no file '/usr/lib/lua/5.1/lazydev/integrations/blink.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/lib/lua/5.1/lazydev/integrations/blink.so'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/lib64/lua/5.1/lazydev/integrations/blink.so'
        no file '/home/clover/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/../../../../target/release/liblazydev/integrations/blink.so'
        no file '/home/clover/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/../../../../target/release/lazydev/integrations/blink.so'
        no file './lazydev.so'
        no file '/usr/local/lib/lua/5.1/lazydev.so'
        no file '/usr/lib/lua/5.1/lazydev.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/lib/lua/5.1/lazydev.so'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/lib64/lua/5.1/lazydev.so'
        no file '/home/clover/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/../../../../target/release/liblazydev.so'
        no file '/home/clover/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/../../../../target/release/lazydev.so'
Error:cmdline
Error executing vim.schedule lua callback: ...zy/blink.cmp/lua/blink/cmp/sources/lib/provider/init.lua:36: module 'lazydev.integrations.blink' not found:
        no field package.preload['lazydev.integrations.blink']
        cache_loader: module 'lazydev.integrations.blink' not found
        cache_loader_lib: module 'lazydev.integrations.blink' not found
        no file './lazydev/integrations/blink.lua'
        no file '/usr/share/luajit-2.1/lazydev/integrations/blink.lua'
        no file '/usr/local/share/lua/5.1/lazydev/integrations/blink.lua'
        no file '/usr/local/share/lua/5.1/lazydev/integrations/blink/init.lua'
        no file '/usr/share/lua/5.1/lazydev/integrations/blink.lua'
        no file '/usr/share/lua/5.1/lazydev/integrations/blink/init.lua'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/share/lua/5.1/lazydev/integrations/blink.lua'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/share/lua/5.1/lazydev/integrations/blink/init.lua'
        no file './lazydev/integrations/blink.so'
        no file '/usr/local/lib/lua/5.1/lazydev/integrations/blink.so'
        no file '/usr/lib/lua/5.1/lazydev/integrations/blink.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/lib/lua/5.1/lazydev/integrations/blink.so'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/lib64/lua/5.1/lazydev/integrations/blink.so'
        no file '/home/clover/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/../../../../target/release/liblazydev/integrations/blink.so'
        no file '/home/clover/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/../../../../target/release/lazydev/integrations/blink.so'
        no file './lazydev.so'
        no file '/usr/local/lib/lua/5.1/lazydev.so'
        no file '/usr/lib/lua/5.1/lazydev.so'
        no file '/usr/local/lib/lua/5.1/loadall.so'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/lib/lua/5.1/lazydev.so'
        no file '/home/clover/.local/share/nvim/lazy-rocks/telescope.nvim/lib64/lua/5.1/lazydev.so'
        no file '/home/clover/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/../../../../target/release/liblazydev.so'
        no file '/home/clover/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/../../../../target/release/lazydev.so'

Relevant configuration

dependencies = {
  -- It may or may not be loaded (in our case, it is not)
  { 'folke/lazydev.nvim', optional = true },
},
opts = {
  sources = {
    default = function()
      local sources = {
        'lsp',
        'path',
        'snippets',
        'buffer',
      }
      -- Excluded from the list of sources
      if require('lazy.core.config').plugins['lazydev.nvim'] then
        table.insert(sources, 1, 'lazydev')
      end
      return sources
    end,
    providers = {
      lazydev = {
        -- And even disabled
        enabled = false,
        name = 'LazyDev',
        -- But still tries to `require` this and spams errors
        module = 'lazydev.integrations.blink',
        score_offset = 100,
        -- Even when fallbacks are defined
        fallbacks = {},
      },
    },
  },
}

neovim version

NVIM v0.11.0-dev-1558+gbc69f27237

blink.cmp version

v0.10.0 and later

@drowning-cat drowning-cat added the bug Something isn't working label Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant