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

v4.0.0

Compare
Choose a tag to compare
@connorgmeehan connorgmeehan released this 29 Jul 04:20
· 133 commits to main since this release

This is a massive rewrite of the entirety of doom-nvim to make it more modular, extendable and maintainable. Please check the updated README.md as a getting started guide.

  • doom_modules.lua renamed to modules.lua
  • doom_config.lua renamed to config.lua
  • doom_userplugins.lua replaced by the doom.use_package(...) helper function.
  • refact!: +lsp flags for languages are now redundant, all langs have LSP enabled by default.
  • refact!: Rewrote doom-nvim internals to simplify code + improve modularity and integrations between modules.
    • modules.lua now only has two sections: features and langs
    • Modules defined in lua/doom/modules/SECTION_NAME/MODULE_NAME
    • Each module contains all plugins, config, keybinds, autocommands for a feature or a language.
    • Users can override or add new modules by creating a folder in lua/user/modules/SECTION_NAME/MODULE_NAME (implementing custom modules).
  • refact!: config.lua to define your config programatically / imperatively using new helper functions.
  • feat: Added an install script (clones doom-nvim, checks out a new branch my-config).
  • feat: Added repl module (run code in neovim using iron.nvim).
  • feat: Added annotations module (generate code documentation using neogen) to replace broken nvim-tree-docs plugin.
  • feat: Added projects module (quickly switch between projects using project.nvim).
  • feat: Added lsp_progress module (shows lsp startup and loading using fidget.nvim)
  • refact!: linter and formatter module merged into one (linter).
  • refact!: linter module to use null-ls.nvim.
  • refact: Renamed kommentary module to comment module, switched to Comment.nvim and fixed keybinds.
  • feat: Implemented a nest.nvim inspired keymap syntax that integrates with whichkey and nvim-mapper.
  • feat: Added optional impatient.nvim (doom.impatient_enabled = true in config.lua).
    • WARN: This can create bugs when modifying your config and you'll probably have to run :LuaCacheClear.
  • refact: Removed develop branch, doom-nvim will now use rolling releases with tagged stable versions.
  • refact: Auto updating logic moved into core module
    • Now requires user to use a custom config branch
    • Updating will merge the latest tagged stable version with your custom config branch.
  • tweak: Various startup time improvements.

New Contributors

Full Changelog: v3.3.0...v4.0.0