diff --git a/lazy-lock.json b/lazy-lock.json index e2b4d99..6d4ff31 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -12,9 +12,10 @@ "mason.nvim": { "branch": "main", "commit": "cb8445f8ce85d957416c106b780efd51c6298f89" }, "nvim-dap": { "branch": "master", "commit": "45a69eba683a2c448dd9ecfc4de89511f0646b5f" }, "nvim-lspconfig": { "branch": "master", "commit": "31026a13eefb20681124706a79fc1df6bf11ab27" }, - "nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" }, + "nvim-treesitter": { "branch": "master", "commit": "cf12346a3414fa1b06af75c79faebe7f76df080a" }, "nvim-web-devicons": { "branch": "master", "commit": "4fc505ac7bd7692824a142e96e5f529c133862f8" }, "oil.nvim": { "branch": "master", "commit": "0fcc83805ad11cf714a949c98c605ed717e0b83e" }, + "pi.nvim": { "branch": "main", "commit": "6e86a704ed6ff488fda78b64f4e564d6ee620785" }, "plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" }, "render-markdown.nvim": { "branch": "main", "commit": "3f3eea97b80839f629c951ca660ffd125bfa5b34" }, "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua index de3f5d8..56b757d 100644 --- a/lua/plugins/colorscheme.lua +++ b/lua/plugins/colorscheme.lua @@ -10,6 +10,10 @@ return { vim.cmd.colorscheme("anticuus") local highlights = { + Normal = { bg = "NONE" }, + NormalNC = { bg = "NONE" }, + EndOfBuffer = { bg = "NONE" }, + Comment = { fg = "#5a5a5a", italic = true }, ["@comment"] = { fg = "#5a5a5a", italic = true }, diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index c62fa96..890415b 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -4,7 +4,7 @@ -- Servers to ensure are installed via Mason. local mason_ensure_installed = { "lua_ls", -- Neovim config - "nil_ls", -- Nix (nixd not available in Mason) + "clangd", -- C/C++ "bashls", -- Shell scripts "jsonls", -- JSON configs "html", -- HTML @@ -25,9 +25,7 @@ local treesitter_parsers = { "markdown", "markdown_inline", "html", - "html_tags", "javascript", - "jsx", "css", "vim", "git_config", @@ -95,7 +93,7 @@ return { return end - require("nvim-treesitter").install(missing) + require("nvim-treesitter.install").ensure_installed(missing) end local function tree_sitter_cli_works() @@ -172,7 +170,7 @@ return { end) end - local installed = require("nvim-treesitter.config").get_installed() + local installed = require("nvim-treesitter.info").installed_parsers() local missing = vim.iter(treesitter_parsers) :filter(function(parser) return not vim.tbl_contains(installed, parser) @@ -214,6 +212,25 @@ return { ensure_installed = mason_ensure_installed, automatic_installation = false, -- Only install what's in ensure_installed }) + + local registry_ok, registry = pcall(require, "mason-registry") + if not registry_ok then + return + end + + registry.refresh(function() + local package_ok, package = pcall(registry.get_package, "nil") + if not package_ok then + vim.notify_once("Mason registry does not include nil", vim.log.levels.WARN) + return + end + + if package:is_installed() or package:is_installing() then + return + end + + package:install() + end) end }, diff --git a/lua/plugins/pi.lua b/lua/plugins/pi.lua new file mode 100644 index 0000000..6f356b8 --- /dev/null +++ b/lua/plugins/pi.lua @@ -0,0 +1,18 @@ +return { + { + "pablopunk/pi.nvim", + config = function() + require("pi").setup({ + log_path = vim.fn.stdpath("state") .. "/pi-nvim.log", + }) + + require("which-key").add({ + { "a", group = "AI" }, + { "aa", "PiAsk", desc = "Ask Pi" }, + { "al", "PiLog", desc = "Pi Log" }, + { "ax", "PiCancel", desc = "Cancel Pi" }, + { "aa", "PiAskSelection", mode = "v", desc = "Ask Pi" }, + }) + end, + }, +} diff --git a/lua/plugins/which-key.lua b/lua/plugins/which-key.lua index 3249172..8533891 100644 --- a/lua/plugins/which-key.lua +++ b/lua/plugins/which-key.lua @@ -59,6 +59,7 @@ return { { "[d", vim.diagnostic.goto_prev, desc = "Prev Diagnostic" }, { "G", group = "Git"}, + { "a", group = "AI"}, { "f", group = "Files"}, { "c", group = "Code"}, { "d", group = "Debug"},