Closed gepbird closed 2 years ago
Hey @gutyina70. I think you need to wrap your config
argument in a function or a string. The way it's currently written, require 'cmp'
is being called inside use
, not when the plugin is loaded. Try something like this:
require('packer').startup(function()
use {
'hrsh7th/nvim-cmp',
config = function()
require 'cmp'
end
}
use 'preservim/nerdcommenter'
end)
Alternatively:
require('packer').startup(function()
use {
'hrsh7th/nvim-cmp',
config = [[require 'cmp']]
}
use 'preservim/nerdcommenter'
end)
@Teomik129 by putting it in a function or a string as you've shown, packer won't execute the config.
Never mind, it works, thank you!
I was getting an error after :PackerSync
, so it skipped the config part.
nvim --version
: v0.7.2git --version
: 2.37.0Steps to reproduce
Install a plugin, for example nerdcommenter
save, restart nvim then
:PackerSync
Add another plugin before the first plugin with a config that requires itself, for example nvim-cmp
save, restart nvim then
:PackerSync
Actual behaviour
require 'cmd'
failed, because nvim-cmp was not loaded, it doesn't install nvim-cmpExpected behaviour
packer files
Plugin specification file(s)
require('packer').startup(function() use { 'hrsh7th/nvim-cmp', config = require 'cmp' } use 'preservim/nerdcommenter' end)packer log file
[ERROR 2022. júl. 14., csütörtök, 10:46:26 CEST 2.1060456830603e+14] ...e/nvim/site/pack/packer/start/packer.nvim/lua/packer.lua:982: Failure running setup function: "/home/gep/.config/nvim/init.lua:4: module 'cmp' not found:\n\tno field package.preload['cmp']\n\tno file './cmp.lua'\n\tno file '/usr/share/luajit-2.1.0-beta3/cmp.lua'\n\tno file '/usr/local/share/lua/5.1/cmp.lua'\n\tno file '/usr/local/share/lua/5.1/cmp/init.lua'\n\tno file '/usr/share/lua/5.1/cmp.lua'\n\tno file '/usr/share/lua/5.1/cmp/init.lua'\n\tno file './cmp.so'\n\tno file '/usr/local/lib/lua/5.1/cmp.so'\n\tno file '/usr/lib/lua/5.1/cmp.so'\n\tno file '/usr/local/lib/lua/5.1/loadall.so'" [ERROR 2022. júl. 14., csütörtök, 10:46:32 CEST 2.1061063568062e+14] .../site/pack/packer/start/packer.nvim/lua/packer/async.lua:20: Error in coroutine: ...e/nvim/site/pack/packer/start/packer.nvim/lua/packer.lua:582: attempt to index local 'display_win' (a nil value)packer compiled file
-- Automatically generated packer.nvim plugin loader code if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') return end vim.api.nvim_command('packadd packer.nvim') local no_errors, error_msg = pcall(function() local time local profile_info local should_profile = false if should_profile then local hrtime = vim.loop.hrtime profile_info = {} time = function(chunk, start) if start then profile_info[chunk] = hrtime() else profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 end end else time = function(chunk, start) end end local function save_profiles(threshold) local sorted_times = {} for chunk_name, time_taken in pairs(profile_info) do sorted_times[#sorted_times + 1] = {chunk_name, time_taken} end table.sort(sorted_times, function(a, b) return a[2] > b[2] end) local results = {} for i, elem in ipairs(sorted_times) do if not threshold or threshold and elem[2] > threshold then results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' end end _G._packer = _G._packer or {} _G._packer.profile_output = results end time([[Luarocks path setup]], true) local package_path_str = "/home/gep/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/gep/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/gep/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/gep/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" local install_cpath_pattern = "/home/gep/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" if not string.find(package.path, package_path_str, 1, true) then package.path = package.path .. ';' .. package_path_str end if not string.find(package.cpath, install_cpath_pattern, 1, true) then package.cpath = package.cpath .. ';' .. install_cpath_pattern end time([[Luarocks path setup]], false) time([[try_loadstring definition]], true) local function try_loadstring(s, component, name) local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) if not success then vim.schedule(function() vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) end) end return result end time([[try_loadstring definition]], false) time([[Defining packer_plugins]], true) _G.packer_plugins = { nerdcommenter = { loaded = true, path = "/home/gep/.local/share/nvim/site/pack/packer/start/nerdcommenter", url = "https://github.com/preservim/nerdcommenter" } } time([[Defining packer_plugins]], false) if should_profile then save_profiles() end end) if not no_errors then error_msg = error_msg:gsub('"', '\\"') vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') end