Skip to content
This repository has been archived by the owner on Apr 16, 2024. It is now read-only.

v4.1.0

Latest
Compare
Choose a tag to compare
@connorgmeehan connorgmeehan released this 06 Nov 05:32
· 38 commits to main since this release

v4.1.0 Mason.nvim, exposing more config, profiler

Doom nvim's first minor release since v4.0.0. This release comes with lots of improvements.

New Github Organisation

Doom-nvim is now contained within the doom-neovim github organisation. @NTBBloodbath has stepped back from maintaining this project but may still help out with the odd task. Thanks for the work you've done so far @NTBBloodbath.

Mason.nvim

We've switched over to mason.nvim and now null-ls sources will also be automatically installed! This is indicated in the status line which can be clicked to bring up the null-ls menu.
Screen Shot 2022-11-06 at 4 08 40 pm

More config options for languages

All language modules are now fully configurable by accessing the settings field of the module.

-- config.lua
local csharp_settings = doom.langs.c_sharp.settings

print(csharp_settings.lsp_name) -- "omnisharp" 
csharp_settings.lsp_name = "omnisharp_mono"

print(csharp_settings.formatting_package) -- "csharpier"
csharp_settings.formatting_package = nil -- Do not install csharpier mason.nvim package
csharp_settings.formatting_provider = "builtins.formatting.uncrustify" -- Use globally installed uncrustify binary

Inspect the source of the language modules to see which settings can be tweaked (not all langs have an LSP or a formatting provider). The next release will focus on documentation of all doom-nvim modules and you will be able to see these options using :h doom.langs.c_sharp or via a website.

Profiler

A new command :DoomProfile has been added that can help diagnose issues with slow startup times. This profiling only watches the internals of doom-nvim and does not profile packages. For that you'll need to check :PackerProfile. The profiler defers almost all computation until you run :DoomProfile so the increase in start up time is trivial. We will use this to continue to make doom-nvim faster. (Side note it can also be a useful trace when debugging issues).
Screen Shot 2022-11-06 at 4 18 39 pm

Minor tweaks and improvements

  • Using the profiler we were able to identify that Neorg was not being lazy-loaded correctly. This has been resolved and that should improve startup time by 100ms. The next step will be to auto install and configure DAPs for applicable languages.
  • <leader>. Browse files keybind is now working correctly.
  • <leader>cs Browse document symbols keybind is now working correctly.
  • Added an option to ignore gcc/clang warning messages.
    • Add doom.core.treesitter.settings.show_compiler_warning_message = false in config.lua
  • Errors during language startup are now more descriptive and human readable.

What's Changed

  • fix(langs,vue): Reconfigured to use single LSP instance.
  • feat(core): Added :DoomProfile command to profile/trace internal startup time.
  • tweak(modules,neorg): Lazy-load neorg (-100ms on startup)
  • feat(modules, linter): Show null-ls source in error.
  • fix(modules,telescope): Fix <leader>cs symbols view
  • feat(modules,lsp): Cleaner completion menu
  • fix(modules,telescope): Fixed filebrowser <leader>. not opening files.
  • feat(core,treesitter): Add option to opt out of gcc/clang warning message
  • feat(core,langs): Improved error messaging with null-ls package install failures.
  • feat(langs): Add lsp_config option to configure lsp provider.
  • fix(comments): Update plugin call convention by @Fryuni in #404
  • fix(dashboard): Fix shortcuts shown on dashboard by @Fryuni in #403
  • Fixed backup dirs & added doom-nvim installed check by @Coloursplash in #401
  • feat(auto_install): Switch from nvim-lsp-installer to mason.nvim + various other improvements. by @connorgmeehan in #405

New Contributors

Full Changelog: v4.0.5...v4.1.0