diff --git a/init.lua b/init.lua index d778857..84c14e9 100644 --- a/init.lua +++ b/init.lua @@ -1,3 +1,14 @@ +-- Version check: require Neovim 0.11+ +if vim.fn.has("nvim-0.11") == 0 then + vim.api.nvim_echo({ + { "ERROR: ", "ErrorMsg" }, + { "This config requires Neovim 0.11 or higher.\n", "Normal" }, + { "WARNING: ", "WarningMsg" }, + { "Please update Neovim to use this configuration.", "Normal" }, + }, true, {}) + return +end + -- Set leader keys before lazy loads vim.g.mapleader = " " vim.g.maplocalleader = " " diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..cceedb0 --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,12 @@ +{ + "conjure": { "branch": "main", "commit": "403639610bcb9b6a5dfc494dc3179cc19773a471" }, + "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, + "nfnl": { "branch": "main", "commit": "fecf731e02bc51d88372c4f992fe1ef0c19c02ae" }, + "nvim-paredit": { "branch": "master", "commit": "b6ba636874a3115d944e35746444724240568aca" }, + "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, + "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }, + "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } +} diff --git a/lua/bootstrap.lua b/lua/bootstrap.lua index f0c89d4..8a5e575 100644 --- a/lua/bootstrap.lua +++ b/lua/bootstrap.lua @@ -16,17 +16,16 @@ return { }, { "nvim-treesitter/nvim-treesitter", + branch = "main", build = ":TSUpdate", config = function() local langs = { "clojure", "fennel", "lua", "vim", "vimdoc", "query" } -- Install parsers asynchronously on first load vim.schedule(function() - local installed = require("nvim-treesitter").get_installed() - for _, lang in ipairs(langs) do - if not vim.list_contains(installed, lang) then - require("nvim-treesitter").install(lang) - end + local ok, ts = pcall(require, "nvim-treesitter") + if ok and ts.install then + ts.install(langs) end end)