diff --git a/README.md b/README.md
index aef5df071..d7fb78ccb 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@
# Neorg - An Organized Future
- ![Neovim](https://img.shields.io/badge/Neovim%200.8+-brightgreen?style=for-the-badge)
+ ![Neovim](https://img.shields.io/badge/Neovim%200.10+-brightgreen?style=for-the-badge)
![Discord](https://img.shields.io/badge/discord-join-7289da?style=for-the-badge&logo=discord)
![License](https://img.shields.io/badge/license-GPL%20v3-brightgreen?style=for-the-badge)
![Usage](https://dotfyle.com/plugins/nvim-neorg/neorg/shield?style=for-the-badge)
@@ -70,7 +70,9 @@ A video tutorial may be found on Youtube:
Neorg's setup process is slightly more complex than average, so we encourage you to be patient :)
-**After you're done with the installation process, run `:checkhealth neorg` to see if everything's correct!**
+**Neorg requires Neovim 0.10 or above to function. After you're done with the
+installation process, run `:checkhealth neorg` to see if everything's
+correct!**
### `rocks.nvim`
diff --git a/lua/neorg/init.lua b/lua/neorg/init.lua
index 32ef7e9ff..f0a38502a 100644
--- a/lua/neorg/init.lua
+++ b/lua/neorg/init.lua
@@ -3,7 +3,7 @@
--- @brief ]]
local neorg = require("neorg.core")
-local config, log, modules = neorg.config, neorg.log, neorg.modules
+local config, log, modules, utils = neorg.config, neorg.log, neorg.modules, neorg.utils
--- @module "neorg.core.config"
@@ -12,6 +12,9 @@ local config, log, modules = neorg.config, neorg.log, neorg.modules
--- @see config.user_config
--- @see neorg.configuration.user
function neorg.setup(cfg)
+ -- Ensure that we are running Neovim 0.10+
+ assert(utils.is_minimum_version(0, 10, 0), "Neorg requires at least Neovim version 0.10 to operate!")
+
-- If the user supplied no configuration then generate a default one (assume the user wants the defaults)
cfg = cfg or {
load = {
@@ -36,14 +39,6 @@ function neorg.setup(cfg)
-- Create a new global instance of the neorg logger.
log.new(config.user_config.logger or log.get_default_config(), true)
- -- TODO(vhyrro): Remove this after Neovim 0.10, where `norg` files will be
- -- detected automatically.
- vim.filetype.add({
- extension = {
- norg = "norg",
- },
- })
-
-- If the file we have entered has a `.norg` extension:
if vim.fn.expand("%:e") == "norg" or not config.user_config.lazy_loading then
-- Then boot up the environment.