kickstart.nvim
kickstart.nvim copied to clipboard
Input latency when using kickstart
Describe the bug
I can feel the input latency when using kickstart nvim. Specifically creating a new line in the godot repo is noticably slower.
To Reproduce
- install kickstart
- git clone [email protected]:godotengine/godot.git
- nvim godot
- open main.cpp
- press o
Desktop
- linux mint 21.1
- kernel version 5.15.0-97-generic
- AMD Ryzen 7 1700 Eight-Core Processor × 8
- gnome terminal
Neovim Version
NVIM v0.9.5 Build type: Release LuaJIT 2.1.1692716794
Video of me inserting new lines into godot's main.cpp:
https://github.com/nvim-lua/kickstart.nvim/assets/1339925/c478978f-8420-4157-8ac8-10f313eed36a
In stock nvim, it takes 2 frames of video from the onscreen keyboard's 'o' key for the new line to insert.
After kickstart is installed it takes 14 frames of video from the onscreen keyboard's 'o' key for the new line to insert.
Let me know what I can do to help diagnose this issue.
checkhealth output sorry i cant figure out how to copy it to my clipboard
Hi.
Thanks for the report.
Please run:
nvim --startuptime startuptime.log
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines
000.012 000.012: --- NVIM STARTING ---
000.236 000.223: event init
000.388 000.153: early init
000.468 000.079: locale set
000.529 000.061: init first window
000.990 000.461: inits 1
001.019 000.028: window checked
001.023 000.005: parsing arguments
001.864 000.102 000.102: require('vim.shared')
002.070 000.077 000.077: require('vim._options')
002.074 000.203 000.127: require('vim._editor')
002.077 000.395 000.090: require('vim._init_packages')
002.081 000.662: init lua interpreter
002.169 000.089: expanding arguments
002.218 000.048: inits 2
002.731 000.513: init highlight
002.733 000.002: waiting for UI
003.593 000.860: done waiting for UI
003.666 000.073: clear screen
003.928 000.262: init default mappings & autocommands
004.974 000.095 000.095: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/ftplugin.vim
005.081 000.054 000.054: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/indent.vim
007.389 001.201 001.201: require('lazy')
007.477 000.047 000.047: require('ffi')
007.583 000.096 000.096: require('vim.loader')
007.728 000.061 000.061: require('vim.fs')
008.081 000.450 000.389: require('lazy.stats')
008.309 000.185 000.185: require('lazy.core.util')
008.624 000.308 000.308: require('lazy.core.config')
008.963 000.136 000.136: require('lazy.core.handler')
009.135 000.167 000.167: require('lazy.core.plugin')
009.150 000.519 000.217: require('lazy.core.loader')
010.667 000.172 000.172: require('lazy.core.handler.event')
010.801 000.124 000.124: require('lazy.core.handler.cmd')
010.931 000.119 000.119: require('lazy.core.handler.ft')
011.097 000.158 000.158: require('lazy.core.handler.keys')
011.945 000.472 000.472: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/filetype.lua
013.028 000.925 000.925: require('onedark')
015.020 000.390 000.390: require('onedark')
016.724 000.234 000.234: require('onedark.palette')
016.866 000.525 000.291: require('onedark.colors')
016.977 000.103 000.103: require('onedark.util')
017.127 001.367 000.739: require('onedark.highlights')
019.534 000.073 000.073: require('onedark.terminal')
019.549 005.368 003.538: sourcing /home/jason/.local/share/nvim/lazy/onedark.nvim/colors/onedark.lua
020.308 000.173 000.173: require('ibl.utils')
020.321 000.279 000.105: require('ibl.config')
020.508 000.084 000.084: require('ibl.indent')
020.520 000.196 000.112: require('ibl.hooks')
020.523 000.550 000.075: require('ibl.highlights')
020.659 000.134 000.134: require('ibl.autocmds')
020.745 000.083 000.083: require('ibl.inlay_hints')
020.818 000.070 000.070: require('ibl.virt_text')
021.340 000.460 000.460: require('ibl.scope_languages')
021.344 000.523 000.063: require('ibl.scope')
021.350 001.672 000.313: require('ibl')
021.906 000.144 000.144: require('vim.lsp.log')
022.207 000.297 000.297: require('vim.lsp.protocol')
022.495 000.132 000.132: require('vim.lsp._snippet')
022.571 000.073 000.073: require('vim.highlight')
022.586 000.012 000.012: require('vim.F')
022.602 000.392 000.175: require('vim.lsp.util')
022.621 000.939 000.106: require('vim.lsp.handlers')
022.725 000.102 000.102: require('vim.lsp.rpc')
022.839 000.112 000.112: require('vim.lsp.sync')
022.987 000.145 000.145: require('vim.lsp.semantic_tokens')
023.157 000.165 000.165: require('vim.lsp.buf')
023.281 000.121 000.121: require('vim.lsp.diagnostic')
023.441 000.158 000.158: require('vim.lsp.codelens')
023.534 002.031 000.289: require('vim.lsp')
023.906 000.094 000.094: sourcing /home/jason/.local/share/nvim/lazy/vim-rhubarb/plugin/rhubarb.vim
024.441 000.341 000.341: sourcing /home/jason/.local/share/nvim/lazy/vim-sleuth/plugin/sleuth.vim
024.909 000.033 000.033: sourcing /home/jason/.local/share/nvim/lazy/plenary.nvim/plugin/plenary.vim
025.458 000.011 000.011: require('vim.keymap')
025.549 000.337 000.325: sourcing /home/jason/.local/share/nvim/lazy/telescope.nvim/plugin/telescope.lua
026.497 000.270 000.270: require('lualine_require')
026.786 000.983 000.713: require('lualine')
028.744 000.055 000.055: require('lualine.utils.mode')
031.071 000.046 000.046: require('gitsigns.async')
031.160 000.085 000.085: require('gitsigns.config')
031.204 000.042 000.042: require('gitsigns.debug.log')
031.209 000.625 000.453: require('gitsigns')
032.595 000.047 000.047: require('vim.treesitter.language')
032.608 000.127 000.081: require('vim.treesitter.query')
032.656 000.046 000.046: require('vim.treesitter._range')
032.664 000.259 000.085: require('vim.treesitter.languagetree')
032.678 000.334 000.076: require('vim.treesitter')
032.681 000.387 000.053: require('nvim-treesitter.compat')
034.058 001.179 001.179: require('nvim-treesitter.parsers')
034.156 000.095 000.095: require('nvim-treesitter.utils')
034.165 001.420 000.146: require('nvim-treesitter.ts_utils')
034.171 001.488 000.068: require('nvim-treesitter.tsrange')
034.233 000.061 000.061: require('nvim-treesitter.caching')
034.248 002.034 000.098: require('nvim-treesitter.query')
034.268 002.181 000.147: require('nvim-treesitter.configs')
034.270 002.646 000.464: require('nvim-treesitter-textobjects')
034.596 000.128 000.128: require('nvim-treesitter.info')
034.829 000.229 000.229: require('nvim-treesitter.shell_command_selectors')
034.925 000.580 000.222: require('nvim-treesitter.install')
035.022 000.095 000.095: require('nvim-treesitter.statusline')
035.248 000.223 000.223: require('nvim-treesitter.query_predicates')
035.251 000.980 000.082: require('nvim-treesitter')
035.484 000.107 000.107: require('nvim-treesitter.textobjects.shared')
035.489 000.225 000.117: require('nvim-treesitter.textobjects.select')
035.693 000.090 000.090: require('nvim-treesitter.textobjects.attach')
035.786 000.089 000.089: require('nvim-treesitter.textobjects.repeatable_move')
035.797 000.286 000.106: require('nvim-treesitter.textobjects.move')
036.107 000.073 000.073: require('nvim-treesitter.textobjects.swap')
036.226 000.059 000.059: require('nvim-treesitter.textobjects.lsp_interop')
036.246 004.646 000.377: sourcing /home/jason/.local/share/nvim/lazy/nvim-treesitter-textobjects/plugin/nvim-treesitter-textobjects.vim
036.763 000.421 000.421: sourcing /home/jason/.local/share/nvim/lazy/nvim-treesitter/plugin/nvim-treesitter.lua
037.413 000.037 000.037: require('Comment.config')
037.518 000.058 000.058: require('Comment.ft')
037.523 000.107 000.049: require('Comment.utils')
037.561 000.037 000.037: require('Comment.opfunc')
037.596 000.033 000.033: require('Comment.extra')
037.600 000.607 000.393: require('Comment.api')
037.742 000.795 000.188: sourcing /home/jason/.local/share/nvim/lazy/Comment.nvim/plugin/Comment.lua
037.840 000.044 000.044: require('Comment')
038.987 000.890 000.890: sourcing /home/jason/.local/share/nvim/lazy/vim-fugitive/plugin/fugitive.vim
039.049 000.010 000.010: sourcing /home/jason/.local/share/nvim/lazy/vim-fugitive/ftdetect/fugitive.vim
040.449 000.957 000.957: require('vim.filetype')
041.067 000.039 000.039: require('luasnip.util.types')
041.073 000.087 000.048: require('luasnip.util.ext_opts')
041.206 000.035 000.035: require('luasnip.util.lazy_table')
041.248 000.040 000.040: require('luasnip.extras.filetype_functions')
041.261 000.143 000.069: require('luasnip.default_config')
041.264 000.190 000.047: require('luasnip.session')
041.267 000.628 000.352: require('luasnip.config')
041.483 000.089 000.089: require('luasnip.util.util')
041.577 000.032 000.032: require('luasnip.nodes.key_indexer')
041.586 000.100 000.067: require('luasnip.nodes.util')
041.673 000.035 000.035: require('luasnip.session.snippet_collection.source')
041.708 000.033 000.033: require('luasnip.util.table')
041.744 000.034 000.034: require('luasnip.util.auto_table')
041.751 000.163 000.060: require('luasnip.session.snippet_collection')
041.879 000.040 000.040: require('luasnip.util.select')
041.927 000.045 000.045: require('luasnip.util.time')
042.200 000.409 000.323: require('luasnip.util._builtin_vars')
042.279 000.073 000.073: require('vim.inspect')
042.340 000.588 000.107: require('luasnip.util.environ')
042.390 000.048 000.048: require('luasnip.util.extend_decorator')
042.499 000.059 000.059: require('luasnip.util.path')
042.645 000.069 000.069: require('luasnip.util.log')
042.653 000.152 000.083: require('luasnip.loaders.util')
042.700 000.045 000.045: require('luasnip.loaders.data')
042.802 000.100 000.100: require('luasnip.loaders.fs_watchers')
042.816 000.424 000.069: require('luasnip.loaders')
042.839 001.567 000.156: require('luasnip')
042.863 003.412 000.260: sourcing /home/jason/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.lua
042.918 000.025 000.025: sourcing /home/jason/.local/share/nvim/lazy/LuaSnip/plugin/luasnip.vim
044.024 000.108 000.108: require('cmp.utils.api')
044.127 000.042 000.042: require('cmp.types.cmp')
044.238 000.058 000.058: require('cmp.utils.misc')
044.257 000.127 000.070: require('cmp.types.lsp')
044.315 000.056 000.056: require('cmp.types.vim')
044.318 000.290 000.065: require('cmp.types')
044.374 000.055 000.055: require('cmp.utils.highlight')
044.492 000.063 000.063: require('cmp.utils.debug')
044.501 000.125 000.061: require('cmp.utils.autocmd')
044.869 001.017 000.439: sourcing /home/jason/.local/share/nvim/lazy/nvim-cmp/plugin/cmp.lua
045.270 000.014 000.014: sourcing /home/jason/.local/share/nvim/lazy/which-key.nvim/plugin/which-key.vim
046.043 000.077 000.077: require('which-key.util')
046.047 000.154 000.077: require('which-key.tree')
046.149 000.101 000.101: require('which-key.config')
046.158 000.339 000.084: require('which-key.keys')
046.162 000.765 000.425: require('which-key')
047.065 000.058 000.058: require('mason-core.path')
047.274 000.131 000.131: require('mason-core.functional')
047.407 000.053 000.053: require('mason-core.functional.data')
047.415 000.127 000.074: require('mason-core.functional.function')
047.479 000.051 000.051: require('mason-core.functional.relation')
047.537 000.048 000.048: require('mason-core.functional.logic')
047.550 000.482 000.124: require('mason-core.platform')
047.669 000.117 000.117: require('mason.settings')
047.672 001.111 000.454: require('mason')
047.956 000.102 000.102: require('mason-core.functional.list')
048.030 000.069 000.069: require('mason-core.functional.string')
048.057 000.293 000.123: require('mason.api.command')
048.139 000.076 000.076: require('mason-registry.sources')
049.396 000.105 000.105: require('fidget.spinner.patterns')
049.400 000.162 000.057: require('fidget.spinner')
049.461 000.059 000.059: require('fidget.options')
049.470 000.301 000.081: require('fidget.progress.display')
049.635 000.090 000.090: require('fidget.logger')
049.642 000.171 000.080: require('fidget.progress.lsp')
050.017 000.105 000.105: require('fidget.poll')
050.024 000.215 000.110: require('fidget.notification.model')
050.126 000.100 000.100: require('fidget.notification.window')
050.403 000.274 000.274: require('fidget.notification.view')
050.472 000.749 000.159: require('fidget.notification')
050.482 000.838 000.089: require('fidget.progress.handle')
050.530 001.430 000.121: require('fidget.progress')
050.938 000.406 000.406: require('fidget.commands')
051.257 000.168 000.168: require('fidget.integration.nvim-tree')
051.447 000.187 000.187: require('fidget.integration.xcodebuild-nvim')
051.452 000.510 000.155: require('fidget.integration')
051.468 002.927 000.582: require('fidget')
052.973 000.250 000.250: sourcing /home/jason/.local/share/nvim/lazy/nvim-lspconfig/plugin/lspconfig.lua
053.300 000.102 000.102: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/editorconfig.lua
053.470 000.147 000.147: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/gzip.vim
053.515 000.008 000.008: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/health.vim
053.581 000.048 000.048: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/man.lua
054.049 000.171 000.171: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
054.107 000.464 000.292: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/matchit.vim
054.249 000.119 000.119: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/matchparen.vim
054.568 000.295 000.295: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/netrwPlugin.vim
054.653 000.044 000.044: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/nvim.lua
054.821 000.123 000.123: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/rplugin.vim
054.924 000.056 000.056: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/shada.vim
054.983 000.019 000.019: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/spellfile.vim
055.106 000.090 000.090: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/tarPlugin.vim
055.217 000.070 000.070: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/tohtml.vim
055.279 000.016 000.016: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/tutor.vim
055.426 000.121 000.121: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/plugin/zipPlugin.vim
055.909 000.057 000.057: require('cmp.utils.char')
055.917 000.104 000.047: require('cmp.utils.str')
056.032 000.031 000.031: require('cmp.utils.buffer')
056.038 000.084 000.053: require('cmp.utils.keymap')
056.041 000.123 000.040: require('cmp.utils.feedkeys')
056.171 000.042 000.042: require('cmp.config.mapping')
056.205 000.032 000.032: require('cmp.utils.cache')
056.300 000.042 000.042: require('cmp.config.compare')
056.302 000.095 000.053: require('cmp.config.default')
056.312 000.225 000.056: require('cmp.config')
056.321 000.278 000.053: require('cmp.utils.async')
056.390 000.030 000.030: require('cmp.utils.pattern')
056.393 000.071 000.041: require('cmp.context')
056.526 000.034 000.034: require('cmp.matcher')
056.531 000.092 000.058: require('cmp.entry')
056.536 000.142 000.050: require('cmp.source')
056.606 000.030 000.030: require('cmp.utils.event')
056.714 000.029 000.029: require('cmp.utils.options')
056.718 000.075 000.046: require('cmp.utils.window')
056.720 000.112 000.037: require('cmp.view.docs_view')
056.776 000.055 000.055: require('cmp.view.custom_entries_view')
056.824 000.046 000.046: require('cmp.view.wildmenu_entries_view')
056.867 000.041 000.041: require('cmp.view.native_entries_view')
056.918 000.049 000.049: require('cmp.view.ghost_text_view')
056.925 000.387 000.054: require('cmp.view')
057.236 001.487 000.382: require('cmp.core')
057.354 000.040 000.040: require('cmp.config.sources')
057.388 000.032 000.032: require('cmp.config.window')
057.424 001.738 000.179: require('cmp')
057.480 000.054 000.054: require('cmp_path')
057.499 001.910 000.118: sourcing /home/jason/.local/share/nvim/lazy/cmp-path/after/plugin/cmp_path.lua
057.678 000.037 000.037: require('cmp_nvim_lsp.source')
057.681 000.079 000.042: require('cmp_nvim_lsp')
057.694 000.144 000.064: sourcing /home/jason/.local/share/nvim/lazy/cmp-nvim-lsp/after/plugin/cmp_nvim_lsp.lua
057.837 000.043 000.043: require('cmp_luasnip')
057.876 000.134 000.091: sourcing /home/jason/.local/share/nvim/lazy/cmp_luasnip/after/plugin/cmp_luasnip.lua
057.989 000.065 000.065: sourcing /home/jason/.local/share/nvim/lazy/indent-blankline.nvim/after/plugin/commands.lua
058.239 000.145 000.145: require('vim.diagnostic')
058.357 000.042 000.042: require('telescope._extensions')
058.360 000.092 000.050: require('telescope')
058.577 000.036 000.036: require('plenary.bit')
058.611 000.032 000.032: require('plenary.functional')
058.636 000.154 000.086: require('plenary.path')
058.649 000.205 000.050: require('plenary.strings')
058.688 000.039 000.039: require('telescope.deprecated')
058.882 000.099 000.099: require('plenary.log')
058.918 000.169 000.069: require('telescope.log')
059.053 000.068 000.068: require('plenary.job')
059.110 000.040 000.040: require('telescope.state')
059.116 000.196 000.087: require('telescope.utils')
059.120 000.430 000.066: require('telescope.sorters')
060.867 002.505 001.831: require('telescope.config')
062.154 000.108 000.108: require('fzf_lib')
062.160 000.180 000.071: require('telescope._extensions.fzf')
062.289 000.120 000.120: require('telescope.builtin')
062.529 000.066 000.066: require('mason-core.log')
062.571 000.039 000.039: require('mason-lspconfig.settings')
062.574 000.168 000.064: require('mason-lspconfig')
062.665 000.034 000.034: require('mason-lspconfig.notify')
062.670 000.094 000.060: require('mason-lspconfig.lspconfig_hook')
062.792 000.121 000.121: require('lspconfig.util')
062.923 000.044 000.044: require('mason-core.functional.table')
062.963 000.168 000.124: require('mason-lspconfig.mappings.server')
063.053 000.038 000.038: require('mason-core.EventEmitter')
063.093 000.038 000.038: require('mason-core.optional')
063.191 000.051 000.051: require('mason-core.async')
063.228 000.034 000.034: require('mason-core.async.uv')
063.241 000.146 000.061: require('mason-core.fs')
063.259 000.295 000.073: require('mason-registry')
063.300 000.039 000.039: require('mason-lspconfig.server_config_extensions')
063.400 000.039 000.039: require('lspconfig.async')
063.403 000.101 000.062: require('lspconfig.configs')
063.453 000.049 000.049: require('lspconfig.server_configurations.omnisharp')
063.777 000.039 000.039: require('mason-core.functional.number')
063.799 000.140 000.100: require('mason-lspconfig.api.command')
064.179 000.377 000.377: require('neodev')
064.221 000.040 000.040: require('neodev.config')
064.312 000.042 000.042: require('neodev.util')
064.315 000.085 000.043: require('neodev.lsp')
064.593 000.062 000.062: require('mason-lspconfig.ensure_installed')
064.769 000.087 000.087: require('mason-core.result')
065.018 000.129 000.129: require('mason-core.process')
065.154 000.133 000.133: require('mason-core.spawn')
065.164 000.334 000.072: require('mason-core.managers.powershell')
065.214 000.048 000.048: require('mason.version')
065.217 000.445 000.063: require('mason-core.fetch')
065.276 000.058 000.058: require('mason-core.providers')
065.624 000.213 000.213: require('mason-core.purl')
065.641 000.313 000.099: require('mason-core.package')
065.917 000.093 000.093: require('mason-core.installer.registry.expr')
065.944 000.226 000.134: require('mason-core.installer.registry.link')
066.393 000.100 000.100: require('mason-core.receipt')
066.417 000.236 000.136: require('mason-core.installer.context')
066.490 000.072 000.072: require('mason-core.async.control')
066.570 000.077 000.077: require('mason-core.installer.linker')
066.577 000.491 000.107: require('mason-core.installer')
066.602 000.597 000.105: require('mason-core.installer.managers.std')
066.604 000.658 000.061: require('mason-core.installer.registry.schemas')
066.672 000.067 000.067: require('mason-core.installer.registry.util')
066.687 001.044 000.093: require('mason-core.installer.registry')
066.691 001.412 000.055: require('mason-registry.sources.util')
066.703 002.102 000.100: require('mason-registry.sources.github')
071.306 000.092 000.092: require('lspconfig')
071.390 000.079 000.079: require('lspconfig.server_configurations.lua_ls')
072.086 000.114 000.114: require('lspconfig.manager')
072.330 000.105 000.105: require('luasnip.session.enqueueable_operations')
072.517 000.183 000.183: require('luasnip.util.jsonc')
073.104 000.082 000.082: require('luasnip.util.events')
073.121 000.272 000.191: require('luasnip.nodes.node')
073.271 000.149 000.149: require('luasnip.nodes.insertNode')
073.358 000.084 000.084: require('luasnip.nodes.textNode')
073.462 000.101 000.101: require('luasnip.util.mark')
074.052 000.587 000.587: require('luasnip.util.pattern_tokenizer')
074.204 000.149 000.149: require('luasnip.util.dict')
074.542 000.017 000.017: require('jsregexp.core')
074.570 000.141 000.124: require('luasnip-jsregexp')
074.571 000.299 000.158: require('luasnip.util.jsregexp')
074.574 000.367 000.068: require('luasnip.nodes.util.trig_engines')
074.740 002.092 000.383: require('luasnip.nodes.snippet')
074.747 002.159 000.068: require('luasnip.nodes.duplicate')
074.753 002.231 000.071: require('luasnip.loaders.snippet_cache')
074.770 002.675 000.156: require('luasnip.loaders.from_vscode')
079.317 000.043 000.043: require('luasnip.util.parser.neovim_ast')
079.362 000.040 000.040: require('luasnip.util.str')
079.408 000.043 000.043: require('luasnip.util.directed_graph')
079.413 000.202 000.076: require('luasnip.util.parser.ast_utils')
079.467 000.053 000.053: require('luasnip.nodes.functionNode')
079.533 000.064 000.064: require('luasnip.nodes.choiceNode')
079.594 000.059 000.059: require('luasnip.nodes.dynamicNode')
079.691 000.095 000.095: require('luasnip.util.functions')
079.696 000.644 000.172: require('luasnip.util.parser.ast_parser')
079.768 000.070 000.070: require('luasnip.util.parser.neovim_parser')
079.795 000.899 000.185: require('luasnip.util.parser')
079.800 001.026 000.127: require('luasnip.nodes.snippetProxy')
079.845 000.043 000.043: require('luasnip.nodes.multiSnippet')
082.002 076.821 028.926: sourcing /home/jason/.config/nvim/init.lua
082.013 001.115: sourcing vimrc file(s)
082.253 000.045 000.045: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/filetype.lua
082.550 000.086 000.086: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/syntax/synload.vim
082.677 000.340 000.255: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/syntax/syntax.vim
082.692 000.294: inits 3
083.789 001.097: reading ShaDa
084.055 000.092 000.092: require('luasnip.loaders.from_lua')
084.135 000.075 000.075: require('luasnip.loaders.from_snipmate')
084.243 000.288: opening buffers
084.354 000.111: BufEnter autocommands
084.357 000.003: editing files in windows
084.493 000.083 000.083: require('which-key.plugins')
084.548 000.050 000.050: require('which-key.plugins.marks')
084.608 000.056 000.056: require('which-key.mappings')
084.982 000.062 000.062: require('which-key.plugins.spelling')
085.101 000.080 000.080: require('which-key.plugins.presets')
085.166 000.061 000.061: require('which-key.plugins.presets.misc')
085.232 000.047 000.047: require('which-key.plugins.registers')
085.411 000.047 000.047: require('which-key.colors')
092.753 007.909: VimEnter autocommands
092.821 000.068: UIEnter autocommands
093.233 000.255 000.255: sourcing /home/jason/bin/nvim-linux64/share/nvim/runtime/autoload/provider/clipboard.vim
093.243 000.167: before starting main loop
094.207 000.963: first screen update
094.209 000.002: --- NVIM STARTED ---
times in msec
clock self+sourced self: sourced script
clock elapsed: other lines
000.013 000.013: --- NVIM STARTING ---
000.242 000.229: event init
000.424 000.181: early init
000.502 000.078: locale set
000.566 000.064: init first window
001.061 000.495: inits 1
001.074 000.013: window checked
001.078 000.004: parsing arguments
001.926 000.102 000.102: require('vim.shared')
002.137 000.077 000.077: require('vim._options')
002.141 000.209 000.132: require('vim._editor')
002.144 000.398 000.087: require('vim._init_packages')
002.148 000.672: init lua interpreter
003.166 001.018: expanding arguments
003.229 000.063: inits 2
003.763 000.534: init highlight
For my case, the delay was caused by treesitter config where highlight is enabled
require('nvim-treesitter.configs').setup {
ensure_installed = { 'bash', 'c', 'html', 'lua', 'markdown', 'vim', 'vimdoc' },
-- Autoinstall languages that are not installed
auto_install = true,
-- highlight = { enable = true },
indent = { enable = true },
}
Some tips from the treesitter official repo
highlight = {
enable = true,
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
-- the name of the parser)
-- list of language that will be disabled
disable = { "c", "rust" },
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
additional_vim_regex_highlighting = false,
},
Please feel free to create your own fork and optimize kickstart to within an inch of its life! :)
Our goal is to provide a simple, straight forward, easy to read initial configuration for people as an invitation to extend things themselves, so I don't think these changes are in scope for this project.
Thanks for the report!