A Neovim configuration for the advanced martian hacker
Doom nvim's first minor release since v4.0.0. This release comes with lots of improvements.
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.
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.
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.
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).
<leader>.
Browse files keybind is now working correctly.<leader>cs
Browse document symbols keybind is now working correctly.doom.core.treesitter.settings.show_compiler_warning_message = false
in config.lua
:DoomProfile
command to profile/trace internal startup time.<leader>cs
symbols view<leader>.
not opening files.lsp_config
option to configure lsp provider.Full Changelog: https://github.com/doom-neovim/doom-nvim/compare/v4.0.5...v4.1.0
This release adds support for neovim v0.8! Due to breaking changes to treesitter you might not be able to run :PackerSync
. In this case try running :DoomNuke all
(to re-install packer plugins + delete compiled.lua) and then restarting neovim.
:DoomNuke
command to re-install all plugins.
:DoomNuke all|plugins|cache
all
Delete packer plugins (re-install on next launch) + packer_compiled.lua
plugins
Delete packer plugins (re-install on next launch)cache
Delete packer_compiled.lua
requires_modules
field to modules
features.projects
requires features.telescope
ignorecase
and smartcase
options (#387):PackerSync
after adding new plugins)Some "soft" breaking changes in this releases (should handle itself but could still cause complications). Explanations highlighted with the changes.
<leader>.
(browse_files) keybind.doom.use_package
<leader>oe
keybind breaking after some use).tsx
treesitter grammer to typescript
language support.Full Changelog: https://github.com/NTBBloodbath/doom-nvim/compare/v4.0.1...v4.0.2
Changes
stdpath('data')
doesn't exist @dwarfmaster #364snippets
module disabled.snippets
to extra_snippets
.Full Changelog: https://github.com/NTBBloodbath/doom-nvim/compare/v4.0.0...v.4.0.1
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.+lsp
flags for languages are now redundant, all langs have LSP enabled by default.modules.lua
now only has two sections: features
and langs
lua/doom/modules/SECTION_NAME/MODULE_NAME
lua/user/modules/SECTION_NAME/MODULE_NAME
(implementing custom modules).config.lua
to define your config programatically / imperatively using new helper functions.my-config
).repl
module (run code in neovim using iron.nvim).annotations
module (generate code documentation using neogen) to replace broken nvim-tree-docs
plugin.projects
module (quickly switch between projects using project.nvim).lsp_progress
module (shows lsp startup and loading using fidget.nvim)linter
and formatter
module merged into one (linter
).linter
module to use null-ls.nvim.kommentary
module to comment
module, switched to Comment.nvim and fixed keybinds.nest.nvim
inspired keymap syntax that integrates with whichkey
and nvim-mapper
.doom.impatient_enabled = true
in config.lua
).
:LuaCacheClear
.develop
branch, doom-nvim will now use rolling releases with tagged stable versions.Full Changelog: https://github.com/NTBBloodbath/doom-nvim/compare/v3.3.0...v4.0.0
Just a minor release for this one as a lot of plugins are dropping 0.5 support, this removes 0.5 compatible code and will address the annoying deprecation warnings.
This release breaks 0.5 support. A lot of the plugins that we depend upon no longer support neovim 0.5.
Fixes:
PackerCompile
on exit when Doom modulesor userplugins files were modifiedrest.nvim
plugin is enableddoom_modules.lua
filecontrib
entry in doom_modules.lua
file, contrib module enables some documentation plugins~/.config/nvim/doc
to neorg workspacesstatusline_show_file_path
option in doom_config.lua
file+lsp(LSP_NAME)
syntax
+lsp(LSP_NAME, ANOTHER_LSP_NAME)
syntaxnetrw
look and feeluse_netrw
configuration option, decide if Doom sshoulduse netrw or nvim-tree as the file explorerkeybinds_mdoules
option in doom_config.lua
, enable or disable Doom keybindings modules as you wish
doom_config.lua
file #139
escape_str
function to utils moduleq
to quickly exit Neovim in dashboard<
or >
lsp_rename
functionality (<leader>clr
)clang
users who run into treesitter complation issuesdisable_numbering
confiugration optiondoom_config
filenvim-lint
, async lintervim-illuminate
, highlight word under cursorDoomManual
, open Doom user manualDoomReport
, create a Doom crash reportDoomConfigs
, open a prompt to edit Doom configuration filesDoomConfigsReload
, reload Doom custom mappings, autocommands, etcDoomInfo
, display a informational dashboardDoomReload
, hot reload Doom Nvim<leader>di
, display a informational dashboard<leader>t
section to tweak editor behaviors like numbering and spellinginfo
, show an useful informational dashboardasync
, run async system commands (e.g. running Git)reloader
, reload Lua modules on the fly:DoomUpdate
is now asynchronous, keep coding while Doom updates itself!.txt
docs with Neorg-based docsxpcall
instead of pcall
in all modules to provide a better tracback in case of an errorM
to a more logical name, e.g. system
for system modulefs
, filesystem utilitiesmappings
, mappings utilitiesmodules
, Lua modules utilitiesneorg
by defaultgitsigns
configurationsnvim-tree
configurationsbufferline
configurationsdap-ui
configurations #114
neorg
tree-sitter parser files,o
as neorg leader instead of <leader>o
.git
directoryCC
environment variable:DoomReport
command not including warning
/error
logsdoom_config
filebufdo e
. Fixes #127
which-key.nvim
plugin if not installed. Fixes #124
BufEnter
autocommand after loading tree-sitter, fixes concealing on norg files0.5-compat
branch for TreeSitter when using Neovim 0.5.xpackage.loaded
to check toggleterm existence in built-in modulesdap-ui
plugin configurations to match recent breaking changes.
See #114 and #137
gitsigns
plugin configurations to match recent breaking changes. See #115
nvim-tree.lua
plugin configurationsnvim-neorg
organization. See #115
,o
instead of <leader>o
as Neorg leader. Fixes #110
+lsp
flag in doomrc
.
Fixes #87, see #149
bufdo e
, this was causing issues with nvim -d file1 file2
. Fixes #127