Closed sunchangtan closed 1 year ago
[ERROR 2023/5/26 9:22:51] ...on-lspconfig.nvim/lua/mason-lspconfig/lspconfig_hook.lua:84: Failed to expand cmd path html { "html-languageserver", "--stdio" }
read the wiki
The startup time is less than one second.
It is how it is. No idea why.
[ERROR 2023/5/26 9:22:51] ...on-lspconfig.nvim/lua/mason-lspconfig/lspconfig_hook.lua:84: Failed to expand cmd path html { "html-languageserver", "--stdio" }
npm i -g vscode-html-languageserver-bin
And ensure html-languageserver
in your PATH
.
[ERROR 2023/5/26 9:22:51] ...on-lspconfig.nvim/lua/mason-lspconfig/lspconfig_hook.lua:84: Failed to expand cmd path html { "html-languageserver", "--stdio" }
npm i -g vscode-html-languageserver-bin
And ensure
html-languageserver
in yourPATH
.
@ayamir @CharlesChiuGit I've installed vscode-html-languageserver-bin, and it has loaded correctly, but the startup is still very slow
https://www.reddit.com/r/neovim/comments/13qraxk/extremely_slow_startup_on_windows/
This is why I hard coded some path before, but the settings has been removed now. U could also try other methods in the comments.
Put the output of :checkhealth
pls.
@ayamir
==============================================================================
hop: require("hop.health").check()
Ensuring keys are unique ~
- OK Keys are unique
Checking for deprecated features ~
- OK All good
==============================================================================
lazy: require("lazy.health").check()
lazy.nvim ~
- OK Git installed
- OK no existing packages found by other package managers
- OK packer_compiled.lua not found
==============================================================================
lspsaga: require("lspsaga.health").check()
Lspsaga.nvim report ~
- OK `tree-sitter` found
- OK tree-sitter `markdown` parser found
- OK tree-sitter `markdown_inline` parser found
==============================================================================
mason: require("mason.health").check()
mason.nvim ~
- WARNING mason.nvim version v1.0.1
- ADVICE:
- The latest version of mason.nvim is: v1.1.0
- OK PATH: prepend
- OK Providers:
mason.providers.registry-api
mason.providers.client
- OK neovim version >= 0.7.0
mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2023-05-28-scant-platy` is installed.
mason.nvim [Core utils] ~
- WARNING unzip: not available
- ADVICE:
- spawn: unzip failed with exit code - and signal -. unzip is not executable
- OK wget: `GNU Wget 1.21.3 built on mingw32.
`
- OK curl: `curl 8.0.1 (Windows) libcurl/8.0.1 Schannel WinIDN
`
- WARNING gzip: not available
- ADVICE:
- spawn: gzip failed with exit code - and signal -. gzip is not executable
- OK tar: `bsdtar 3.5.2 - libarchive 3.5.2 zlib/1.2.5.f-ipp bz2lib/1.0.6
`
- OK pwsh: `7.3.4 Microsoft Windows 10.0.22621 Win32NT
`
- OK 7z: `7-Zip 22.01 (arm64) : Copyright (c) 1999-2022 Igor Pavlov : 2022-07-15
`
mason.nvim [Languages] ~
- WARNING luarocks: not available
- ADVICE:
- spawn: luarocks failed with exit code - and signal -. luarocks is not executable
- WARNING Composer: not available
- ADVICE:
- spawn: composer.bat failed with exit code - and signal -. composer.bat is not executable
- WARNING PHP: not available
- ADVICE:
- spawn: php failed with exit code - and signal -. php is not executable
- OK Go: `go version go1.20 windows/arm64`
- OK cargo: `cargo 1.67.0 (8ecd4f20a 2023-01-10)`
- WARNING javac: not available
- ADVICE:
- spawn: javac failed with exit code - and signal -. javac is not executable
- WARNING java: not available
- ADVICE:
- spawn: java failed with exit code - and signal -. java is not executable
- WARNING julia: not available
- ADVICE:
- spawn: julia failed with exit code - and signal -. julia is not executable
- WARNING Ruby: not available
- ADVICE:
- spawn: ruby failed with exit code 1 and signal 0. unexpected ucrtbase.dll
- WARNING RubyGem: not available
- ADVICE:
- spawn: gem.cmd failed with exit code 1 and signal 0. unexpected ucrtbase.dll
- OK python: `Python 3.11.1
`
- OK node: `v19.6.0
`
- OK python3_host_prog: `Python 3.11.1
`
- OK pip: `pip 22.3.1 from C:\Users\tank\scoop\apps\python\current\Lib\site-packages\pip (python 3.11)
`
- OK python3_host_prog pip: `pip 22.3.1 from C:\Users\tank\scoop\apps\python\current\Lib\site-packages\pip (python 3.11)
`
- OK npm: `9.4.0`
mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 7. Remaining: 53. Limit: 60. Reset: 2023/5/28 19:21:49.
Install and authenticate via gh-cli to increase rate limit.
==============================================================================
null-ls: require("null-ls.health").check()
- OK black: the command "black" is executable.
- ERROR clang_format: the command "clang-format" is not executable.
- OK prettier: the command "prettier" is executable.
- OK stylua: the command "stylua" is executable.
- OK vint: the command "vint" is executable.
- OK shfmt: the command "shfmt" is executable.
- OK rustfmt: the command "rustfmt" is executable.
==============================================================================
nvim: require("nvim.health").check()
Configuration ~
- OK no issues found
Runtime ~
- OK $VIMRUNTIME: C:\Users\tank\AppData\Local\Programs\Neovim\share\nvim\runtime
Performance ~
- OK Build type: RelWithDebInfo
- WARNING Slow shell invocation (took 1.56 seconds).
Remote Plugins ~
- WARNING "wilder.nvim" is not registered.
- WARNING Out of date
- ADVICE:
- Run `:UpdateRemotePlugins`
==============================================================================
nvim-treesitter: require("nvim-treesitter.health").check()
Installation ~
- OK `tree-sitter` found 0.20.8 (0c49d6745b3fc4822ab02e0018770cd6383a779c) (parser generator, only needed for :TSInstallFromGrammar)
- OK `node` found v19.6.0 (only needed for :TSInstallFromGrammar)
- OK `git` executable found.
- OK `gcc` executable found. Selected from { vim.NIL, "cc", "gcc", "clang", "cl", "zig" }
Version: [31;1mSet-PSReadLineOption: [0mC:\Users\tank\Documents\PowerShell\Microsoft.PowerShell_profile.ps1:38[0m
- OK Neovim was compiled with tree-sitter runtime ABI version 14 (required >=13). Parsers must be compatible with runtime ABI.
OS Info:
{
machine = "x86_64",
release = "10.0.22621",
sysname = "Windows_NT",
version = "Windows 11 Pro"
} ~
Parser/Features H L F I J
- bash ✓ ✓ ✓ . ✓
- c ✓ ✓ ✓ ✓ ✓
- cpp ✓ ✓ ✓ ✓ ✓
- css ✓ . ✓ ✓ ✓
- go ✓ ✓ ✓ ✓ ✓
- gomod ✓ . . . ✓
- html ✓ ✓ ✓ ✓ ✓
- javascript ✓ ✓ ✓ ✓ ✓
- json ✓ ✓ ✓ ✓ .
- latex ✓ . ✓ . ✓
- lua ✓ ✓ ✓ ✓ ✓
- make ✓ . ✓ . ✓
- markdown ✓ . ✓ . ✓
- markdown_inline ✓ . . . ✓
- python ✓ ✓ ✓ ✓ ✓
- rust ✓ ✓ ✓ ✓ ✓
- typescript ✓ ✓ ✓ ✓ ✓
- vimdoc ✓ . . . ✓
- vue ✓ . ✓ ✓ ✓
- yaml ✓ ✓ ✓ ✓ ✓
Legend: H[ighlight], L[ocals], F[olds], I[ndents], In[j]ections
+) multiple parsers found, only one will be used
x) errors found in the query, try to run :TSUpdate {lang} ~
==============================================================================
provider: health#provider#check
Clipboard (optional) ~
- OK Clipboard tool found: win32yank
Python 3 provider (optional) ~
- Using: g:python3_host_prog = "python3"
- Executable: C:\Users\tank\scoop\shims\python3.EXE
- ERROR Command error (job=5, exit code 1): `"C:\Users\tank\scoop\shims\python3.EXE" -c "import sys; sys.path = [p for p in sys.path if p != """"]; import neovim; print(neovim.__file__)"` (in 'C:\Users\tank\AppData\Local\nvim-data')
stderr: Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\tank\AppData\Roaming\Python\Python311-arm64\site-packages\neovim\__init__.py", line 5, in <module>
import pynvim
File "C:\Users\tank\AppData\Roaming\Python\Python311-arm64\site-packages\pynvim\__init__.py", line 11, in <module>
from pynvim.msgpack_rpc import (ErrorResponse, child_session, socket_session,
File "C:\Users\tank\AppData\Roaming\Python\Python311-arm64\site-packages\pynvim\msgpack_rpc\__init__.py", line 10, in <module>
from pynvim.msgpack_rpc.session import ErrorResponse, Session
File "C:\Users\tank\AppData\Roaming\Python\Python311-arm64\site-packages\pynvim\msgpack_rpc\session.py", line 7, in <module>
import greenlet
File "C:\Users\tank\AppData\Roaming\Python\Python311-arm64\site-packages\greenlet\__init__.py", line 29, in <module>
from ._greenlet import _C_API # pylint:disable=no-name-in-module
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: DLL load failed while importing _greenlet: %1 不是有效的 Win32 应用程序。
- Python version: 3.11.1
- pynvim version: unable to load neovim Python module
- ERROR pynvim is not installed.
Error: unable to load neovim Python module
- ADVICE:
- Run in shell: C:\Users\tank\scoop\shims\python3.EXE -m pip install pynvim
Python virtualenv ~
- OK no $VIRTUAL_ENV
Ruby provider (optional) ~
- ERROR Command error (job=6, exit code 1): `ruby -v` (in 'C:\Users\tank\AppData\Local\nvim-data')
stderr: unexpected ucrtbase.dll
- Ruby:
- WARNING `neovim-ruby-host` not found.
- ADVICE:
- Run `gem install neovim` to ensure the neovim RubyGem is installed.
- Run `gem environment` to ensure the gem bin directory is in $PATH.
- If you are using rvm/rbenv/chruby, try "rehashing".
- See :help |g:ruby_host_prog| for non-standard gem installations.
- You may disable this provider (and warning) by adding `let g:loaded_ruby_provider = 0` to your init.vim
Node.js provider (optional) ~
- Node.js: v19.6.0
- Nvim node.js host: C:\Users\tank\scoop\persist\nodejs\bin\node_modules/neovim/bin/cli.js
- OK Latest "neovim" npm/yarn/pnpm package is installed: 4.10.1
Perl provider (optional) ~
- WARNING "Neovim::Ext" cpan module is not installed
- ADVICE:
- See :help |provider-perl| for more information.
- You may disable this provider (and warning) by adding `let g:loaded_perl_provider = 0` to your init.vim
==============================================================================
vim.lsp: require("vim.lsp.health").check()
- LSP log level : WARN
- Log path: C:\Users\tank\AppData\Local\nvim-data\lsp.log
- Log size: 7 KB
vim.lsp: Active Clients ~
- No active clients
==============================================================================
vim.treesitter: require("vim.treesitter.health").check()
- Nvim runtime ABI version: 14
- OK Parser: bash ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\bash.so
- OK Parser: c ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\c.so
- OK Parser: cpp ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\cpp.so
- OK Parser: css ABI: 13, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\css.so
- OK Parser: go ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\go.so
- OK Parser: gomod ABI: 13, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\gomod.so
- OK Parser: html ABI: 13, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\html.so
- OK Parser: javascript ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\javascript.so
- OK Parser: json ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\json.so
- OK Parser: latex ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\latex.so
- OK Parser: lua ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\lua.so
- OK Parser: make ABI: 13, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\make.so
- OK Parser: markdown ABI: 13, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\markdown.so
- OK Parser: markdown_inline ABI: 13, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\markdown_inline.so
- OK Parser: python ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\python.so
- OK Parser: rust ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\rust.so
- OK Parser: typescript ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\typescript.so
- OK Parser: vimdoc ABI: 14, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\vimdoc.so
- OK Parser: vue ABI: 13, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\vue.so
- OK Parser: yaml ABI: 13, path: C:\Users\tank\AppData\Local\nvim-data\site\lazy\nvim-treesitter\parser\yaml.so
- OK Parser: c ABI: 14, path: C:\Users\tank\AppData\Local\Programs\Neovim\lib\nvim\parser\c.dll
- OK Parser: lua ABI: 14, path: C:\Users\tank\AppData\Local\Programs\Neovim\lib\nvim\parser\lua.dll
- OK Parser: query ABI: 14, path: C:\Users\tank\AppData\Local\Programs\Neovim\lib\nvim\parser\query.dll
- OK Parser: vim ABI: 14, path: C:\Users\tank\AppData\Local\Programs\Neovim\lib\nvim\parser\vim.dll
- OK Parser: vimdoc ABI: 14, path: C:\Users\tank\AppData\Local\Programs\Neovim\lib\nvim\parser\vimdoc.dll
==============================================================================
which-key: require("which-key.health").check()
WhichKey: checking conflicting keymaps ~
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"gb"**
- rhs: `<Plug>(comment_toggle_blockwise)`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"gc"**
- rhs: `<Plug>(comment_toggle_linewise)`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **" c"**
- rhs: `<Cmd>HopChar1<CR>`
- WARNING conflicting keymap exists for mode **"n"**, lhs: **"t"**
- rhs: `<Plug>(clever-f-t)`
- WARNING conflicting keymap exists for mode **"v"**, lhs: **" c"**
- rhs: `<Cmd>HopChar1<CR>`
The previous version was not this slow.
Error: unable to load neovim Python module
try solving this error?
Also put the content of log
after executing nvim --startuptime log
pls.
I've reinstalled nvimdots, and now the startup speed is very fast. The only difference is that clangd is still being installed and hasn't been installed successfully.
After clangd was installed successfully, the startup time increased to more than 4 seconds.
I deleted clangd again, and the startup speed is around 210 milliseconds.
So u r using this nvimdots with c/c++
projects?
If so, then the extra 4 seconds delay is for lsp, which is clangd, to start. nvim is just waiting lsp to get ready.
@ayamir
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines
000.013 000.013: --- NVIM STARTING ---
000.054 000.042: event init
000.122 000.068: early init
024.280 024.158: locale set
024.334 000.054: init first window
024.715 000.381: inits 1
024.775 000.061: window checked
025.146 000.371: parsing arguments
025.977 000.245 000.245: require('vim.shared')
026.697 000.352 000.352: require('vim._meta')
026.704 000.721 000.368: require('vim._editor')
026.707 001.054 000.089: require('vim._init_packages')
026.732 000.532: init lua interpreter
026.951 000.219: expanding arguments
026.978 000.027: inits 2
027.415 000.437: init highlight
027.419 000.005: waiting for UI
027.590 000.171: done waiting for UI
027.596 000.006: clear screen
027.814 000.218: init default mappings & autocommands
029.735 000.070 000.070: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\ftplugin.vim
030.207 000.042 000.042: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\indent.vim
031.034 000.192 000.192: require('core.global')
031.723 000.351 000.351: require('core.options')
031.928 000.091 000.091: require('keymap.bind')
032.221 000.491 000.400: require('core.mapping')
032.370 000.058 000.058: require('keymap.helpers')
032.584 000.083 000.083: require('keymap.completion')
032.907 000.318 000.318: require('keymap.editor')
032.984 000.073 000.073: require('keymap.lang')
033.589 000.601 000.601: require('keymap.tool')
033.799 000.205 000.205: require('keymap.ui')
033.803 001.578 000.240: require('keymap')
034.147 000.342 000.342: require('core.event')
034.324 000.059 000.059: require('core.settings')
034.417 000.089 000.089: require('modules.utils.icons')
035.446 000.427 000.427: require('completion.lsp')
035.725 000.273 000.273: require('completion.lspsaga')
035.932 000.202 000.202: require('completion.null-ls')
036.208 000.272 000.272: require('completion.cmp')
036.407 000.196 000.196: require('completion.luasnip')
036.607 000.196 000.196: require('completion.copilot')
036.803 000.194 000.194: require('completion.copilot-cmp')
036.807 001.853 000.093: require('modules\plugins\completion')
037.194 000.215 000.215: require('editor.accelerated-jk')
037.404 000.206 000.206: require('editor.auto-session')
037.616 000.209 000.209: require('editor.autoclose')
037.810 000.190 000.190: require('editor.better-escape')
038.016 000.203 000.203: require('editor.bigfile')
038.219 000.199 000.199: require('editor.cleverf')
038.421 000.198 000.198: require('editor.comment')
038.608 000.182 000.182: require('editor.hop')
038.813 000.202 000.202: require('editor.vim-illuminate')
039.001 000.183 000.183: require('editor.suda')
039.223 000.219 000.219: require('editor.treesitter')
039.421 000.194 000.194: require('editor.autotag')
039.605 000.180 000.180: require('editor.colorizer')
039.801 000.193 000.193: require('editor.tabout')
039.805 002.909 000.136: require('modules\plugins\editor')
040.185 000.217 000.217: require('lang.vim-go')
040.419 000.228 000.228: require('lang.rust-tools')
040.671 000.248 000.248: require('lang.crates')
040.676 000.777 000.084: require('modules\plugins\lang')
041.123 000.317 000.317: require('tool.nvim-tree')
041.358 000.231 000.231: require('tool.smartyank')
041.600 000.232 000.232: require('tool.sniprun')
041.842 000.234 000.234: require('tool.toggleterm')
042.058 000.212 000.212: require('tool.trouble')
042.266 000.205 000.205: require('tool.which-key')
042.739 000.469 000.469: require('tool.wilder')
043.017 000.271 000.271: require('tool.telescope')
043.227 000.206 000.206: require('tool.project')
043.573 000.342 000.342: require('tool.dap')
043.819 000.235 000.235: require('tool.dap.dapui')
043.822 003.112 000.160: require('modules\plugins\tool')
044.163 000.262 000.262: require('ui.alpha')
044.381 000.214 000.214: require('ui.bufferline')
044.651 000.267 000.267: require('ui.catppuccin')
044.850 000.195 000.195: require('ui.edge')
045.045 000.192 000.192: require('ui.fidget')
045.365 000.230 000.230: require('ui.gitsigns')
045.585 000.216 000.216: require('ui.indent-blankline')
045.848 000.259 000.259: require('ui.lualine')
046.038 000.187 000.187: require('ui.neodim')
046.244 000.202 000.202: require('ui.neoscroll')
046.430 000.183 000.183: require('ui.nord')
046.648 000.216 000.216: require('ui.notify')
046.981 000.330 000.330: require('ui.paint')
047.215 000.226 000.226: require('ui.scrollview')
047.438 000.219 000.219: require('ui.specs')
047.441 003.605 000.210: require('modules\plugins\ui')
048.827 001.189 001.189: require('lazy')
048.861 000.012 000.012: require('ffi')
049.065 000.200 000.200: require('vim.loader')
049.326 000.251 000.251: require('lazy.core.cache')
049.533 000.144 000.144: require('lazy.stats')
049.792 000.129 000.129: require('lazy.core.util')
049.907 000.110 000.110: require('lazy.core.config')
050.114 000.105 000.105: require('lazy.core.handler')
050.225 000.107 000.107: require('lazy.core.plugin')
050.233 000.323 000.110: require('lazy.core.loader')
052.639 000.158 000.158: require('lazy.core.handler.event')
052.647 000.256 000.098: require('lazy.core.handler.ft')
052.770 000.119 000.119: require('lazy.core.handler.keys')
052.855 000.079 000.079: require('lazy.core.handler.cmd')
053.146 000.091 000.091: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/vim-go/ftdetect/gofiletype.vim
053.653 000.036 000.036: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/csv.vim/ftdetect/csv.vim
055.014 000.980 000.980: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/filetype.lua
056.238 001.065 001.065: require('catppuccin')
056.609 000.079 000.079: require('catppuccin.lib.hashing')
058.362 000.141 000.141: require('bigfile.features')
058.375 001.521 001.380: require('bigfile')
059.101 000.152 000.152: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/editorconfig.lua
059.465 000.040 000.040: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/gzip.vim
059.823 000.023 000.023: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/health.vim
060.327 000.165 000.165: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/man.lua
060.781 000.037 000.037: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/matchit.vim
061.121 000.024 000.024: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/matchparen.vim
061.925 000.470 000.470: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/netrwPlugin.vim
062.394 000.127 000.127: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/nvim.lua
063.191 000.479 000.479: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/rplugin.vim
063.606 000.072 000.072: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/shada.vim
063.956 000.015 000.015: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/spellfile.vim
064.270 000.016 000.016: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/tarPlugin.vim
064.589 000.013 000.013: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/tohtml.vim
064.909 000.025 000.025: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/tutor.vim
065.249 000.020 000.020: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime/plugin/zipPlugin.vim
069.038 000.159 000.159: require('vim.treesitter.language')
069.055 000.360 000.201: require('vim.treesitter.query')
069.222 000.164 000.164: require('vim.treesitter._range')
069.232 000.713 000.189: require('vim.treesitter.languagetree')
069.241 000.871 000.158: require('vim.treesitter')
069.244 000.961 000.091: require('nvim-treesitter.compat')
070.337 000.875 000.875: require('nvim-treesitter.parsers')
070.477 000.134 000.134: require('nvim-treesitter.utils')
070.484 001.127 000.118: require('nvim-treesitter.ts_utils')
070.489 001.242 000.116: require('nvim-treesitter.tsrange')
070.582 000.090 000.090: require('nvim-treesitter.caching')
070.627 002.446 000.153: require('nvim-treesitter.query')
070.637 002.604 000.157: require('nvim-treesitter.configs')
070.640 003.622 001.019: require('nvim-treesitter-textobjects')
070.962 000.080 000.080: require('nvim-treesitter.info')
071.078 000.111 000.111: require('nvim-treesitter.shell_command_selectors')
071.094 000.316 000.125: require('nvim-treesitter.install')
071.230 000.133 000.133: require('nvim-treesitter.statusline')
071.323 000.089 000.089: require('nvim-treesitter.query_predicates')
071.326 000.684 000.145: require('nvim-treesitter')
071.460 000.068 000.068: require('nvim-treesitter.textobjects.shared')
071.464 000.133 000.065: require('nvim-treesitter.textobjects.select')
071.638 000.058 000.058: require('nvim-treesitter.textobjects.attach')
071.701 000.060 000.060: require('nvim-treesitter.textobjects.repeatable_move')
071.707 000.194 000.077: require('nvim-treesitter.textobjects.move')
072.044 000.063 000.063: require('nvim-treesitter.textobjects.swap')
072.150 000.060 000.060: require('nvim-treesitter.textobjects.lsp_interop')
072.185 005.187 000.431: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-treesitter-textobjects/plugin/nvim-treesitter-textobjects.vim
073.610 000.128 000.128: require('vim.treesitter.highlighter')
073.679 000.063 000.063: require('treesitter-context.cache')
073.713 001.258 001.067: require('treesitter-context')
073.720 001.278 000.020: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-treesitter-context/plugin/treesitter-context.vim
075.288 001.105 001.105: require('rainbow')
075.308 001.155 000.050: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-ts-rainbow/plugin/rainbow.vim
076.747 001.185 001.185: require('ts_context_commentstring')
076.758 001.212 000.026: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-ts-context-commentstring/plugin/ts_context_commentstring.vim
077.019 000.048 000.048: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-treehopper/plugin/tsht.vim
079.684 000.014 000.014: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\plugin\matchparen.vim
080.471 000.159 000.159: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\plugin\matchparen.vim
081.014 000.334 000.334: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\vim-matchup\autoload\matchup.vim
081.271 000.088 000.088: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\vim-matchup\autoload\matchup\perf.vim
081.897 000.217 000.217: require('treesitter-matchup')
082.175 000.562 000.345: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\vim-matchup\autoload\matchup\loader.vim
082.908 000.483 000.483: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\vim-matchup\autoload\matchup\matchparen.vim
083.777 005.582 003.941: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/vim-matchup/plugin/matchup.vim
085.504 000.058 000.058: require('nvim-ts-autotag._log')
085.582 000.070 000.070: require('nvim-ts-autotag.utils')
085.591 000.241 000.113: require('nvim-ts-autotag.internal')
085.594 001.553 001.313: require('nvim-ts-autotag')
085.602 001.576 000.022: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-ts-autotag/plugin/nvim-ts-autotag.vim
085.924 000.080 000.080: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-colorizer.lua/plugin/colorizer.lua
087.467 000.052 000.052: require('colorizer.color')
087.680 000.149 000.149: require('colorizer.trie')
087.892 000.136 000.136: require('colorizer.utils')
087.897 000.213 000.077: require('colorizer.parser.names')
087.978 000.078 000.078: require('colorizer.parser.rgb')
088.038 000.057 000.057: require('colorizer.parser.hsl')
088.097 000.057 000.057: require('colorizer.parser.argb_hex')
088.156 000.056 000.056: require('colorizer.parser.rgba_hex')
088.223 000.065 000.065: require('colorizer.sass')
088.227 000.753 000.078: require('colorizer.matcher')
088.304 000.075 000.075: require('colorizer.tailwind')
088.311 000.963 000.084: require('colorizer.buffer')
088.332 002.339 001.376: require('colorizer')
088.685 000.033 000.033: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/tabout.nvim/plugin/tabout.vim
091.371 000.110 000.110: require('tabout.config')
091.381 000.243 000.133: require('tabout.logger')
091.519 000.135 000.135: require('tabout.utils')
091.987 000.333 000.333: require('tabout.node')
091.999 000.477 000.144: require('tabout.tab')
092.023 003.283 002.429: require('tabout')
093.759 000.953 000.953: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-treesitter/plugin/nvim-treesitter.lua
093.874 000.028 000.028: require('vim.F')
093.882 028.314 005.562: require('nvim-treesitter.configs')
093.945 028.460 000.146: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/bigfile.nvim/after/plugin/bigfile.lua
094.033 059.882 010.755: require('core.pack')
101.216 001.166 001.166: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\catppuccin\colors\catppuccin.vim
101.444 000.178 000.178: require('rainbow.internal')
101.509 070.868 006.688: require('core')
101.513 070.921 000.053: sourcing C:\Users\sunli\AppData\Local\nvim\init.lua
101.541 002.694: sourcing vimrc file(s)
102.283 000.120 000.120: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\filetype.lua
103.506 000.082 000.082: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\syntax\synload.vim
103.615 000.730 000.648: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\syntax\syntax.vim
103.644 001.252: inits 3
104.155 000.511: reading ShaDa
129.915 024.298 024.298: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\autoload\provider\clipboard.vim
131.025 000.591 000.591: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/hop.nvim/plugin/hop.vim
132.641 001.544 001.544: require('hop')
132.824 000.075 000.075: require('hop.perm')
132.969 000.070 000.070: require('hop.priority')
132.974 000.144 000.074: require('hop.hint')
132.976 000.326 000.106: require('hop.defaults')
133.048 000.068 000.068: require('hop.highlight')
135.117 001.656 001.656: require('smartyank')
135.123 001.780 000.124: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/smartyank.nvim/plugin/smartyank.lua
139.062 002.059 002.059: require('scrollview')
139.096 003.447 001.387: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-scrollview/plugin/scrollview.vim
139.414 000.121 000.121: require('modules.utils')
139.506 000.085 000.085: require('catppuccin.palettes')
139.572 000.061 000.061: require('catppuccin.palettes.mocha')
139.671 000.071 000.071: require('catppuccin.groups.integrations.bufferline')
141.196 000.060 000.060: require('bufferline.lazy')
141.326 000.057 000.057: require('bufferline.constants')
141.333 000.130 000.073: require('bufferline.commands')
141.420 000.082 000.082: require('bufferline.config')
141.425 001.746 001.474: require('bufferline')
141.548 000.121 000.121: require('bufferline.utils')
141.707 000.154 000.154: require('vim.version')
142.739 000.116 000.116: require('bufferline.groups')
142.837 000.070 000.070: require('bufferline.colors')
143.287 000.093 000.093: require('bufferline.highlights')
143.786 000.043 000.043: require('vim.keymap')
144.355 000.692 000.649: require('bufferline.hover')
144.515 000.112 000.112: require('bufferline.ui')
146.263 000.080 000.080: require('lualine_require')
146.619 001.968 001.887: require('lualine')
147.523 000.072 000.072: require('catppuccin.utils.lualine')
152.248 000.107 000.107: require('lualine.utils.mode')
153.067 000.122 000.122: require('lualine.extensions.nerdtree')
154.536 000.096 000.096: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/lspsaga.nvim/plugin/lspsaga.lua
156.212 001.534 001.534: require('lspsaga')
156.474 000.104 000.104: require('lspsaga.highlight')
156.722 000.108 000.108: require('lspsaga.lspkind')
158.638 000.286 000.286: require('vim.lsp.log')
159.173 000.528 000.528: require('vim.lsp.protocol')
159.976 000.466 000.466: require('vim.lsp._snippet')
160.120 000.123 000.123: require('vim.highlight')
160.133 000.955 000.366: require('vim.lsp.util')
160.147 002.005 000.236: require('vim.lsp.handlers')
160.323 000.172 000.172: require('vim.lsp.rpc')
160.441 000.114 000.114: require('vim.lsp.sync')
160.571 000.127 000.127: require('vim.lsp.semantic_tokens')
160.714 000.138 000.138: require('vim.lsp.buf')
160.827 000.109 000.109: require('vim.lsp.diagnostic')
160.941 000.111 000.111: require('vim.lsp.codelens')
160.989 003.120 000.344: require('vim.lsp')
161.072 000.080 000.080: require('lspsaga.window')
161.129 000.053 000.053: require('lspsaga.util')
161.134 003.396 000.144: require('lspsaga.codeaction')
161.253 000.117 000.117: require('lspsaga.libs')
161.436 000.179 000.179: require('vim.diagnostic')
161.452 003.863 000.171: require('lspsaga.diagnostic')
161.474 007.677 001.974: require('lspsaga.lspkind')
167.035 000.737 000.737: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-lspconfig/plugin/lspconfig.lua
169.290 000.132 000.132: require('lspconfig.util')
169.297 000.215 000.083: require('lspconfig.configs')
169.301 002.206 001.990: require('lspconfig')
169.425 000.057 000.057: require('mason-core.path')
169.583 000.087 000.087: require('mason-core.functional')
169.737 000.052 000.052: require('mason-core.functional.data')
169.742 000.123 000.071: require('mason-core.functional.function')
169.822 000.051 000.051: require('mason-core.functional.relation')
169.881 000.050 000.050: require('mason-core.functional.logic')
169.890 000.462 000.150: require('mason-core.platform')
169.957 000.065 000.065: require('mason.settings')
169.961 000.657 000.073: require('mason')
170.095 000.073 000.073: require('mason-core.log')
170.157 000.059 000.059: require('mason-lspconfig.settings')
170.161 000.198 000.067: require('mason-lspconfig')
170.217 000.054 000.054: require('lspconfig.ui.windows')
170.391 000.060 000.060: require('mason-core.functional.list')
170.448 000.054 000.054: require('mason-core.functional.string')
170.482 000.222 000.108: require('mason.api.command')
170.574 000.085 000.085: require('mason-registry.sources')
170.700 000.050 000.050: require('mason-lspconfig.notify')
170.705 000.121 000.071: require('mason-lspconfig.lspconfig_hook')
170.826 000.057 000.057: require('mason-core.functional.table')
170.862 000.154 000.098: require('mason-lspconfig.mappings.server')
170.984 000.052 000.052: require('mason-core.EventEmitter')
171.041 000.054 000.054: require('mason-core.optional')
171.173 000.072 000.072: require('mason-core.async')
171.228 000.049 000.049: require('mason-core.async.uv')
171.234 000.190 000.070: require('mason-core.fs')
171.261 000.396 000.099: require('mason-registry')
171.323 000.058 000.058: require('mason-lspconfig.server_config_extensions')
171.386 000.060 000.060: require('lspconfig.server_configurations.omnisharp')
171.454 000.056 000.056: require('mason-lspconfig.ensure_installed')
171.733 000.057 000.057: require('mason-core.result')
171.769 000.153 000.096: require('mason-core.purl')
171.777 000.246 000.094: require('mason-core.package')
172.019 000.110 000.110: require('mason-core.process')
180.834 008.810 008.810: require('mason-core.spawn')
180.841 009.000 000.079: require('mason-core.managers.powershell')
180.844 009.064 000.065: require('mason-core.fetch')
180.940 000.093 000.093: require('mason-core.providers')
181.165 000.065 000.065: require('mason-core.installer.registry.expr')
181.174 000.147 000.082: require('mason-core.installer.registry.link')
181.514 000.059 000.059: require('mason-core.receipt')
181.530 000.148 000.089: require('mason-core.installer.context')
181.590 000.058 000.058: require('mason-core.async.control')
181.653 000.060 000.060: require('mason-core.installer.linker')
181.657 000.359 000.094: require('mason-core.installer')
181.669 000.437 000.078: require('mason-core.installer.managers.std')
181.672 000.496 000.059: require('mason-core.installer.registry.schemas')
181.718 000.774 000.131: require('mason-core.installer.registry')
181.725 010.264 000.087: require('mason-registry.sources.github')
184.466 000.066 000.066: require('mason-core.functional.number')
184.500 000.221 000.155: require('mason-lspconfig.api.command')
186.988 000.097 000.097: require('cmp_nvim_lsp.source')
186.995 001.834 001.737: require('cmp_nvim_lsp')
187.013 001.930 000.096: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua
187.029 002.482 000.552: require('cmp_nvim_lsp')
189.401 002.181 002.181: require('completion.servers.jsonls')
189.500 000.091 000.091: require('lspconfig.server_configurations.jsonls')
190.650 000.235 000.235: require('completion.servers.html')
190.744 000.087 000.087: require('lspconfig.server_configurations.html')
196.654 000.267 000.267: require('completion.servers.bashls')
196.752 000.090 000.090: require('lspconfig.server_configurations.bashls')
198.293 000.771 000.771: require('completion.servers.lua_ls')
198.408 000.106 000.106: require('lspconfig.server_configurations.lua_ls')
199.809 000.134 000.134: require('lspconfig.server_configurations.pylsp')
200.273 000.133 000.133: require('mason-core.managers.pip3')
200.279 000.240 000.108: require('mason-lspconfig.server_configurations.pylsp')
200.733 000.308 000.308: require('completion.servers.clangd')
200.844 000.104 000.104: require('lspconfig.server_configurations.clangd')
4852.323 000.109 000.109: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/clever-f.vim/plugin/clever-f.vim
4854.316 000.060 000.060: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-bufdel/plugin/bufdel.vim
4858.095 000.086 000.086: require('project_nvim.config')
4858.303 000.089 000.089: require('project_nvim.utils.path')
4858.312 000.210 000.122: require('project_nvim.utils.history')
4858.315 002.135 001.838: require('project_nvim')
4858.426 000.076 000.076: require('project_nvim.utils.globtopattern')
4858.699 000.108 000.108: require('project_nvim.project')
4861.808 000.165 000.165: require('indent_blankline/utils')
4861.816 002.096 001.931: require('indent_blankline')
4862.029 000.107 000.107: require('indent_blankline.commands')
4862.315 000.235 000.235: require('vim.inspect')
4862.601 003.017 000.579: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/indent-blankline.nvim/plugin/indent_blankline.vim
4864.976 000.114 000.114: require('neoscroll.config')
4865.069 000.087 000.087: require('neoscroll.utils')
4865.105 002.164 001.963: require('neoscroll')
4868.104 002.619 002.619: require('vim.filetype')
4878.246 008.177 008.177: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\ftplugin\ps1.vim
4881.234 000.030 000.030: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\indent\ps1.vim
4882.416 000.062 000.062: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\vim-matchup\autoload\matchup\ts_engine.vim
4882.617 000.060 000.060: require('treesitter-matchup.compat')
4882.692 000.069 000.069: require('treesitter-matchup.third-party.query')
4882.755 000.060 000.060: require('treesitter-matchup.third-party.lru')
4882.816 000.058 000.058: require('treesitter-matchup.util')
4882.875 000.056 000.056: require('treesitter-matchup.third-party.utils')
4882.885 000.430 000.127: require('treesitter-matchup.internal')
4884.366 000.026 000.026: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\vim-matchup\autoload\matchup\re.vim
4887.690 000.343 000.343: sourcing D:\Scoop\apps\neovim\current\share\nvim\runtime\syntax\ps1.vim
4889.505 000.130 000.130: require('nvim-treesitter.locals')
4889.804 000.175 000.175: require('editorconfig')
4889.970 000.160 000.160: require('vim.fs')
4892.131 001.873 001.873: require('alpha')
4892.212 000.075 000.075: require('alpha.themes.dashboard')
4894.882 4700.935: opening buffers
4895.056 000.085 000.085: require('bufferline.state')
4895.227 000.260: BufEnter autocommands
4895.231 000.004: editing files in windows
4896.207 000.976: VimEnter autocommands
4898.202 001.995: UIEnter autocommands
4899.105 000.903: before starting main loop
4899.567 000.143 000.143: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/vim-cool/plugin/cool.vim
4901.623 000.028 000.028: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/specs.nvim/plugin/specs.vim
4903.644 001.976 001.976: require('specs')
4904.569 000.101 000.101: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\vim-matchup\autoload\matchup\pos.vim
4905.550 000.385 000.385: sourcing C:\Users\sunli\AppData\Local\nvim-data\site\lazy\vim-matchup\autoload\matchup\delim.vim
4906.644 000.066 000.066: require('bufferline.pick')
4906.711 000.061 000.061: require('bufferline.duplicates')
4906.837 000.123 000.123: require('bufferline.diagnostics')
4906.926 000.085 000.085: require('bufferline.models')
4906.930 000.459 000.124: require('bufferline.buffers')
4907.457 000.041 000.041: sourcing C:/Users/sunli/AppData/Local/nvim-data/site/lazy/nvim-web-devicons/plugin/nvim-web-devicons.vim
4908.051 001.063 001.022: require('nvim-web-devicons')
4909.147 000.097 000.097: require('bufferline.numbers')
4909.282 000.077 000.077: require('bufferline.sorters')
4909.368 000.068 000.068: require('bufferline.tabpages')
4909.468 000.066 000.066: require('bufferline.offset')
4909.542 000.067 000.067: require('bufferline.custom_area')
4911.114 007.480: first screen update
4911.118 000.004: --- NVIM STARTED ---
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines
000.014 000.014: --- NVIM STARTING ---
000.057 000.043: event init
000.150 000.093: early init
024.477 024.327: locale set
024.558 000.081: init first window
025.284 000.726: inits 1
025.369 000.085: window checked
025.640 000.271: parsing arguments
026.485 000.241 000.241: require('vim.shared')
026.996 000.198 000.198: require('vim._meta')
027.000 000.508 000.310: require('vim._editor')
027.003 000.842 000.093: require('vim._init_packages')
027.013 000.531: init lua interpreter
033.559 006.545: expanding arguments
033.590 000.031: inits 2
034.020 000.430: init highlight
So u r using this nvimdots with
c/c++
projects? If so, then the extra 4 seconds delay is for lsp, which is clangd, to start. nvim is just waiting lsp to get ready.
@CharlesChiuGit Opening any file, including new files, is slow, not just C/C++ files.
4894.882 4700.935: opening buffers
this looks super weird. It seems like it takes almost 5 seconds just to open the buffer.
4894.882 4700.935: opening buffers
this looks super weird. It seems like it takes almost 5 seconds just to open the buffer.
I deleted clangd again, and the startup speed is around 210 milliseconds.
If I understand this correctly, maybe this issue is related to root_pattern()
and shellcmd calls. What happens is all language servers are "preloaded" during initialization:
https://github.com/ayamir/nvimdots/blob/a3fe21d7153a0321a9ac09b964a8fe118f6b5d3f/lua/modules/configs/completion/lsp.lua#L93
and one step during "preload" is to _check if the executable is invokable and set that server's root directory_. Does the directory where the file is opened have an overly large parent file tree? Also note that:
Performance ~
- OK Build type: RelWithDebInfo
- WARNING Slow shell invocation (took 1.56 seconds).
For servers that rely on shellcmds to perform live checks (e.g., clangd
), they'll be greatly affected by the startup time of your shell. But unfortunately we can't do much about this - you need to debug this issue yourself.
After clangd was installed successfully, the startup time increased to more than 4 seconds.
I deleted clangd again, and the startup speed is around 210 milliseconds.
You need remove find command in clangd config, it cannot find c compile in windows, you can change like this: https://github.com/ayamir/nvimdots/commit/6208dd7e9c28fc77208bac5ebec6c90f4d18c1f1
Remove --query-driver
didn't make the slightest difference for me and fixed the issue.
After clangd was installed successfully, the startup time increased to more than 4 seconds. I deleted clangd again, and the startup speed is around 210 milliseconds.
You need remove find command in clangd config, it cannot find c compile in windows, you can change like this: 6208dd7 Remove
--query-driver
didn't make the slightest difference for me and fixed the issue.
In fact, it's due to the inefficient implementation of get_binary_path
. It should be fixed for all of platforms and no need to remove this line.
I test passed. it works good.
Version confirmation
Following prerequisites
Neovim version
NVIM v0.9.0
Operating system/version
Windows 11 Professional Edition
Terminal name/version
Powershell 7.3.4
$TERM environment variable
No response
Branch info
main (Default/Latest)
Fetch Preferences
SSH (use_ssh = true)
Affected language servers
lua-language-server
How to reproduce the issue
Actual behavior
Nvimdots starts up very slowly on the Windows platform
Expected behavior
The startup time is less than one second.
Support info
:LspInfo
Logs
Additional information
[ERROR 2023/5/26 9:22:51] ...on-lspconfig.nvim/lua/mason-lspconfig/lspconfig_hook.lua:84: Failed to expand cmd path html { "html-languageserver", "--stdio" }