packer.nvim
packer.nvim copied to clipboard
505.351: sourcing /home/tim/.config/nvim/plugin/packer_compiled.lua
-
NVIM v0.6.1
-
git version 2.35.1
-
Alpine linux (edge)
-
Foot
terminal
Steps to reproduce
I don't know because it looks like my personal issue.
Actual behaviour
Startup time is more than 500ms with ~30 plugins.
Expected behaviour
Startup time should be less then I habe.
packer files
-- 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/tim/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/tim/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/tim/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/tim/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/tim/.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 = {
LuaSnip = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/LuaSnip",
url = "https://github.com/L3MON4D3/LuaSnip"
},
["cmp-buffer"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/cmp-buffer",
url = "https://github.com/hrsh7th/cmp-buffer"
},
["cmp-cmdline"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/cmp-cmdline",
url = "https://github.com/hrsh7th/cmp-cmdline"
},
["cmp-nvim-lsp"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
},
["cmp-path"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/cmp-path",
url = "https://github.com/hrsh7th/cmp-path"
},
cmp_luasnip = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
url = "https://github.com/saadparwaiz1/cmp_luasnip"
},
["friendly-snippets"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/friendly-snippets",
url = "https://github.com/rafamadriz/friendly-snippets"
},
["gitsigns.nvim"] = {
config = { "\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21plugins.gitsigns\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
url = "https://github.com/lewis6991/gitsigns.nvim"
},
neoformat = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/neoformat",
url = "https://github.com/sbdchd/neoformat"
},
["nvim-autopairs"] = {
config = { "\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.autopairs\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
url = "https://github.com/windwp/nvim-autopairs"
},
["nvim-cmp"] = {
config = { "\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16plugins.cmp\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/nvim-cmp",
url = "https://github.com/hrsh7th/nvim-cmp"
},
["nvim-lspconfig"] = {
config = { "\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16plugins.lsp\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
url = "https://github.com/neovim/nvim-lspconfig"
},
["nvim-tree.lua"] = {
config = { "\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.nvim-tree\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/nvim-tree.lua",
url = "https://github.com/kyazdani42/nvim-tree.lua"
},
["nvim-treesitter"] = {
config = { "\27LJ\2\n2\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\23plugins.treesitter\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["nvim-ts-autotag"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag",
url = "https://github.com/windwp/nvim-ts-autotag"
},
["nvim-ts-context-commentstring"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/nvim-ts-context-commentstring",
url = "https://github.com/JoosepAlviste/nvim-ts-context-commentstring"
},
["packer.nvim"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
},
["plenary.nvim"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/plenary.nvim",
url = "https://github.com/nvim-lua/plenary.nvim"
},
["popup.nvim"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/popup.nvim",
url = "https://github.com/nvim-lua/popup.nvim"
},
["telescope.nvim"] = {
config = { "\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.telescope\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/telescope.nvim",
url = "https://github.com/nvim-telescope/telescope.nvim"
},
["vim-abolish"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vim-abolish",
url = "https://github.com/tpope/vim-abolish"
},
["vim-commentary"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vim-commentary",
url = "https://github.com/tpope/vim-commentary"
},
["vim-delete-hidden-buffers"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vim-delete-hidden-buffers",
url = "https://github.com/arithran/vim-delete-hidden-buffers"
},
["vim-gruvbox8"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vim-gruvbox8",
url = "https://github.com/lifepillar/vim-gruvbox8"
},
["vim-obsession"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vim-obsession",
url = "https://github.com/tpope/vim-obsession"
},
["vim-repeat"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vim-repeat",
url = "https://github.com/tpope/vim-repeat"
},
["vim-surround"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vim-surround",
url = "https://github.com/tpope/vim-surround"
},
["vim-tmux-navigator"] = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator",
url = "https://github.com/christoomey/vim-tmux-navigator"
},
vimtex = {
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/vimtex",
url = "https://github.com/lervag/vimtex"
},
["which-key.nvim"] = {
config = { "\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.which-key\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/which-key.nvim",
url = "https://github.com/folke/which-key.nvim"
},
["zen-mode.nvim"] = {
config = { "\27LJ\2\n/\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\20plugins.zenmode\frequire\0" },
loaded = true,
path = "/home/tim/.local/share/nvim/site/pack/packer/start/zen-mode.nvim",
url = "https://github.com/folke/zen-mode.nvim"
}
}
time([[Defining packer_plugins]], false)
-- Config for: nvim-lspconfig
time([[Config for nvim-lspconfig]], true)
try_loadstring("\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16plugins.lsp\frequire\0", "config", "nvim-lspconfig")
time([[Config for nvim-lspconfig]], false)
-- Config for: gitsigns.nvim
time([[Config for gitsigns.nvim]], true)
try_loadstring("\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21plugins.gitsigns\frequire\0", "config", "gitsigns.nvim")
time([[Config for gitsigns.nvim]], false)
-- Config for: which-key.nvim
time([[Config for which-key.nvim]], true)
try_loadstring("\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.which-key\frequire\0", "config", "which-key.nvim")
time([[Config for which-key.nvim]], false)
-- Config for: nvim-treesitter
time([[Config for nvim-treesitter]], true)
try_loadstring("\27LJ\2\n2\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\23plugins.treesitter\frequire\0", "config", "nvim-treesitter")
time([[Config for nvim-treesitter]], false)
-- Config for: telescope.nvim
time([[Config for telescope.nvim]], true)
try_loadstring("\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.telescope\frequire\0", "config", "telescope.nvim")
time([[Config for telescope.nvim]], false)
-- Config for: nvim-autopairs
time([[Config for nvim-autopairs]], true)
try_loadstring("\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.autopairs\frequire\0", "config", "nvim-autopairs")
time([[Config for nvim-autopairs]], false)
-- Config for: nvim-cmp
time([[Config for nvim-cmp]], true)
try_loadstring("\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16plugins.cmp\frequire\0", "config", "nvim-cmp")
time([[Config for nvim-cmp]], false)
-- Config for: nvim-tree.lua
time([[Config for nvim-tree.lua]], true)
try_loadstring("\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.nvim-tree\frequire\0", "config", "nvim-tree.lua")
time([[Config for nvim-tree.lua]], false)
-- Config for: zen-mode.nvim
time([[Config for zen-mode.nvim]], true)
try_loadstring("\27LJ\2\n/\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\20plugins.zenmode\frequire\0", "config", "zen-mode.nvim")
time([[Config for zen-mode.nvim]], 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
Plugin specification file(s)
Post or link your plugin specification files here, if you aren't able to provide a minimal reproducer
packer log file
Post the contents of ~/.cache/nvim/packer.nvim.log here
No errors.
packer compiled file
Post the contents of packer_compiled.vim
here
The startuptime depends on many onther things, not only plugins.
Perhaps you could send the whole output of --startuptime
and your output of PackerProfile
@max397574 sure
Startuptime:
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines
000.010 000.010: --- NVIM STARTING ---
001.439 001.430: locale set
003.452 002.013: inits 1
003.522 000.069: window checked
030.266 026.744: parsing arguments
030.811 000.546: expanding arguments
031.151 000.340: inits 2
035.187 004.035: init highlight
035.198 000.012: waiting for UI
039.251 004.053: done waiting for UI
039.372 000.121: init screen for UI
039.475 000.103: init default mappings
039.784 000.309: init default autocommands
104.214 029.419 029.419: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-gruvbox8/colors/gruvbox8.vim
104.268 063.904 034.485: sourcing /home/tim/.config/nvim/init.lua
104.300 000.612: sourcing vimrc file(s)
126.074 000.031 000.031: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim
126.887 000.048 000.048: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/cooklang.vim
127.032 000.032 000.032: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/fusion.vim
127.109 000.031 000.031: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gdresource.vim
127.187 000.025 000.025: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gdscript.vim
127.285 000.026 000.026: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/glimmer.vim
127.347 000.029 000.029: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/glsl.vim
127.430 000.022 000.022: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gowork.vim
127.505 000.032 000.032: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/graphql.vim
127.584 000.047 000.047: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hack.vim
127.658 000.041 000.041: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hcl.vim
127.724 000.025 000.025: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/heex.vim
127.809 000.023 000.023: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hjson.vim
127.877 000.024 000.024: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/json5.vim
127.942 000.034 000.034: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/ledger.vim
128.010 000.036 000.036: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/nix.vim
128.079 000.035 000.035: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/prisma.vim
128.133 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/pug.vim
128.229 000.035 000.035: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/ql.vim
128.319 000.048 000.048: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/query.vim
128.391 000.019 000.019: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/surface.vim
128.442 000.026 000.026: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/teal.vim
128.486 000.018 000.018: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/tlaplus.vim
128.534 000.022 000.022: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/yang.vim
128.897 000.071 000.071: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/cls.vim
129.000 000.060 000.060: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/tex.vim
129.120 000.038 000.038: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/tikz.vim
130.046 025.017 024.115: sourcing /usr/share/nvim/runtime/filetype.vim
130.475 000.085 000.085: sourcing /usr/share/nvim/runtime/ftplugin.vim
130.858 000.058 000.058: sourcing /usr/share/nvim/runtime/indent.vim
131.471 000.176 000.176: sourcing /usr/share/nvim/runtime/syntax/synload.vim
131.693 000.717 000.541: sourcing /usr/share/nvim/runtime/syntax/syntax.vim
135.862 001.439 001.439: sourcing /usr/share/nvim/runtime/plugin/fzf.vim
136.255 000.350 000.350: sourcing /usr/share/nvim/runtime/plugin/gzip.vim
136.302 000.017 000.017: sourcing /usr/share/nvim/runtime/plugin/health.vim
136.409 000.081 000.081: sourcing /usr/share/nvim/runtime/plugin/man.vim
137.536 000.390 000.390: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
137.767 001.331 000.941: sourcing /usr/share/nvim/runtime/plugin/matchit.vim
138.134 000.340 000.340: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim
138.893 000.721 000.721: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim
139.709 000.027 000.027: sourcing /home/tim/.local/share/nvim/rplugin.vim
139.720 000.540 000.513: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim
140.211 000.136 000.136: sourcing /usr/share/nvim/runtime/plugin/shada.vim
140.673 000.043 000.043: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim
141.228 000.239 000.239: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim
141.718 000.183 000.183: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim
141.928 000.036 000.036: sourcing /usr/share/nvim/runtime/plugin/tutor.vim
142.416 000.327 000.327: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim
648.057 505.351 505.351: sourcing /home/tim/.config/nvim/plugin/packer_compiled.lua
648.886 007.575: loading rtp plugins
650.500 000.404 000.404: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim
651.314 000.035 000.035: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/neoformat/plugin/neoformat.vim
653.157 001.245 001.245: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua
653.690 000.134 000.134: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.vim
656.963 002.796 002.796: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.vim
658.396 000.934 000.934: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag/plugin/nvim-ts-autotag.vim
659.116 000.310 000.310: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-ts-context-commentstring/plugin/ts_context_commentstring.vim
659.601 000.063 000.063: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim
660.280 000.291 000.291: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.vim
662.392 001.730 001.730: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-abolish/plugin/abolish.vim
663.059 000.283 000.283: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-commentary/plugin/commentary.vim
663.534 000.041 000.041: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-delete-hidden-buffers/plugin/delete-hidden-buffers.vim
664.212 000.235 000.235: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim
665.444 000.813 000.813: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim
665.936 000.129 000.129: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim
666.376 000.065 000.065: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/plugin/vimtex.vim
666.779 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim
667.273 000.036 000.036: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim
667.570 009.120: loading packages
669.130 000.818 000.818: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua
669.797 000.366 000.366: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua
670.152 000.106 000.106: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua
670.815 000.394 000.394: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua
671.429 000.356 000.356: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua
671.482 001.872: loading after plugins
671.507 000.025: inits 3
682.256 010.748: reading ShaDa
682.419 000.164: opening buffers
682.630 000.210: BufEnter autocommands
682.634 000.004: editing files in windows
693.813 011.179: VimEnter autocommands
693.819 000.006: UIEnter autocommands
693.823 000.004: before starting main loop
695.802 001.979: first screen update
695.808 000.006: --- NVIM STARTED ---
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines
000.023 000.023: --- NVIM STARTING ---
001.372 001.348: locale set
003.606 002.235: inits 1
003.676 000.069: window checked
019.198 015.522: parsing arguments
019.568 000.370: expanding arguments
019.772 000.205: inits 2
022.337 002.565: init highlight
022.348 000.011: waiting for UI
026.442 004.094: done waiting for UI
026.564 000.122: init screen for UI
026.731 000.168: init default mappings
027.025 000.294: init default autocommands
092.434 029.288 029.288: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-gruvbox8/colors/gruvbox8.vim
092.488 064.902 035.613: sourcing /home/tim/.config/nvim/init.lua
092.520 000.593: sourcing vimrc file(s)
116.506 000.027 000.027: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim
117.241 000.036 000.036: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/cooklang.vim
117.355 000.027 000.027: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/fusion.vim
117.453 000.050 000.050: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gdresource.vim
117.512 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gdscript.vim
117.566 000.020 000.020: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/glimmer.vim
117.629 000.031 000.031: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/glsl.vim
117.713 000.022 000.022: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gowork.vim
117.786 000.031 000.031: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/graphql.vim
117.855 000.037 000.037: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hack.vim
117.927 000.039 000.039: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hcl.vim
117.988 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/heex.vim
118.072 000.022 000.022: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hjson.vim
118.135 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/json5.vim
118.202 000.035 000.035: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/ledger.vim
118.268 000.034 000.034: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/nix.vim
118.336 000.034 000.034: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/prisma.vim
118.390 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/pug.vim
118.506 000.046 000.046: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/ql.vim
118.600 000.045 000.045: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/query.vim
118.676 000.024 000.024: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/surface.vim
118.738 000.029 000.029: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/teal.vim
118.791 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/tlaplus.vim
118.853 000.029 000.029: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/yang.vim
119.248 000.047 000.047: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/cls.vim
119.324 000.045 000.045: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/tex.vim
119.427 000.038 000.038: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/tikz.vim
120.535 027.290 026.438: sourcing /usr/share/nvim/runtime/filetype.vim
121.045 000.088 000.088: sourcing /usr/share/nvim/runtime/ftplugin.vim
121.512 000.069 000.069: sourcing /usr/share/nvim/runtime/indent.vim
122.234 000.191 000.191: sourcing /usr/share/nvim/runtime/syntax/synload.vim
122.506 000.867 000.677: sourcing /usr/share/nvim/runtime/syntax/syntax.vim
126.739 001.467 001.467: sourcing /usr/share/nvim/runtime/plugin/fzf.vim
127.129 000.346 000.346: sourcing /usr/share/nvim/runtime/plugin/gzip.vim
127.176 000.017 000.017: sourcing /usr/share/nvim/runtime/plugin/health.vim
127.283 000.081 000.081: sourcing /usr/share/nvim/runtime/plugin/man.vim
128.382 000.378 000.378: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
128.627 001.316 000.938: sourcing /usr/share/nvim/runtime/plugin/matchit.vim
129.013 000.358 000.358: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim
129.779 000.727 000.727: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim
130.615 000.020 000.020: sourcing /home/tim/.local/share/nvim/rplugin.vim
130.627 000.551 000.531: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim
131.133 000.140 000.140: sourcing /usr/share/nvim/runtime/plugin/shada.vim
131.618 000.046 000.046: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim
132.182 000.222 000.222: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim
132.674 000.177 000.177: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim
132.877 000.034 000.034: sourcing /usr/share/nvim/runtime/plugin/tutor.vim
133.343 000.309 000.309: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim
651.797 518.173 518.173: sourcing /home/tim/.config/nvim/plugin/packer_compiled.lua
652.647 007.848: loading rtp plugins
654.297 000.403 000.403: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim
655.146 000.048 000.048: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/neoformat/plugin/neoformat.vim
657.071 001.315 001.315: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua
657.626 000.138 000.138: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.vim
661.266 003.097 003.097: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.vim
662.682 000.951 000.951: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag/plugin/nvim-ts-autotag.vim
663.363 000.223 000.223: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-ts-context-commentstring/plugin/ts_context_commentstring.vim
663.848 000.070 000.070: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim
664.549 000.305 000.305: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.vim
666.739 001.820 001.820: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-abolish/plugin/abolish.vim
667.458 000.323 000.323: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-commentary/plugin/commentary.vim
667.954 000.043 000.043: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-delete-hidden-buffers/plugin/delete-hidden-buffers.vim
668.630 000.267 000.267: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim
669.937 000.861 000.861: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim
670.462 000.134 000.134: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim
670.899 000.068 000.068: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/plugin/vimtex.vim
671.349 000.022 000.022: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim
671.876 000.039 000.039: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim
672.185 009.411: loading packages
673.713 000.780 000.780: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua
674.369 000.376 000.376: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua
674.776 000.108 000.108: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua
675.442 000.403 000.403: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua
676.089 000.381 000.381: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua
676.145 001.913: loading after plugins
676.170 000.025: inits 3
689.164 012.994: reading ShaDa
689.342 000.178: opening buffers
689.585 000.243: BufEnter autocommands
689.589 000.004: editing files in windows
700.996 011.407: VimEnter autocommands
701.003 000.006: UIEnter autocommands
701.007 000.004: before starting main loop
703.219 002.212: first screen update
703.226 000.007: --- NVIM STARTED ---
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines
000.007 000.007: --- NVIM STARTING ---
000.930 000.924: locale set
002.993 002.062: inits 1
003.055 000.063: window checked
013.182 010.127: parsing arguments
013.365 000.182: expanding arguments
013.468 000.103: inits 2
014.689 001.222: init highlight
014.694 000.005: waiting for UI
016.295 001.601: done waiting for UI
016.314 000.019: init screen for UI
016.350 000.036: init default mappings
016.437 000.087: init default autocommands
037.673 011.455 011.455: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-gruvbox8/colors/gruvbox8.vim
037.701 021.087 009.632: sourcing /home/tim/.config/nvim/init.lua
037.717 000.193: sourcing vimrc file(s)
051.813 000.023 000.023: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/LuaSnip/ftdetect/snippets.vim
052.346 000.019 000.019: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/cooklang.vim
052.411 000.020 000.020: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/fusion.vim
052.475 000.020 000.020: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gdresource.vim
052.518 000.013 000.013: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gdscript.vim
052.562 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/glimmer.vim
052.596 000.013 000.013: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/glsl.vim
052.631 000.014 000.014: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/gowork.vim
052.693 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/graphql.vim
052.759 000.037 000.037: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hack.vim
052.812 000.028 000.028: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hcl.vim
052.859 000.017 000.017: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/heex.vim
052.901 000.016 000.016: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/hjson.vim
052.963 000.019 000.019: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/json5.vim
053.014 000.021 000.021: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/ledger.vim
053.052 000.015 000.015: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/nix.vim
053.105 000.028 000.028: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/prisma.vim
053.144 000.015 000.015: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/pug.vim
053.190 000.023 000.023: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/ql.vim
053.267 000.035 000.035: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/query.vim
053.332 000.017 000.017: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/surface.vim
053.375 000.020 000.020: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/teal.vim
053.413 000.017 000.017: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/tlaplus.vim
053.451 000.016 000.016: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/ftdetect/yang.vim
053.740 000.040 000.040: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/cls.vim
053.796 000.032 000.032: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/tex.vim
053.845 000.025 000.025: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/ftdetect/tikz.vim
054.593 016.545 015.957: sourcing /usr/share/nvim/runtime/filetype.vim
054.961 000.059 000.059: sourcing /usr/share/nvim/runtime/ftplugin.vim
055.312 000.052 000.052: sourcing /usr/share/nvim/runtime/indent.vim
055.818 000.148 000.148: sourcing /usr/share/nvim/runtime/syntax/synload.vim
055.993 000.586 000.438: sourcing /usr/share/nvim/runtime/syntax/syntax.vim
059.326 001.229 001.229: sourcing /usr/share/nvim/runtime/plugin/fzf.vim
059.636 000.265 000.265: sourcing /usr/share/nvim/runtime/plugin/gzip.vim
059.682 000.013 000.013: sourcing /usr/share/nvim/runtime/plugin/health.vim
059.771 000.069 000.069: sourcing /usr/share/nvim/runtime/plugin/man.vim
060.524 000.339 000.339: sourcing /usr/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
060.683 000.891 000.553: sourcing /usr/share/nvim/runtime/plugin/matchit.vim
061.008 000.299 000.299: sourcing /usr/share/nvim/runtime/plugin/matchparen.vim
061.642 000.583 000.583: sourcing /usr/share/nvim/runtime/plugin/netrwPlugin.vim
062.313 000.016 000.016: sourcing /home/tim/.local/share/nvim/rplugin.vim
062.326 000.427 000.412: sourcing /usr/share/nvim/runtime/plugin/rplugin.vim
062.711 000.120 000.120: sourcing /usr/share/nvim/runtime/plugin/shada.vim
063.060 000.034 000.034: sourcing /usr/share/nvim/runtime/plugin/spellfile.vim
063.481 000.183 000.183: sourcing /usr/share/nvim/runtime/plugin/tarPlugin.vim
063.831 000.143 000.143: sourcing /usr/share/nvim/runtime/plugin/tohtml.vim
064.001 000.027 000.027: sourcing /usr/share/nvim/runtime/plugin/tutor.vim
064.378 000.246 000.246: sourcing /usr/share/nvim/runtime/plugin/zipPlugin.vim
481.818 417.201 417.201: sourcing /home/tim/.config/nvim/plugin/packer_compiled.lua
482.652 005.962: loading rtp plugins
483.909 000.335 000.335: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/LuaSnip/plugin/luasnip.vim
484.510 000.028 000.028: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/neoformat/plugin/neoformat.vim
485.872 000.981 000.981: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-cmp/plugin/cmp.lua
486.253 000.103 000.103: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-lspconfig/plugin/lspconfig.vim
488.876 002.173 002.173: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-treesitter/plugin/nvim-treesitter.vim
490.014 000.748 000.748: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag/plugin/nvim-ts-autotag.vim
490.624 000.276 000.276: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/nvim-ts-context-commentstring/plugin/ts_context_commentstring.vim
491.012 000.059 000.059: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/plenary.nvim/plugin/plenary.vim
491.553 000.248 000.248: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/telescope.nvim/plugin/telescope.vim
493.100 001.260 001.260: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-abolish/plugin/abolish.vim
493.638 000.236 000.236: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-commentary/plugin/commentary.vim
493.996 000.035 000.035: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-delete-hidden-buffers/plugin/delete-hidden-buffers.vim
494.485 000.192 000.192: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-obsession/plugin/obsession.vim
495.479 000.671 000.671: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-surround/plugin/surround.vim
495.866 000.104 000.104: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vim-tmux-navigator/plugin/tmux_navigator.vim
496.204 000.051 000.051: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/vimtex/plugin/vimtex.vim
496.479 000.016 000.016: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/which-key.nvim/plugin/which-key.vim
496.812 000.032 000.032: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/zen-mode.nvim/plugin/zen-mode.vim
497.084 006.883: loading packages
498.271 000.632 000.632: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-buffer/after/plugin/cmp_buffer.lua
498.877 000.321 000.321: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-cmdline/after/plugin/cmp_cmdline.lua
499.250 000.097 000.097: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua
499.812 000.345 000.345: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp-path/after/plugin/cmp_path.lua
500.345 000.308 000.308: sourcing /home/tim/.local/share/nvim/site/pack/packer/start/cmp_luasnip/after/plugin/cmp_luasnip.lua
500.391 001.605: loading after plugins
500.411 000.021: inits 3
510.810 010.399: reading ShaDa
510.979 000.168: opening buffers
511.164 000.185: BufEnter autocommands
511.168 000.004: editing files in windows
520.550 009.383: VimEnter autocommands
520.557 000.006: UIEnter autocommands
520.559 000.003: before starting main loop
521.609 001.050: first screen update
521.614 000.005: --- NVIM STARTED ---
Looks like problems is in configs...
Profile:
Config for nvim-cmp took 454.971641ms
Config for nvim-tree.lua took 16.261027ms
Config for telescope.nvim took 15.946595ms
Config for nvim-lspconfig took 13.372699ms
Config for gitsigns.nvim took 7.029365ms
Config for nvim-autopairs took 6.696847ms
Config for zen-mode.nvim took 4.954577ms
Config for nvim-treesitter took 1.865756ms
Config for which-key.nvim took 1.853685ms
try_loadstring definition took 0.007198ms
Defining packer_plugins took 0.00655ms
Luarocks path setup took 0.004365ms
Here is my cmp
config:
local cmp = require'cmp'
local luasnip = require 'luasnip'
cmp.setup {
snippet = {
expand = function(args)
require'luasnip'.lsp_expand(args.body)
end
},
mapping = {
['<C-p>'] = cmp.mapping.select_prev_item(),
['<C-n>'] = cmp.mapping.select_next_item(),
['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm({
behavior = cmp.ConfirmBehavior.Replace,
select = true,
}),
['<Tab>'] = function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end,
['<S-Tab>'] = function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end,
},
sources = {
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = 'buffer' },
},
}
-- cmp.setup.cmdline("/", {
-- sources = {
-- { name = "buffer" },
-- },
-- })
-- cmp.setup.cmdline(":", {
-- sources = {
-- { name = "cmdline" },
-- { name = "path" },
-- { name = "buffer" },
-- },
-- })
-- load snippets from runtimepath, eg. friendly-snippets.
require("luasnip.loaders.from_vscode").load()
so I think this is a cmp issue and no a packer one I can't tell why this config should take so long though 🤔
@timsofteng Did you find a solution for this issue? I don't think it's a problem of nvim-cmp because after removing it, the startup time (sourcing packer_compiled.lua) is still around 500ms.
perhaps it's just slow because there is a lot done?
@max397574 But 2 weeks ago, before I updated my plugins, neovim started almost instantaneously on my laptop with a 4500U. Now, there is a clear delay even on my desktop with 3700X. So I'm leaning towards a regression somewhere.
After profiling the plugins, I found the problem in my case was due to nvim-cmp and LuaSnip. nvim-cmp changed their API for using snippets. Updating to their new API solved the issue. nvim now opens instantaneously.
Sounds a bit as if your solution could help me to solve my issue. At the moment I have intermittent slow startups that take 1.5 - 2 secs. When I then directly close and relaunch nvim it is accceptable quick (100-200 ms). I always have to wait a couple of mins to get a slow startup again. That makes it very difficult to debug.
The most time is spent in sourcing the packer_compiled.lua
and I also use nvim-cmp and a snippets engine (UltiSnips).
My nvim-cmp config looks as follows:
local cmp = require("cmp")
local t = function(str)
return vim.api.nvim_replace_termcodes(str, true, true, true)
end
local cmp_kinds = {
Text = " ",
Method = " ",
Function = " ",
Constructor = " ",
Field = " ",
Variable = " ",
Class = " ",
Interface = " ",
Module = " ",
Property = " ",
Unit = " ",
Value = " ",
Enum = " ",
Keyword = " ",
Snippet = " ",
Color = " ",
File = " ",
Reference = " ",
Folder = " ",
EnumMember = " ",
Constant = " ",
-- Constant = " ",
Struct = " ",
Event = " ",
Operator = " ",
TypeParameter = " ",
}
cmp.setup({
formatting = {
-- https://github.com/hrsh7th/nvim-cmp/wiki/Menu-Appearance#how-to-add-visual-studio-code-codicons-to-the-menu
format = function(_, vim_item)
vim_item.kind = (cmp_kinds[vim_item.kind] or "") .. vim_item.kind
return vim_item
end,
},
snippet = {
expand = function(args)
-- vim.fn["vsnip#anonymous"](args.body)
vim.fn["UltiSnips#Anon"](args.body)
-- require'luasnip'.lsp_expand(args.body)
end,
},
sources = cmp.config.sources({
{
name = "buffer",
option = {
keyword_pattern = [[\K\k*]],
},
},
{ name = "nvim_lsp" },
{ name = "nvim_lsp_document_symbol" },
{ name = "nvim_lsp_signature_help" },
{
name = "path",
option = {
trailing_slash = true
}
},
-- { name = "vsnip" },
{ name = "ultisnips" },
-- { name = "luasnip", option = { use_show_condition = false } },
}),
mapping = cmp.mapping.preset.insert({
["<Tab>"] = cmp.mapping({
i = function(fallback)
if cmp.visible() then
cmp.select_next_item({ behavior = cmp.SelectBehavior.Insert })
else
fallback()
end
end,
s = function(fallback)
fallback()
end,
}),
["<S-Tab>"] = cmp.mapping({
i = function(fallback)
if cmp.visible() then
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Insert })
else
fallback()
end
end,
s = function(fallback)
fallback()
end,
}),
["<Down>"] = cmp.mapping(cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }), { "i" }),
["<Up>"] = cmp.mapping(cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }), { "i" }),
["<C-n>"] = cmp.mapping({
i = function(fallback)
if cmp.visible() then
cmp.select_next_item({ behavior = cmp.SelectBehavior.Select })
else
fallback()
end
end,
}),
["<C-p>"] = cmp.mapping({
i = function(fallback)
if cmp.visible() then
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Select })
else
fallback()
end
end,
}),
["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-4), { "i", "c" }),
["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(4), { "i", "c" }),
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
["<C-e>"] = cmp.mapping({ i = cmp.mapping.close(), c = cmp.mapping.close() }),
["<CR>"] = cmp.mapping({
i = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }),
}),
}),
})
Do you see that there is something wrong (old style of API use) here?
Checked nvim-cmp's GitHub page and do not see that API change you're mentioning.
Thank you! Jamil
just lazyload cmp
Tried that. Thanks! It speeds up the startup a bit but the general issue is still existing.
Intermittent, when I wait a couple of minutes between one and the other nvim process one can observe that sourcing the packer_compiled.lua
takes unacceptable long (500 - 1000 ms) as described here in the issue.
I found a report where someone had a very similar issue with intermittent slow startups which is quite difficult to debug: https://vi.stackexchange.com/questions/24766/intermittent-slow-startup
But that was a different case (opening buffers taking extremely long and not a long taking sourcing of packer_compiled.lua
).
After reading that, I checked my PATH
env var and it looks okay.
Maybe it makes sense that I share my plugins.lua
. I can imagine that there is room for improvement or a misconfiguration and I really appreciate when someone can help a bit improving it:
return require("packer").startup(function()
-- CORE {{{
-- https://github.com/wbthomason/packer.nvim
use "wbthomason/packer.nvim"
-- https://github.com/tpope/vim-commentary
use { "tpope/vim-commentary", event = "BufWinEnter" }
-- https://github.com/tpope/vim-surround
use { "tpope/vim-surround", event = "BufWinEnter" }
-- https://github.com/tpope/vim-repeat
use "tpope/vim-repeat"
-- https://github.com/feline-nvim/feline.nvim
use {
"feline-nvim/feline.nvim",
event = "BufWinEnter",
config = function() require("config.feline") end,
requires = {
-- https://github.com/lewis6991/gitsigns.nvim
use {
"lewis6991/gitsigns.nvim",
event = "BufEnter",
config = function() require("gitsigns").setup() end
}
}
}
-- https://github.com/tpope/vim-fugitive
use "tpope/vim-fugitive"
--- https://github.com/fladson/vim-kitty
use { "fladson/vim-kitty", ft = "kitty" }
-- }}}
-- COMPLETION AND LSP {{{
-- use {
-- -- IMPORTANT: I could only build YouCompleteMe via:
-- -- cd ~/.local/share/nvim/site/pack/packer/start/YouCompleteMe
-- -- YCM_CORES=1 python3 install.py --verbose
-- "ycm-core/YouCompleteMe"
-- }
use {
-- https://github.com/hrsh7th/nvim-cmp
"hrsh7th/nvim-cmp", -- ENGINE
event = "BufWinEnter",
config = function() require("config.nvim-cmp") end,
requires = {
-- SOURCES/ PROVIDERS
-- (sources are the bridge between provider and nvim-cmp):
{
-- https://github.com/hrsh7th/cmp-buffer
"hrsh7th/cmp-buffer",
after = "nvim-cmp"
},
{
-- https://github.com/hrsh7th/cmp-nvim-lsp
"hrsh7th/cmp-nvim-lsp", -- source
after = "nvim-cmp",
requires = { "neovim/nvim-lspconfig" } -- provider
},
{
-- https://github.com/hrsh7th/cmp-nvim-lsp-signature-help
"hrsh7th/cmp-nvim-lsp-signature-help", -- source
after = "nvim-cmp",
requires = { "neovim/nvim-lspconfig" } -- provider
},
{
-- https://github.com/quangnguyen30192/cmp-nvim-ultisnips
"quangnguyen30192/cmp-nvim-ultisnips", -- source
after = "nvim-cmp",
config = function() require("config.cmp-nvim-ultisnips") end,
requires = {
-- https://github.com/SirVer/ultisnips
"SirVer/ultisnips", -- provider
after = "nvim-cmp",
config = function() require("config.ultisnips") end
}
},
{
-- https://github.com/hrsh7th/cmp-path
"hrsh7th/cmp-path", -- source
after = "nvim-cmp"
},
}
}
-- use { "SirVer/ultisnips", config = function() require("config.ultisnips") end }
-- }}}
-- TELESCOPE {{{
-- https://github.com/nvim-telescope/telescope.nvim
use {
"nvim-telescope/telescope.nvim",
cmd = "Telescope",
requires = "nvim-lua/plenary.nvim",
config = function()
require("config.telescope")
end
}
-- https://github.com/LinArcX/telescope-env.nvim
use {
"LinArcX/telescope-env.nvim",
after = "telescope.nvim",
config = function() require("config.telescope-env") end
}
use {
"nvim-telescope/telescope-fzf-native.nvim",
after = "telescope.nvim",
config = function() require("config.telescope-fzf-native") end,
run = "make"
}
-- }}}
-- LSP {{{
-- https://github.com/neovim/nvim-lspconfig
use {
"neovim/nvim-lspconfig",
event = "BufWinEnter",
config = function() require("config.nvim-lspconfig") end,
}
-- }}}
-- DEBUG ADAPTER {{{
-- nvim-dap {{{
-- https://github.com/mfussenegger/nvim-dap
-- use {
-- "mfussenegger/nvim-dap",
-- config = function() require("config.nvim-dap") end,
-- }
-- https://github.com/rcarriga/nvim-dap-ui
-- use {
-- "rcarriga/nvim-dap-ui",
-- requires = "mfussenegger/nvim-dap",
-- config = function() require("config.nvim-dap-ui") end,
-- }
-- }}}
-- vimspector {{{
-- https://github.com/puremourning/vimspector
-- https://puremourning.github.io/vimspector/configuration.html
use {
"puremourning/vimspector",
ft = "python",
config = function()
vim.cmd [[let g:vimspector_enable_mappings = 'HUMAN' ]]
vim.cmd [[let g:vimspector_install_gadgets = ['debugpy'] ]]
vim.cmd [[let g:vimspector_base_dir = stdpath('data') .. '/site/pack/packer/start/vimspector' ]]
end,
}
-- }}}
-- }}}
-- FILETYPE SPECIFIC {{{
-- https://github.com/iamcco/markdown-preview.nvim
use {
"iamcco/markdown-preview.nvim",
ft = "markdown",
run = ":call mkdp#util#install()",
setup = function()
vim.cmd([[
let g:mkdp_auto_close = 0
let g:mkdp_preview_options = {
\ 'mkit': {},
\ 'katex': {},
\ 'uml': {},
\ 'maid': {},
\ 'disable_sync_scroll': 0,
\ 'sync_scroll_type': 'top',
\ 'hide_yaml_meta': 1,
\ 'sequence_diagrams': {},
\ 'flowchart_diagrams': {},
\ 'content_editable': v:false,
\ 'disable_filename': 0
\ }
]])
end
}
-- https://github.com/mechatroner/rainbow_csv
use { "mechatroner/rainbow_csv", ft = "csv" }
-- https://github.com/Glench/Vim-Jinja2-Syntax
use { "Glench/Vim-Jinja2-Syntax", ft = { "jinja", "jinja.html" } }
-- }}}
-- OTHER {{{
-- https://github.com/nvim-treesitter/nvim-treesitter
-- (Better syntax highlighting)
use {
"nvim-treesitter/nvim-treesitter",
event = "BufWinEnter",
run = function()
vim.cmd(":TSUpdate")
-- vim.cmd(":TSInstall! bash c cpp css dockerfile html java javascript json lua python rst scss toml typescript vue yaml")
-- No vim. Otherwise we break the syntax highlighting for 'lua<<EOF' stuff !!
end,
config = function()
require "nvim-treesitter.configs".setup {
highlight = { enable = true }
}
end
}
-- https://github.com/MattesGroeger/vim-bookmarks
use { "MattesGroeger/vim-bookmarks", event = "BufWinEnter" }
-- https://github.com/folke/trouble.nvim
use {
"folke/trouble.nvim",
event = "BufWinEnter",
requires = {
-- https://github.com/kyazdani42/nvim-web-devicons
"kyazdani42/nvim-web-devicons",
-- https://github.com/folke/lsp-colors.nvim
"folke/lsp-colors.nvim"
},
config = function() require("config.trouble") end
}
-- https://github.com/lukas-reineke/indent-blankline.nvim
-- use { "lukas-reineke/indent-blankline.nvim" }
-- use {
-- "preservim/tagbar",
-- config = function() vim.cmd("let g:tagbar_position = 'topleft vertical'") end
-- }
-- use {"jamilraichouni/jarvim"}
-- }}}
end)
EDIT:
Just see that lazy-loading the completion stuff via the autocommand InsertEnter
is not a great idea. The mode transition from normal to insert lasts around a second now which is a quite bad experience. Can imagine that it'll help to lazy-load nvim-cmp on BufWinEnter
instead.
EDIT 2:
Reworked the plugins.lua
(code listing above)
Many thanks, Jamil
Nothing here indicates a problem with packer.