From dbafd6aa5e15609e2b719a3bdac0c4968fb9eb2c Mon Sep 17 00:00:00 2001 From: YuKun Liu Date: Mon, 9 Dec 2024 00:50:13 -0800 Subject: [PATCH 001/187] Fix: Harpoon 2 Link (#124) --- docs/extras/editor/harpoon2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/extras/editor/harpoon2.md b/docs/extras/editor/harpoon2.md index 69e65c1c75..76e2d06da0 100644 --- a/docs/extras/editor/harpoon2.md +++ b/docs/extras/editor/harpoon2.md @@ -32,7 +32,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [harpoon](https://github.com/ThePrimeagen/harpoon) +## [harpoon](https://github.com/ThePrimeagen/harpoon/tree/harpoon2) From 90aa2071bb78f432f6082751974c0de251a41524 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 9 Dec 2024 08:50:38 +0000 Subject: [PATCH 002/187] chore(build): auto-generate docs --- docs/extras/editor/harpoon2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/extras/editor/harpoon2.md b/docs/extras/editor/harpoon2.md index 76e2d06da0..69e65c1c75 100644 --- a/docs/extras/editor/harpoon2.md +++ b/docs/extras/editor/harpoon2.md @@ -32,7 +32,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [harpoon](https://github.com/ThePrimeagen/harpoon/tree/harpoon2) +## [harpoon](https://github.com/ThePrimeagen/harpoon) From 9d9403ba37e0eaa7d906aebbebd515390a90576f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 10 Dec 2024 01:43:40 +0000 Subject: [PATCH 003/187] chore(build): auto-generate docs --- docs/configuration/general.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index ca2c8bf0ab..fd490370e0 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -474,7 +474,6 @@ vim.api.nvim_create_autocmd("FileType", { "neotest-summary", "notify", "qf", - "snacks_win", "spectre_panel", "startuptime", "tsplayground", From 1d84dc06b7e4dc61a9125feedfa8bf1cf64baf4c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 11 Dec 2024 10:22:39 +0000 Subject: [PATCH 004/187] chore(build): auto-generate docs --- docs/extras/ai/copilot.md | 8 ++----- docs/extras/coding/blink.md | 39 +++++++++++++---------------------- docs/extras/coding/luasnip.md | 2 ++ docs/extras/lang/sql.md | 8 ++----- 4 files changed, 20 insertions(+), 37 deletions(-) diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index 15cfa5169f..e5c7954605 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -378,9 +378,7 @@ end ```lua opts = { sources = { - completion = { - enabled_providers = { "copilot" }, - }, + default = { "copilot" }, providers = { copilot = { name = "copilot", @@ -404,9 +402,7 @@ opts = { dependencies = { "giuxtaposition/blink-cmp-copilot" }, opts = { sources = { - completion = { - enabled_providers = { "copilot" }, - }, + default = { "copilot" }, providers = { copilot = { name = "copilot", diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index eeff7ae384..90eed281be 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -88,10 +88,7 @@ opts = { -- adding any nvim-cmp sources here will enable them -- with blink.compat compat = {}, - completion = { - -- remember to enable your providers here - enabled_providers = { "lsp", "path", "snippets", "buffer" }, - }, + default = { "lsp", "path", "snippets", "buffer" }, }, keymap = { @@ -117,6 +114,7 @@ opts = { opts_extend = { "sources.completion.enabled_providers", "sources.compat", + "sources.default", }, dependencies = { "rafamadriz/friendly-snippets", @@ -170,10 +168,7 @@ opts = { -- adding any nvim-cmp sources here will enable them -- with blink.compat compat = {}, - completion = { - -- remember to enable your providers here - enabled_providers = { "lsp", "path", "snippets", "buffer" }, - }, + default = { "lsp", "path", "snippets", "buffer" }, }, keymap = { @@ -187,7 +182,7 @@ opts = { ---@param opts blink.cmp.Config | { sources: { compat: string[] } } config = function(_, opts) -- setup compat sources - local enabled = opts.sources.completion.enabled_providers + local enabled = opts.sources.default for _, source in ipairs(opts.sources.compat or {}) do opts.sources.providers[source] = vim.tbl_deep_extend( "force", @@ -199,6 +194,12 @@ opts = { end end + -- TODO: remove when blink made a new release > 0.7.6 + if not vim.g.lazyvim_blink_main then + opts.sources.completion = opts.sources.completion or {} + opts.sources.completion.enabled_providers = enabled + end + -- check if we need to override symbol kinds for _, provider in pairs(opts.sources.providers or {}) do ---@cast provider blink.cmp.SourceProviderConfig|{kind?:string} @@ -306,15 +307,9 @@ end ```lua opts = { sources = { - completion = { - -- add lazydev to your completion providers - enabled_providers = { "lazydev" }, - }, + -- add lazydev to your completion providers + default = { "lazydev" }, providers = { - lsp = { - -- dont show LuaLS require statements when lazydev has items - fallback_for = { "lazydev" }, - }, lazydev = { name = "LazyDev", module = "lazydev.integrations.blink", @@ -334,15 +329,9 @@ opts = { "saghen/blink.cmp", opts = { sources = { - completion = { - -- add lazydev to your completion providers - enabled_providers = { "lazydev" }, - }, + -- add lazydev to your completion providers + default = { "lazydev" }, providers = { - lsp = { - -- dont show LuaLS require statements when lazydev has items - fallback_for = { "lazydev" }, - }, lazydev = { name = "LazyDev", module = "lazydev.integrations.blink", diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index d1cba40817..bdf463afb2 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -65,6 +65,7 @@ opts = { "rafamadriz/friendly-snippets", config = function() require("luasnip.loaders.from_vscode").lazy_load() + require("luasnip.loaders.from_vscode").lazy_load({ paths = { vim.fn.stdpath("config") .. "/snippets" } }) end, }, }, @@ -99,6 +100,7 @@ opts = {} "rafamadriz/friendly-snippets", config = function() require("luasnip.loaders.from_vscode").lazy_load() + require("luasnip.loaders.from_vscode").lazy_load({ paths = { vim.fn.stdpath("config") .. "/snippets" } }) end, } ``` diff --git a/docs/extras/lang/sql.md b/docs/extras/lang/sql.md index 87ddc6d983..889774c916 100644 --- a/docs/extras/lang/sql.md +++ b/docs/extras/lang/sql.md @@ -345,9 +345,7 @@ end ```lua opts = { sources = { - completion = { - enabled_providers = { "dadbod" }, - }, + default = { "dadbod" }, providers = { dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" }, }, @@ -366,9 +364,7 @@ opts = { optional = true, opts = { sources = { - completion = { - enabled_providers = { "dadbod" }, - }, + default = { "dadbod" }, providers = { dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" }, }, From 457d4e4d97e67061d14f32e82e34071c0458108e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 11 Dec 2024 17:18:07 +0000 Subject: [PATCH 005/187] chore(build): auto-generate docs --- docs/configuration/general.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index fd490370e0..fbf89feac2 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -398,7 +398,12 @@ end ```lua title="lua/config/autocmds.lua" -- Autocmds are automatically loaded on the VeryLazy event -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- -- Add any additional autocmds here +-- with `vim.api.nvim_create_autocmd` +-- +-- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults) +-- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell") ``` From 5aa8acecaac45817ac25bbcd49e13a5eba720a87 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Dec 2024 06:29:55 +0000 Subject: [PATCH 006/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 90eed281be..3192d3cf48 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -204,7 +204,12 @@ opts = { for _, provider in pairs(opts.sources.providers or {}) do ---@cast provider blink.cmp.SourceProviderConfig|{kind?:string} if provider.kind then - require("blink.cmp.types").CompletionItemKind[provider.kind] = provider.kind + local CompletionItemKind = require("blink.cmp.types").CompletionItemKind + local kind_idx = #CompletionItemKind + 1 + + CompletionItemKind[kind_idx] = provider.kind + CompletionItemKind[provider.kind] = kind_idx + ---@type fun(ctx: blink.cmp.Context, items: blink.cmp.CompletionItem[]): blink.cmp.CompletionItem[] local transform_items = provider.transform_items ---@param ctx blink.cmp.Context @@ -212,7 +217,7 @@ opts = { provider.transform_items = function(ctx, items) items = transform_items and transform_items(ctx, items) or items for _, item in ipairs(items) do - item.kind = provider.kind or item.kind + item.kind = kind_idx or item.kind end return items end From 13ca73a57951ee12dc24bb319ffc4594130f7f86 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Dec 2024 13:47:58 +0000 Subject: [PATCH 007/187] chore(build): auto-generate docs --- docs/configuration/general.md | 19 +- docs/extras/ai/codeium.md | 2 +- docs/extras/ai/copilot.md | 10 +- docs/extras/ai/tabnine.md | 2 +- docs/extras/coding/luasnip.md | 2 +- docs/extras/coding/nvim-cmp.md | 392 ++++++++++++++++++++++++++ docs/extras/dap/core.md | 3 +- docs/extras/editor/telescope.md | 439 ----------------------------- docs/extras/lang/clangd.md | 2 +- docs/extras/lang/git.md | 37 +-- docs/extras/lang/python.md | 46 --- docs/extras/ui/indent-blankline.md | 168 +++++++++++ docs/extras/ui/mini-animate.md | 37 ++- docs/keymaps.md | 153 ++++------ docs/news.md | 61 ++++ docs/plugins/coding.md | 393 +------------------------- docs/plugins/editor.md | 6 + docs/plugins/ui.md | 172 ++++------- docs/plugins/util.md | 61 ++++ 19 files changed, 887 insertions(+), 1118 deletions(-) create mode 100644 docs/extras/coding/nvim-cmp.md create mode 100644 docs/extras/ui/indent-blankline.md diff --git a/docs/configuration/general.md b/docs/configuration/general.md index fbf89feac2..03ae3ebf6a 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -57,12 +57,22 @@ vim.g.maplocalleader = "\\" -- LazyVim auto format vim.g.autoformat = true +-- Snacks animations +-- Set to `false` to globally disable all snacks animations +vim.g.snacks_animate = true + -- LazyVim picker to use. -- Can be one of: telescope, fzf -- Leave it to "auto" to automatically use the picker -- enabled with `:LazyExtras` vim.g.lazyvim_picker = "auto" +-- LazyVim completion engine to use. +-- Can be one of: nvim-cmp, blink.cmp +-- Leave it to "auto" to automatically use the completion engine +-- enabled with `:LazyExtras` +vim.g.lazyvim_cmp = "auto" + -- if the completion engine supports the AI source, -- use that instead of inline suggestions vim.g.ai_cmp = true @@ -320,6 +330,12 @@ Snacks.toggle.option("conceallevel", {off = 0, on = vim.o.conceallevel > 0 and v Snacks.toggle.option("showtabline", {off = 0, on = vim.o.showtabline > 0 and vim.o.showtabline or 2, name = "Tabline"}):map("uA") Snacks.toggle.treesitter():map("uT") Snacks.toggle.option("background", { off = "light", on = "dark" , name = "Dark Background"}):map("ub") +Snacks.toggle.dim():map("uD") +Snacks.toggle.animate():map("ua") +Snacks.toggle.indent():map("ug") +Snacks.toggle.scroll():map("uS") +Snacks.toggle.profiler():map("dpp") +Snacks.toggle.profiler_highlights():map("dph") if vim.lsp.inlay_hint then Snacks.toggle.inlay_hints():map("uh") end @@ -364,7 +380,8 @@ map("n", "w", "", { desc = "Windows", remap = true }) map("n", "-", "s", { desc = "Split Window Below", remap = true }) map("n", "|", "v", { desc = "Split Window Right", remap = true }) map("n", "wd", "c", { desc = "Delete Window", remap = true }) -LazyVim.ui.maximize():map("wm") +Snacks.toggle.zoom():map("wm"):map("uZ") +Snacks.toggle.zen():map("uz") -- tabs map("n", "l", "tablast", { desc = "Last Tab" }) diff --git a/docs/extras/ai/codeium.md b/docs/extras/ai/codeium.md index c62a4700d1..aa72782768 100644 --- a/docs/extras/ai/codeium.md +++ b/docs/extras/ai/codeium.md @@ -223,7 +223,7 @@ end ```lua { - "nvim-cmp", + "hrsh7th/nvim-cmp", optional = true, dependencies = { "codeium.nvim" }, opts = function(_, opts) diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index e5c7954605..59878b21db 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -160,7 +160,6 @@ opts = {} ```lua { "zbirenbaum/copilot-cmp", - enabled = vim.g.ai_cmp, -- only enable if wanted opts = {}, config = function(_, opts) local copilot_cmp = require("copilot_cmp") @@ -173,7 +172,7 @@ opts = {} end, specs = { { - "nvim-cmp", + "hrsh7th/nvim-cmp", optional = true, ---@param opts cmp.ConfigSchema opts = function(_, opts) @@ -290,12 +289,11 @@ opts = nil ```lua { - "nvim-cmp", + "hrsh7th/nvim-cmp", optional = true, dependencies = { -- this will only be evaluated if nvim-cmp is enabled { "zbirenbaum/copilot-cmp", - enabled = vim.g.ai_cmp, -- only enable if wanted opts = {}, config = function(_, opts) local copilot_cmp = require("copilot_cmp") @@ -308,7 +306,7 @@ opts = nil end, specs = { { - "nvim-cmp", + "hrsh7th/nvim-cmp", optional = true, ---@param opts cmp.ConfigSchema opts = function(_, opts) @@ -352,7 +350,7 @@ end ```lua { - "nvim-cmp", + "hrsh7th/nvim-cmp", optional = true, ---@param opts cmp.ConfigSchema opts = function(_, opts) diff --git a/docs/extras/ai/tabnine.md b/docs/extras/ai/tabnine.md index f2470d060c..36fb136fbc 100644 --- a/docs/extras/ai/tabnine.md +++ b/docs/extras/ai/tabnine.md @@ -172,7 +172,7 @@ end ```lua { - "nvim-cmp", + "hrsh7th/nvim-cmp", optional = true, dependencies = { "tzachar/cmp-tabnine" }, ---@param opts cmp.ConfigSchema diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index bdf463afb2..b58ae9f035 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -248,7 +248,7 @@ end ```lua { - "nvim-cmp", + "hrsh7th/nvim-cmp", optional = true, dependencies = { "saadparwaiz1/cmp_luasnip" }, opts = function(_, opts) diff --git a/docs/extras/coding/nvim-cmp.md b/docs/extras/coding/nvim-cmp.md new file mode 100644 index 0000000000..95b2611338 --- /dev/null +++ b/docs/extras/coding/nvim-cmp.md @@ -0,0 +1,392 @@ +# `Nvim-cmp` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +
+Alternatively, you can add it to your lazy.nvim imports + +```lua title="lua/config/lazy.lua" {4} +require("lazy").setup({ + spec = { + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + { import = "lazyvim.plugins.extras.coding.nvim-cmp" }, + { import = "plugins" }, + }, +}) +``` + +
+ +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) + + Setup nvim-cmp + + + + + + +```lua +opts = function() + vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) + local cmp = require("cmp") + local defaults = require("cmp.config.default")() + local auto_select = true + return { + auto_brackets = {}, -- configure any filetype to auto add brackets + completion = { + completeopt = "menu,menuone,noinsert" .. (auto_select and "" or ",noselect"), + }, + preselect = auto_select and cmp.PreselectMode.Item or cmp.PreselectMode.None, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), + [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), + [""] = cmp.mapping.complete(), + [""] = LazyVim.cmp.confirm({ select = auto_select }), + [""] = LazyVim.cmp.confirm({ select = true }), + [""] = LazyVim.cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = function(fallback) + cmp.abort() + fallback() + end, + [""] = function(fallback) + return LazyVim.cmp.map({ "snippet_forward", "ai_accept" }, fallback)() + end, + }), + sources = cmp.config.sources({ + { name = "lazydev" }, + { name = "nvim_lsp" }, + { name = "path" }, + }, { + { name = "buffer" }, + }), + formatting = { + format = function(entry, item) + local icons = LazyVim.config.icons.kinds + if icons[item.kind] then + item.kind = icons[item.kind] .. item.kind + end + + local widths = { + abbr = vim.g.cmp_widths and vim.g.cmp_widths.abbr or 40, + menu = vim.g.cmp_widths and vim.g.cmp_widths.menu or 30, + } + + for key, width in pairs(widths) do + if item[key] and vim.fn.strdisplaywidth(item[key]) > width then + item[key] = vim.fn.strcharpart(item[key], 0, width - 1) .. "…" + end + end + + return item + end, + }, + experimental = { + -- only show ghost text when we show ai completions + ghost_text = vim.g.ai_cmp and { + hl_group = "CmpGhostText", + } or false, + }, + sorting = defaults.sorting, + } +end +``` + + + + + + +```lua +{ + "hrsh7th/nvim-cmp", + version = false, -- last release is way too old + event = "InsertEnter", + dependencies = { + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", + }, + -- Not all LSP servers add brackets when completing a function. + -- To better deal with this, LazyVim adds a custom option to cmp, + -- that you can configure. For example: + -- + -- ```lua + -- opts = { + -- auto_brackets = { "python" } + -- } + -- ``` + opts = function() + vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) + local cmp = require("cmp") + local defaults = require("cmp.config.default")() + local auto_select = true + return { + auto_brackets = {}, -- configure any filetype to auto add brackets + completion = { + completeopt = "menu,menuone,noinsert" .. (auto_select and "" or ",noselect"), + }, + preselect = auto_select and cmp.PreselectMode.Item or cmp.PreselectMode.None, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), + [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), + [""] = cmp.mapping.complete(), + [""] = LazyVim.cmp.confirm({ select = auto_select }), + [""] = LazyVim.cmp.confirm({ select = true }), + [""] = LazyVim.cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = function(fallback) + cmp.abort() + fallback() + end, + [""] = function(fallback) + return LazyVim.cmp.map({ "snippet_forward", "ai_accept" }, fallback)() + end, + }), + sources = cmp.config.sources({ + { name = "lazydev" }, + { name = "nvim_lsp" }, + { name = "path" }, + }, { + { name = "buffer" }, + }), + formatting = { + format = function(entry, item) + local icons = LazyVim.config.icons.kinds + if icons[item.kind] then + item.kind = icons[item.kind] .. item.kind + end + + local widths = { + abbr = vim.g.cmp_widths and vim.g.cmp_widths.abbr or 40, + menu = vim.g.cmp_widths and vim.g.cmp_widths.menu or 30, + } + + for key, width in pairs(widths) do + if item[key] and vim.fn.strdisplaywidth(item[key]) > width then + item[key] = vim.fn.strcharpart(item[key], 0, width - 1) .. "…" + end + end + + return item + end, + }, + experimental = { + -- only show ghost text when we show ai completions + ghost_text = vim.g.ai_cmp and { + hl_group = "CmpGhostText", + } or false, + }, + sorting = defaults.sorting, + } + end, + main = "lazyvim.util.cmp", +} +``` + + + + + +## [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-path", +} +``` + + + + + +## [cmp-buffer](https://github.com/hrsh7th/cmp-buffer) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +"hrsh7th/cmp-buffer" +``` + + + + + +## [cmp-path](https://github.com/hrsh7th/cmp-path) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +"hrsh7th/cmp-path" +``` + + + + + +## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) + + snippets + + + + + + +```lua +opts = function(_, opts) + opts.snippet = { + expand = function(item) + return LazyVim.cmp.expand(item.body) + end, + } + if LazyVim.has("nvim-snippets") then + table.insert(opts.sources, { name = "snippets" }) + end +end +``` + + + + + + +```lua +{ + "hrsh7th/nvim-cmp", + dependencies = { + { + "garymjr/nvim-snippets", + opts = { + friendly_snippets = true, + }, + dependencies = { "rafamadriz/friendly-snippets" }, + }, + }, + opts = function(_, opts) + opts.snippet = { + expand = function(item) + return LazyVim.cmp.expand(item.body) + end, + } + if LazyVim.has("nvim-snippets") then + table.insert(opts.sources, { name = "snippets" }) + end + end, +} +``` + + + + + +## [nvim-snippets](https://github.com/garymjr/nvim-snippets) + + + + + +```lua +opts = { + friendly_snippets = true, +} +``` + + + + + + +```lua +{ + "garymjr/nvim-snippets", + opts = { + friendly_snippets = true, + }, + dependencies = { "rafamadriz/friendly-snippets" }, +} +``` + + + + + +## [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "rafamadriz/friendly-snippets" } +``` + + + + + + diff --git a/docs/extras/dap/core.md b/docs/extras/dap/core.md index a097e1a5d4..eedc4473c0 100644 --- a/docs/extras/dap/core.md +++ b/docs/extras/dap/core.md @@ -64,7 +64,6 @@ opts = {} -- stylua: ignore keys = { - { "d", "", desc = "+debug", mode = {"n", "v"} }, { "dB", function() require("dap").set_breakpoint(vim.fn.input('Breakpoint condition: ')) end, desc = "Breakpoint Condition" }, { "db", function() require("dap").toggle_breakpoint() end, desc = "Toggle Breakpoint" }, { "dc", function() require("dap").continue() end, desc = "Run/Continue" }, @@ -77,7 +76,7 @@ opts = {} { "dl", function() require("dap").run_last() end, desc = "Run Last" }, { "do", function() require("dap").step_out() end, desc = "Step Out" }, { "dO", function() require("dap").step_over() end, desc = "Step Over" }, - { "dp", function() require("dap").pause() end, desc = "Pause" }, + { "dP", function() require("dap").pause() end, desc = "Pause" }, { "dr", function() require("dap").repl.toggle() end, desc = "Toggle REPL" }, { "ds", function() require("dap").session() end, desc = "Session" }, { "dt", function() require("dap").terminate() end, desc = "Terminate" }, diff --git a/docs/extras/editor/telescope.md b/docs/extras/editor/telescope.md index 521c60cfa4..4f3577d52b 100644 --- a/docs/extras/editor/telescope.md +++ b/docs/extras/editor/telescope.md @@ -42,445 +42,6 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) - - Fuzzy finder. - The default key bindings to find files will use Telescope's - `find_files` or `git_files` depending on whether the - directory is a git repo. - - - - - - -```lua -opts = function() - local actions = require("telescope.actions") - - local open_with_trouble = function(...) - return require("trouble.sources.telescope").open(...) - end - local find_files_no_ignore = function() - local action_state = require("telescope.actions.state") - local line = action_state.get_current_line() - LazyVim.pick("find_files", { no_ignore = true, default_text = line })() - end - local find_files_with_hidden = function() - local action_state = require("telescope.actions.state") - local line = action_state.get_current_line() - LazyVim.pick("find_files", { hidden = true, default_text = line })() - end - - local function find_command() - if 1 == vim.fn.executable("rg") then - return { "rg", "--files", "--color", "never", "-g", "!.git" } - elseif 1 == vim.fn.executable("fd") then - return { "fd", "--type", "f", "--color", "never", "-E", ".git" } - elseif 1 == vim.fn.executable("fdfind") then - return { "fdfind", "--type", "f", "--color", "never", "-E", ".git" } - elseif 1 == vim.fn.executable("find") and vim.fn.has("win32") == 0 then - return { "find", ".", "-type", "f" } - elseif 1 == vim.fn.executable("where") then - return { "where", "/r", ".", "*" } - end - end - - return { - defaults = { - prompt_prefix = " ", - selection_caret = " ", - -- open files in the first window that is an actual file. - -- use the current window if no other window is available. - get_selection_window = function() - local wins = vim.api.nvim_list_wins() - table.insert(wins, 1, vim.api.nvim_get_current_win()) - for _, win in ipairs(wins) do - local buf = vim.api.nvim_win_get_buf(win) - if vim.bo[buf].buftype == "" then - return win - end - end - return 0 - end, - mappings = { - i = { - [""] = open_with_trouble, - [""] = open_with_trouble, - [""] = find_files_no_ignore, - [""] = find_files_with_hidden, - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - [""] = actions.preview_scrolling_down, - [""] = actions.preview_scrolling_up, - }, - n = { - ["q"] = actions.close, - }, - }, - }, - pickers = { - find_files = { - find_command = find_command, - hidden = true, - }, - }, - } -end -``` - - - - - - -```lua -{ - "nvim-telescope/telescope.nvim", - cmd = "Telescope", - enabled = function() - return LazyVim.pick.want() == "telescope" - end, - version = false, -- telescope did only one release, so use HEAD for now - dependencies = { - { - "nvim-telescope/telescope-fzf-native.nvim", - build = (build_cmd ~= "cmake") and "make" - or "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build", - enabled = build_cmd ~= nil, - config = function(plugin) - LazyVim.on_load("telescope.nvim", function() - local ok, err = pcall(require("telescope").load_extension, "fzf") - if not ok then - local lib = plugin.dir .. "/build/libfzf." .. (LazyVim.is_win() and "dll" or "so") - if not vim.uv.fs_stat(lib) then - LazyVim.warn("`telescope-fzf-native.nvim` not built. Rebuilding...") - require("lazy").build({ plugins = { plugin }, show = false }):wait(function() - LazyVim.info("Rebuilding `telescope-fzf-native.nvim` done.\nPlease restart Neovim.") - end) - else - LazyVim.error("Failed to load `telescope-fzf-native.nvim`:\n" .. err) - end - end - end) - end, - }, - }, - keys = { - { - ",", - "Telescope buffers sort_mru=true sort_lastused=true", - desc = "Switch Buffer", - }, - { "/", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" }, - { ":", "Telescope command_history", desc = "Command History" }, - { "", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, - -- find - { - "fb", - "Telescope buffers sort_mru=true sort_lastused=true ignore_current_buffer=true", - desc = "Buffers", - }, - { "fc", LazyVim.pick.config_files(), desc = "Find Config File" }, - { "ff", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, - { "fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, - { "fg", "Telescope git_files", desc = "Find Files (git-files)" }, - { "fr", "Telescope oldfiles", desc = "Recent" }, - { "fR", LazyVim.pick("oldfiles", { cwd = vim.uv.cwd() }), desc = "Recent (cwd)" }, - -- git - { "gc", "Telescope git_commits", desc = "Commits" }, - { "gs", "Telescope git_status", desc = "Status" }, - -- search - { 's"', "Telescope registers", desc = "Registers" }, - { "sa", "Telescope autocommands", desc = "Auto Commands" }, - { "sb", "Telescope current_buffer_fuzzy_find", desc = "Buffer" }, - { "sc", "Telescope command_history", desc = "Command History" }, - { "sC", "Telescope commands", desc = "Commands" }, - { "sd", "Telescope diagnostics bufnr=0", desc = "Document Diagnostics" }, - { "sD", "Telescope diagnostics", desc = "Workspace Diagnostics" }, - { "sg", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" }, - { "sG", LazyVim.pick("live_grep", { root = false }), desc = "Grep (cwd)" }, - { "sh", "Telescope help_tags", desc = "Help Pages" }, - { "sH", "Telescope highlights", desc = "Search Highlight Groups" }, - { "sj", "Telescope jumplist", desc = "Jumplist" }, - { "sk", "Telescope keymaps", desc = "Key Maps" }, - { "sl", "Telescope loclist", desc = "Location List" }, - { "sM", "Telescope man_pages", desc = "Man Pages" }, - { "sm", "Telescope marks", desc = "Jump to Mark" }, - { "so", "Telescope vim_options", desc = "Options" }, - { "sR", "Telescope resume", desc = "Resume" }, - { "sq", "Telescope quickfix", desc = "Quickfix List" }, - { "sw", LazyVim.pick("grep_string", { word_match = "-w" }), desc = "Word (Root Dir)" }, - { "sW", LazyVim.pick("grep_string", { root = false, word_match = "-w" }), desc = "Word (cwd)" }, - { "sw", LazyVim.pick("grep_string"), mode = "v", desc = "Selection (Root Dir)" }, - { "sW", LazyVim.pick("grep_string", { root = false }), mode = "v", desc = "Selection (cwd)" }, - { "uC", LazyVim.pick("colorscheme", { enable_preview = true }), desc = "Colorscheme with Preview" }, - { - "ss", - function() - require("telescope.builtin").lsp_document_symbols({ - symbols = LazyVim.config.get_kind_filter(), - }) - end, - desc = "Goto Symbol", - }, - { - "sS", - function() - require("telescope.builtin").lsp_dynamic_workspace_symbols({ - symbols = LazyVim.config.get_kind_filter(), - }) - end, - desc = "Goto Symbol (Workspace)", - }, - }, - opts = function() - local actions = require("telescope.actions") - - local open_with_trouble = function(...) - return require("trouble.sources.telescope").open(...) - end - local find_files_no_ignore = function() - local action_state = require("telescope.actions.state") - local line = action_state.get_current_line() - LazyVim.pick("find_files", { no_ignore = true, default_text = line })() - end - local find_files_with_hidden = function() - local action_state = require("telescope.actions.state") - local line = action_state.get_current_line() - LazyVim.pick("find_files", { hidden = true, default_text = line })() - end - - local function find_command() - if 1 == vim.fn.executable("rg") then - return { "rg", "--files", "--color", "never", "-g", "!.git" } - elseif 1 == vim.fn.executable("fd") then - return { "fd", "--type", "f", "--color", "never", "-E", ".git" } - elseif 1 == vim.fn.executable("fdfind") then - return { "fdfind", "--type", "f", "--color", "never", "-E", ".git" } - elseif 1 == vim.fn.executable("find") and vim.fn.has("win32") == 0 then - return { "find", ".", "-type", "f" } - elseif 1 == vim.fn.executable("where") then - return { "where", "/r", ".", "*" } - end - end - - return { - defaults = { - prompt_prefix = " ", - selection_caret = " ", - -- open files in the first window that is an actual file. - -- use the current window if no other window is available. - get_selection_window = function() - local wins = vim.api.nvim_list_wins() - table.insert(wins, 1, vim.api.nvim_get_current_win()) - for _, win in ipairs(wins) do - local buf = vim.api.nvim_win_get_buf(win) - if vim.bo[buf].buftype == "" then - return win - end - end - return 0 - end, - mappings = { - i = { - [""] = open_with_trouble, - [""] = open_with_trouble, - [""] = find_files_no_ignore, - [""] = find_files_with_hidden, - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - [""] = actions.preview_scrolling_down, - [""] = actions.preview_scrolling_up, - }, - n = { - ["q"] = actions.close, - }, - }, - }, - pickers = { - find_files = { - find_command = find_command, - hidden = true, - }, - }, - } - end, -} -``` - - - - - -## [dressing.nvim](https://github.com/stevearc/dressing.nvim) - - better vim.ui with telescope - - - - - - -```lua -opts = nil -``` - - - - - - -```lua -{ - "stevearc/dressing.nvim", - lazy = true, - enabled = function() - return LazyVim.pick.want() == "telescope" - end, - init = function() - ---@diagnostic disable-next-line: duplicate-set-field - vim.ui.select = function(...) - require("lazy").load({ plugins = { "dressing.nvim" } }) - return vim.ui.select(...) - end - ---@diagnostic disable-next-line: duplicate-set-field - vim.ui.input = function(...) - require("lazy").load({ plugins = { "dressing.nvim" } }) - return vim.ui.input(...) - end - end, -} -``` - - - - - -## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) - - Flash Telescope config - - - - - - -```lua -opts = function(_, opts) - if not LazyVim.has("flash.nvim") then - return - end - local function flash(prompt_bufnr) - require("flash").jump({ - pattern = "^", - label = { after = { 0, 0 } }, - search = { - mode = "search", - exclude = { - function(win) - return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "TelescopeResults" - end, - }, - }, - action = function(match) - local picker = require("telescope.actions.state").get_current_picker(prompt_bufnr) - picker:set_selection(match.pos[1] - 1) - end, - }) - end - opts.defaults = vim.tbl_deep_extend("force", opts.defaults or {}, { - mappings = { n = { s = flash }, i = { [""] = flash } }, - }) -end -``` - - - - - - -```lua -{ - "nvim-telescope/telescope.nvim", - optional = true, - opts = function(_, opts) - if not LazyVim.has("flash.nvim") then - return - end - local function flash(prompt_bufnr) - require("flash").jump({ - pattern = "^", - label = { after = { 0, 0 } }, - search = { - mode = "search", - exclude = { - function(win) - return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "TelescopeResults" - end, - }, - }, - action = function(match) - local picker = require("telescope.actions.state").get_current_picker(prompt_bufnr) - picker:set_selection(match.pos[1] - 1) - end, - }) - end - opts.defaults = vim.tbl_deep_extend("force", opts.defaults or {}, { - mappings = { n = { s = flash }, i = { [""] = flash } }, - }) - end, -} -``` - - - - - -## [telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim) - - - - - -```lua -opts = {} -``` - - - - - - -```lua -{ - "nvim-telescope/telescope-fzf-native.nvim", - build = (build_cmd ~= "cmake") and "make" - or "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build", - enabled = build_cmd ~= nil, - config = function(plugin) - LazyVim.on_load("telescope.nvim", function() - local ok, err = pcall(require("telescope").load_extension, "fzf") - if not ok then - local lib = plugin.dir .. "/build/libfzf." .. (LazyVim.is_win() and "dll" or "so") - if not vim.uv.fs_stat(lib) then - LazyVim.warn("`telescope-fzf-native.nvim` not built. Rebuilding...") - require("lazy").build({ plugins = { plugin }, show = false }):wait(function() - LazyVim.info("Rebuilding `telescope-fzf-native.nvim` done.\nPlease restart Neovim.") - end) - else - LazyVim.error("Failed to load `telescope-fzf-native.nvim`:\n" .. err) - end - end - end) - end, -} -``` - - - - - ## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index 924cf599f5..5da8a0a95e 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -277,7 +277,7 @@ end ```lua { - "nvim-cmp", + "hrsh7th/nvim-cmp", opts = function(_, opts) table.insert(opts.sorting.comparators, 1, require("clangd_extensions.cmp_scores")) end, diff --git a/docs/extras/lang/git.md b/docs/extras/lang/git.md index f7b97b718a..3c93c3a83b 100644 --- a/docs/extras/lang/git.md +++ b/docs/extras/lang/git.md @@ -61,16 +61,14 @@ opts = { ensure_installed = { "git_config", "gitcommit", "git_rebase", "gitignor -## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) +## [cmp-git](https://github.com/petertriho/cmp-git) ```lua -opts = function(_, opts) - table.insert(opts.sources, { name = "git" }) -end +opts = {} ``` @@ -79,31 +77,23 @@ end ```lua -{ - "nvim-cmp", - dependencies = { - { "petertriho/cmp-git", opts = {} }, - }, - ---@module 'cmp' - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - table.insert(opts.sources, { name = "git" }) - end, -} +{ "petertriho/cmp-git", opts = {} } ``` -## [cmp-git](https://github.com/petertriho/cmp-git) +## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) _(optional)_ ```lua -opts = {} +opts = function(_, opts) + table.insert(opts.sources, { name = "git" }) +end ``` @@ -112,7 +102,18 @@ opts = {} ```lua -{ "petertriho/cmp-git", opts = {} } +{ + "hrsh7th/nvim-cmp", + optional = true, + dependencies = { + { "petertriho/cmp-git", opts = {} }, + }, + ---@module 'cmp' + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + table.insert(opts.sources, { name = "git" }) + end, +} ``` diff --git a/docs/extras/lang/python.md b/docs/extras/lang/python.md index 7f611d75ba..f4788f00de 100644 --- a/docs/extras/lang/python.md +++ b/docs/extras/lang/python.md @@ -266,52 +266,6 @@ opts = {} -## [venv-selector.nvim](https://github.com/linux-cultist/venv-selector.nvim) - - - - - -```lua -opts = { - settings = { - options = { - notify_user_on_venv_activation = true, - }, - }, -} -``` - - - - - - -```lua -{ - "linux-cultist/venv-selector.nvim", - branch = "regexp", -- Use this branch for the new version - cmd = "VenvSelect", - enabled = function() - return LazyVim.has("telescope.nvim") - end, - opts = { - settings = { - options = { - notify_user_on_venv_activation = true, - }, - }, - }, - -- Call config for python files and load the cached venv automatically - ft = "python", - keys = { { "cv", ":VenvSelect", desc = "Select VirtualEnv", ft = "python" } }, -} -``` - - - - - ## [neotest](https://github.com/nvim-neotest/neotest) _(optional)_ diff --git a/docs/extras/ui/indent-blankline.md b/docs/extras/ui/indent-blankline.md new file mode 100644 index 0000000000..1e52d277d1 --- /dev/null +++ b/docs/extras/ui/indent-blankline.md @@ -0,0 +1,168 @@ +# `Indent-blankline` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +
+Alternatively, you can add it to your lazy.nvim imports + +```lua title="lua/config/lazy.lua" {4} +require("lazy").setup({ + spec = { + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + { import = "lazyvim.plugins.extras.ui.indent-blankline" }, + { import = "plugins" }, + }, +}) +``` + +
+ +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + disable snacks indent when indent-blankline is enabled + + + + + + +```lua +opts = { + indent = { enabled = false }, +} +``` + + + + + + +```lua +{ + "snacks.nvim", + opts = { + indent = { enabled = false }, + }, +} +``` + + + + + +## [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) + + + + + +```lua +opts = function() + Snacks.toggle({ + name = "Indention Guides", + get = function() + return require("ibl.config").get_config(0).enabled + end, + set = function(state) + require("ibl").setup_buffer(0, { enabled = state }) + end, + }):map("ug") + + return { + indent = { + char = "│", + tab_char = "│", + }, + scope = { show_start = false, show_end = false }, + exclude = { + filetypes = { + "Trouble", + "alpha", + "dashboard", + "help", + "lazy", + "mason", + "neo-tree", + "notify", + "snacks_dashboard", + "snacks_notif", + "snacks_terminal", + "snacks_win", + "toggleterm", + "trouble", + }, + }, + } +end +``` + + + + + + +```lua +{ + "lukas-reineke/indent-blankline.nvim", + event = "LazyFile", + opts = function() + Snacks.toggle({ + name = "Indention Guides", + get = function() + return require("ibl.config").get_config(0).enabled + end, + set = function(state) + require("ibl").setup_buffer(0, { enabled = state }) + end, + }):map("ug") + + return { + indent = { + char = "│", + tab_char = "│", + }, + scope = { show_start = false, show_end = false }, + exclude = { + filetypes = { + "Trouble", + "alpha", + "dashboard", + "help", + "lazy", + "mason", + "neo-tree", + "notify", + "snacks_dashboard", + "snacks_notif", + "snacks_terminal", + "snacks_win", + "toggleterm", + "trouble", + }, + }, + } + end, + main = "ibl", +} +``` + + + + + + diff --git a/docs/extras/ui/mini-animate.md b/docs/extras/ui/mini-animate.md index b7a12a0533..c48a7508c8 100644 --- a/docs/extras/ui/mini-animate.md +++ b/docs/extras/ui/mini-animate.md @@ -32,8 +32,44 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + disable snacks scroll when animate is enabled + + + + + + +```lua +opts = { + scroll = { enabled = false }, +} +``` + + + + + + +```lua +{ + "snacks.nvim", + opts = { + scroll = { enabled = false }, + }, +} +``` + + + + + ## [mini.animate](https://github.com/echasnovski/mini.animate) + setup animate + + @@ -96,7 +132,6 @@ end ```lua { "echasnovski/mini.animate", - recommended = true, event = "VeryLazy", cond = vim.g.neovide == nil, opts = function(_, opts) diff --git a/docs/keymaps.md b/docs/keymaps.md index a9f0304a9b..2583f3b8e6 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -75,6 +75,12 @@ possible keymaps starting with ``. | <leader>uA | Toggle Tabline | **n** | | <leader>uT | Toggle Treesitter Highlight | **n** | | <leader>ub | Toggle Dark Background | **n** | +| <leader>uD | Toggle Dimming | **n** | +| <leader>ua | Toggle Animations | **n** | +| <leader>ug | Toggle Indent Guides | **n** | +| <leader>uS | Toggle Smooth Scroll | **n** | +| <leader>dpp | Toggle Profiler | **n** | +| <leader>dph | Toggle Profiler Highlights | **n** | | <leader>uh | Toggle Inlay Hints | **n** | | <leader>gb | Git Blame Line | **n** | | <leader>gB | Git Browse (open) | **n**, **x** | @@ -92,7 +98,9 @@ possible keymaps starting with ``. | <leader>- | Split Window Below | **n** | | <leader>| | Split Window Right | **n** | | <leader>wd | Delete Window | **n** | -| <leader>wm | Toggle Maximize | **n** | +| <leader>wm | Toggle Zoom Mode | **n** | +| <leader>uZ | Toggle Zoom Mode | **n** | +| <leader>uz | Toggle Zen Mode | **n** | | <leader><tab>l | Last Tab | **n** | | <leader><tab>o | Close Other Tabs | **n** | | <leader><tab>f | First Tab | **n** | @@ -156,6 +164,49 @@ possible keymaps starting with ``. | s | Flash | **n**, **o**, **x** | | S | Flash Treesitter | **n**, **o**, **x** | +## [fzf-lua](https://github.com/ibhagwan/fzf-lua.git) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader><space> | Find Files (Root Dir) | **n** | +| <leader>, | Switch Buffer | **n** | +| <leader>/ | Grep (Root Dir) | **n** | +| <leader>: | Command History | **n** | +| <leader>fb | Buffers | **n** | +| <leader>fc | Find Config File | **n** | +| <leader>ff | Find Files (Root Dir) | **n** | +| <leader>fF | Find Files (cwd) | **n** | +| <leader>fg | Find Files (git-files) | **n** | +| <leader>fr | Recent | **n** | +| <leader>fR | Recent (cwd) | **n** | +| <leader>gc | Commits | **n** | +| <leader>gs | Status | **n** | +| <leader>s" | Registers | **n** | +| <leader>sa | Auto Commands | **n** | +| <leader>sb | Buffer | **n** | +| <leader>sc | Command History | **n** | +| <leader>sC | Commands | **n** | +| <leader>sd | Document Diagnostics | **n** | +| <leader>sD | Workspace Diagnostics | **n** | +| <leader>sg | Grep (Root Dir) | **n** | +| <leader>sG | Grep (cwd) | **n** | +| <leader>sh | Help Pages | **n** | +| <leader>sH | Search Highlight Groups | **n** | +| <leader>sj | Jumplist | **n** | +| <leader>sk | Key Maps | **n** | +| <leader>sl | Location List | **n** | +| <leader>sm | Jump to Mark | **n** | +| <leader>sM | Man Pages | **n** | +| <leader>sq | Quickfix List | **n** | +| <leader>sR | Resume | **n** | +| <leader>ss | Goto Symbol | **n** | +| <leader>sS | Goto Symbol (Workspace) | **n** | +| <leader>sw | Word (Root Dir) | **n** | +| <leader>sW | Word (cwd) | **n** | +| <leader>sw | Selection (Root Dir) | **v** | +| <leader>sW | Selection (cwd) | **v** | +| <leader>uC | Colorscheme with Preview | **n** | + ## [grug-far.nvim](https://github.com/MagicDuck/grug-far.nvim.git) | Key | Description | Mode | @@ -214,54 +265,11 @@ possible keymaps starting with ``. | Key | Description | Mode | | --- | --- | --- | | <leader>. | Toggle Scratch Buffer | **n** | +| <leader>dps | Profiler Scratch Buffer | **n** | | <leader>n | Notification History | **n** | | <leader>S | Select Scratch Buffer | **n** | | <leader>un | Dismiss All Notifications | **n** | -## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader><space> | Find Files (Root Dir) | **n** | -| <leader>, | Switch Buffer | **n** | -| <leader>/ | Grep (Root Dir) | **n** | -| <leader>: | Command History | **n** | -| <leader>fb | Buffers | **n** | -| <leader>fc | Find Config File | **n** | -| <leader>ff | Find Files (Root Dir) | **n** | -| <leader>fF | Find Files (cwd) | **n** | -| <leader>fg | Find Files (git-files) | **n** | -| <leader>fr | Recent | **n** | -| <leader>fR | Recent (cwd) | **n** | -| <leader>gc | Commits | **n** | -| <leader>gs | Status | **n** | -| <leader>s" | Registers | **n** | -| <leader>sa | Auto Commands | **n** | -| <leader>sb | Buffer | **n** | -| <leader>sc | Command History | **n** | -| <leader>sC | Commands | **n** | -| <leader>sd | Document Diagnostics | **n** | -| <leader>sD | Workspace Diagnostics | **n** | -| <leader>sg | Grep (Root Dir) | **n** | -| <leader>sG | Grep (cwd) | **n** | -| <leader>sh | Help Pages | **n** | -| <leader>sH | Search Highlight Groups | **n** | -| <leader>sj | Jumplist | **n** | -| <leader>sk | Key Maps | **n** | -| <leader>sl | Location List | **n** | -| <leader>sm | Jump to Mark | **n** | -| <leader>sM | Man Pages | **n** | -| <leader>so | Options | **n** | -| <leader>sq | Quickfix List | **n** | -| <leader>sR | Resume | **n** | -| <leader>ss | Goto Symbol | **n** | -| <leader>sS | Goto Symbol (Workspace) | **n** | -| <leader>sw | Word (Root Dir) | **n** | -| <leader>sW | Word (cwd) | **n** | -| <leader>sw | Selection (Root Dir) | **v** | -| <leader>sW | Selection (cwd) | **v** | -| <leader>uC | Colorscheme with Preview | **n** | - ## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) | Key | Description | Mode | @@ -354,7 +362,6 @@ Part of [lazyvim.plugins.extras.dap.core](/extras/dap/core) | Key | Description | Mode | | --- | --- | --- | -| <leader>d | +debug | **n**, **v** | | <leader>da | Run with Args | **n** | | <leader>db | Toggle Breakpoint | **n** | | <leader>dB | Breakpoint Condition | **n** | @@ -367,7 +374,7 @@ Part of [lazyvim.plugins.extras.dap.core](/extras/dap/core) | <leader>dl | Run Last | **n** | | <leader>do | Step Out | **n** | | <leader>dO | Step Over | **n** | -| <leader>dp | Pause | **n** | +| <leader>dP | Pause | **n** | | <leader>dr | Toggle REPL | **n** | | <leader>ds | Session | **n** | | <leader>dt | Terminate | **n** | @@ -546,51 +553,6 @@ Part of [lazyvim.plugins.extras.editor.refactoring](/extras/editor/refactoring) | <leader>rs | Refactor | **v** | | <leader>rx | Extract Variable | **v** | -## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim.git) -Part of [lazyvim.plugins.extras.editor.telescope](/extras/editor/telescope) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader><space> | Find Files (Root Dir) | **n** | -| <leader>, | Switch Buffer | **n** | -| <leader>/ | Grep (Root Dir) | **n** | -| <leader>: | Command History | **n** | -| <leader>fb | Buffers | **n** | -| <leader>fc | Find Config File | **n** | -| <leader>ff | Find Files (Root Dir) | **n** | -| <leader>fF | Find Files (cwd) | **n** | -| <leader>fg | Find Files (git-files) | **n** | -| <leader>fr | Recent | **n** | -| <leader>fR | Recent (cwd) | **n** | -| <leader>gc | Commits | **n** | -| <leader>gs | Status | **n** | -| <leader>s" | Registers | **n** | -| <leader>sa | Auto Commands | **n** | -| <leader>sb | Buffer | **n** | -| <leader>sc | Command History | **n** | -| <leader>sC | Commands | **n** | -| <leader>sd | Document Diagnostics | **n** | -| <leader>sD | Workspace Diagnostics | **n** | -| <leader>sg | Grep (Root Dir) | **n** | -| <leader>sG | Grep (cwd) | **n** | -| <leader>sh | Help Pages | **n** | -| <leader>sH | Search Highlight Groups | **n** | -| <leader>sj | Jumplist | **n** | -| <leader>sk | Key Maps | **n** | -| <leader>sl | Location List | **n** | -| <leader>sm | Jump to Mark | **n** | -| <leader>sM | Man Pages | **n** | -| <leader>so | Options | **n** | -| <leader>sq | Quickfix List | **n** | -| <leader>sR | Resume | **n** | -| <leader>ss | Goto Symbol | **n** | -| <leader>sS | Goto Symbol (Workspace) | **n** | -| <leader>sw | Word (Root Dir) | **n** | -| <leader>sW | Word (cwd) | **n** | -| <leader>sw | Selection (Root Dir) | **v** | -| <leader>sW | Selection (cwd) | **v** | -| <leader>uC | Colorscheme with Preview | **n** | - ## [nvim-ansible](https://github.com/mfussenegger/nvim-ansible.git) Part of [lazyvim.plugins.extras.lang.ansible](/extras/lang/ansible) @@ -613,13 +575,6 @@ Part of [lazyvim.plugins.extras.lang.python](/extras/lang/python) | <leader>dPc | Debug Class | **n** | | <leader>dPt | Debug Method | **n** | -## [venv-selector.nvim](https://github.com/linux-cultist/venv-selector.nvim.git) -Part of [lazyvim.plugins.extras.lang.python](/extras/lang/python) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader>cv | Select VirtualEnv | **n** | - ## [vim-dadbod-ui](https://github.com/kristijanhusak/vim-dadbod-ui.git) Part of [lazyvim.plugins.extras.lang.sql](/extras/lang/sql) diff --git a/docs/news.md b/docs/news.md index 57d13e9fd0..c88780c506 100644 --- a/docs/news.md +++ b/docs/news.md @@ -4,6 +4,61 @@ sidebar_position: 2 # 📰 What's new? +## 14.x + +Big new release with a lot of changes and improvements! +Two new plugins have been added, and a lot of plugins have been replaced. +With these changes, default **LazyVim** is now just `34` plugins. + +### Added Plugins + +- [fzf-lua](https://github.com/ibhagwan/fzf-lua) as a replacement for [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) + - to use **telescope.nvim** instead, enable the `ui.telescope` extra +- [blink.cmp](https://github.com/saghm/blink.cmp) as a replacement for [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) + - to use **nvim-cmp** instead, enable the `nvim-cmp` extra + +### Removed Plugins + +- [dressing.nvim](https://github.com/stevearc/dressing.nvim) (replaced with [fzf-lua](https://github.com/ibhagwan/fzf-lua) and [snacks.input](https://github.com/folke/snacks.nvim)) +- [telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim) (replaced with [fzf-lua](https://github.com/ibhagwan/fzf-lua)) +- [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) (replaced with [fzf-lua](https://github.com/ibhagwan/fzf-lua)) +- [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) (replaced with [snacks.indent](https://github.com/Folke/snacks.nvim)) + - to use **indent-blankline.nvim** instead, enable the `indent-blankline` extra +- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) (replaced with [blink](https://github.com/Saghen/blink.cmp)) +- [nvim-snippets](https://github.com/hrsh7th/vim-vsnip) (replaced with [blink](https://github.com/Saghen/blink.cmp)) +- [cmp-buffer](https://github.com/hrsh7th/cmp-buffer) (replaced with [blink](https://github.com/Saghen/blink.cmp)) +- [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) (replaced with [blink](https://github.com/Saghen/blink.cmp)) +- [cmp-path](https://github.com/hrsh7th/cmp-path) (replaced with [blink](https://github.com/Saghen/blink.cmp)) + +### Changes + +- added [`snacks.input`](https://github.com/folke/snacks.nvim/blob/main/docs/input.md) +- added [`snacks.scroll`](https://github.com/folke/snacks.nvim/blob/main/docs/scroll.md) +- added [`snacks.indent`](https://github.com/folke/snacks.nvim/blob/main/docs/indent.md) +- added [`snacks.scope`](https://github.com/folke/snacks.nvim/blob/main/docs/scope.md) +- added [`snacks.dim`](https://github.com/folke/snacks.nvim/blob/main/docs/dim.md) +- added [`snacks.zen`](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md) +- changed default [`which-key`](https://github.com/folke/which-key.nvim) preset to `helix` +- drop `LazyVim.ui.fg` in favor of [`Snacks.util.color`](https://github.com/folke/snacks.nvim/blob/main/docs/util.md) + +To disable **all animations**, add the following to your `options.lua`: + +```lua +vim.g.snacks_animate = false +``` + +### Keymaps + +- `z` to toggle [zen mode](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md) +- `Z` to toggle [zoom mode](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md) +- `uD` to toggle [dimming](https://github.com/folke/snacks.nvim/blob/main/docs/dim.md) +- `ua` to toggle [animations](https://github.com/folke/snacks.nvim/blob/main/docs/animate.md) +- `uS` to toggle [scroll](https://github.com/folke/snacks.nvim/blob/main/docs/scroll.md) +- `ug` to toggle [indent guides](https://github.com/folke/snacks.nvim/blob/main/docs/indent.md) +- [`snacks.profiler`](https://github.com/folke/snacks.nvim/blob/main/docs/profiler.md) keymaps under `dp` + +--- + ## 13.x - **LazyVim** now uses `Snacks.dashboard` as the default dashboard. @@ -25,6 +80,8 @@ sidebar_position: 2 - `Snacks.terminal` is similar to `lazyterm`, but has more features and creates bottom splits by default (similar to the `edgy` integrating) +--- + ## 12.x - **Markdown Extra**: [headlines.nvim](https://github.com/lukas-reineke/headlines.nvim) has been removed in favor of [markdown.nvim](https://github.com/MeanderingProgrammer/markdown.nvim) @@ -52,6 +109,8 @@ sidebar_position: 2 - moved `neoconf.nvim` to extras. Project specific LSP settings can be done with a `.lazy.lua` file instead. +--- + ## 11.x - **Keymaps:** @@ -111,6 +170,8 @@ Additionally, some core plugins have been moved to extras. - `mini.indentscope` scopes are now also highlighted with `indent-blankline` - `nvim-treesitter-context` +--- + ## 10.x - added new extra for [mini.diff](https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-diff.md) diff --git a/docs/plugins/coding.md b/docs/plugins/coding.md index d324e93d33..a1c5ab9d61 100644 --- a/docs/plugins/coding.md +++ b/docs/plugins/coding.md @@ -5,361 +5,10 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) +### Includes the following extras - auto completion - - - - - - -```lua -opts = function() - vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) - local cmp = require("cmp") - local defaults = require("cmp.config.default")() - local auto_select = true - return { - auto_brackets = {}, -- configure any filetype to auto add brackets - completion = { - completeopt = "menu,menuone,noinsert" .. (auto_select and "" or ",noselect"), - }, - preselect = auto_select and cmp.PreselectMode.Item or cmp.PreselectMode.None, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.complete(), - [""] = LazyVim.cmp.confirm({ select = auto_select }), - [""] = LazyVim.cmp.confirm({ select = true }), - [""] = LazyVim.cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - [""] = function(fallback) - cmp.abort() - fallback() - end, - [""] = function(fallback) - return LazyVim.cmp.map({ "snippet_forward", "ai_accept" }, fallback)() - end, - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "path" }, - }, { - { name = "buffer" }, - }), - formatting = { - format = function(entry, item) - local icons = LazyVim.config.icons.kinds - if icons[item.kind] then - item.kind = icons[item.kind] .. item.kind - end - - local widths = { - abbr = vim.g.cmp_widths and vim.g.cmp_widths.abbr or 40, - menu = vim.g.cmp_widths and vim.g.cmp_widths.menu or 30, - } - - for key, width in pairs(widths) do - if item[key] and vim.fn.strdisplaywidth(item[key]) > width then - item[key] = vim.fn.strcharpart(item[key], 0, width - 1) .. "…" - end - end - - return item - end, - }, - experimental = { - -- only show ghost text when we show ai completions - ghost_text = vim.g.ai_cmp and { - hl_group = "CmpGhostText", - } or false, - }, - sorting = defaults.sorting, - } -end -``` - - - - - - -```lua -{ - "hrsh7th/nvim-cmp", - version = false, -- last release is way too old - event = "InsertEnter", - dependencies = { - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", - }, - -- Not all LSP servers add brackets when completing a function. - -- To better deal with this, LazyVim adds a custom option to cmp, - -- that you can configure. For example: - -- - -- ```lua - -- opts = { - -- auto_brackets = { "python" } - -- } - -- ``` - opts = function() - vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) - local cmp = require("cmp") - local defaults = require("cmp.config.default")() - local auto_select = true - return { - auto_brackets = {}, -- configure any filetype to auto add brackets - completion = { - completeopt = "menu,menuone,noinsert" .. (auto_select and "" or ",noselect"), - }, - preselect = auto_select and cmp.PreselectMode.Item or cmp.PreselectMode.None, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.complete(), - [""] = LazyVim.cmp.confirm({ select = auto_select }), - [""] = LazyVim.cmp.confirm({ select = true }), - [""] = LazyVim.cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - [""] = function(fallback) - cmp.abort() - fallback() - end, - [""] = function(fallback) - return LazyVim.cmp.map({ "snippet_forward", "ai_accept" }, fallback)() - end, - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "path" }, - }, { - { name = "buffer" }, - }), - formatting = { - format = function(entry, item) - local icons = LazyVim.config.icons.kinds - if icons[item.kind] then - item.kind = icons[item.kind] .. item.kind - end - - local widths = { - abbr = vim.g.cmp_widths and vim.g.cmp_widths.abbr or 40, - menu = vim.g.cmp_widths and vim.g.cmp_widths.menu or 30, - } - - for key, width in pairs(widths) do - if item[key] and vim.fn.strdisplaywidth(item[key]) > width then - item[key] = vim.fn.strcharpart(item[key], 0, width - 1) .. "…" - end - end - - return item - end, - }, - experimental = { - -- only show ghost text when we show ai completions - ghost_text = vim.g.ai_cmp and { - hl_group = "CmpGhostText", - } or false, - }, - sorting = defaults.sorting, - } - end, - main = "lazyvim.util.cmp", -} -``` - - - - - -## [cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -{ - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-path", -} -``` - - - - - -## [cmp-buffer](https://github.com/hrsh7th/cmp-buffer) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -"hrsh7th/cmp-buffer" -``` - - - - - -## [cmp-path](https://github.com/hrsh7th/cmp-path) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -"hrsh7th/cmp-path" -``` - - - - - -## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) - - snippets - - - - - - -```lua -opts = function(_, opts) - opts.snippet = { - expand = function(item) - return LazyVim.cmp.expand(item.body) - end, - } - if LazyVim.has("nvim-snippets") then - table.insert(opts.sources, { name = "snippets" }) - end -end -``` - - - - - - -```lua -{ - "nvim-cmp", - optional = true, - dependencies = { - { - "garymjr/nvim-snippets", - opts = { - friendly_snippets = true, - }, - dependencies = { "rafamadriz/friendly-snippets" }, - }, - }, - opts = function(_, opts) - opts.snippet = { - expand = function(item) - return LazyVim.cmp.expand(item.body) - end, - } - if LazyVim.has("nvim-snippets") then - table.insert(opts.sources, { name = "snippets" }) - end - end, -} -``` - - - - - -## [nvim-snippets](https://github.com/garymjr/nvim-snippets) - - - - - -```lua -opts = { - friendly_snippets = true, -} -``` - - - - - - -```lua -{ - "garymjr/nvim-snippets", - opts = { - friendly_snippets = true, - }, - dependencies = { "rafamadriz/friendly-snippets" }, -} -``` - - - - - -## [friendly-snippets](https://github.com/rafamadriz/friendly-snippets) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -{ "rafamadriz/friendly-snippets" } -``` - - - - +- [coding.blink](/extras/coding/blink) +- [coding.nvim-cmp](/extras/coding/nvim-cmp) ## [mini.pairs](https://github.com/echasnovski/mini.pairs) @@ -473,7 +122,6 @@ opts = function() { "%u[%l%d]+%f[^%l%d]", "%f[%S][%l%d]+%f[^%l%d]", "%f[%P][%l%d]+%f[^%l%d]", "^[%l%d]+%f[^%l%d]" }, "^().*()$", }, - i = LazyVim.mini.ai_indent, -- indent g = LazyVim.mini.ai_buffer, -- buffer u = ai.gen_spec.function_call(), -- u for "Usage" U = ai.gen_spec.function_call({ name_pattern = "[%w_]" }), -- without dot in function name @@ -508,7 +156,6 @@ end { "%u[%l%d]+%f[^%l%d]", "%f[%S][%l%d]+%f[^%l%d]", "%f[%P][%l%d]+%f[^%l%d]", "^[%l%d]+%f[^%l%d]" }, "^().*()$", }, - i = LazyVim.mini.ai_indent, -- indent g = LazyVim.mini.ai_buffer, -- buffer u = ai.gen_spec.function_call(), -- u for "Usage" U = ai.gen_spec.function_call({ name_pattern = "[%w_]" }), -- without dot in function name @@ -572,38 +219,4 @@ opts = { -## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) - - Add lazydev source to cmp - - - - - - -```lua -opts = function(_, opts) - table.insert(opts.sources, { name = "lazydev", group_index = 0 }) -end -``` - - - - - - -```lua -{ - "hrsh7th/nvim-cmp", - optional = true, - opts = function(_, opts) - table.insert(opts.sources, { name = "lazydev", group_index = 0 }) - end, -} -``` - - - - - diff --git a/docs/plugins/editor.md b/docs/plugins/editor.md index 7048292874..f8cdc4493f 100644 --- a/docs/plugins/editor.md +++ b/docs/plugins/editor.md @@ -304,12 +304,15 @@ opts = {} ```lua opts = { + preset = "helix", defaults = {}, spec = { { mode = { "n", "v" }, { "", group = "tabs" }, { "c", group = "code" }, + { "d", group = "debug" }, + { "dp", group = "profiler" }, { "f", group = "file/find" }, { "g", group = "git" }, { "gh", group = "hunks" }, @@ -355,12 +358,15 @@ opts = { event = "VeryLazy", opts_extend = { "spec" }, opts = { + preset = "helix", defaults = {}, spec = { { mode = { "n", "v" }, { "", group = "tabs" }, { "c", group = "code" }, + { "d", group = "debug" }, + { "dp", group = "profiler" }, { "f", group = "file/find" }, { "g", group = "git" }, { "gh", group = "hunks" }, diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index 803787b250..1cde3bfd0b 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -157,29 +157,30 @@ opts = function() { LazyVim.lualine.pretty_path() }, }, lualine_x = { + Snacks.profiler.status(), -- stylua: ignore { function() return require("noice").api.status.command.get() end, cond = function() return package.loaded["noice"] and require("noice").api.status.command.has() end, - color = function() return LazyVim.ui.fg("Statement") end, + color = function() return { fg = Snacks.util.color("Statement") } end, }, -- stylua: ignore { function() return require("noice").api.status.mode.get() end, cond = function() return package.loaded["noice"] and require("noice").api.status.mode.has() end, - color = function() return LazyVim.ui.fg("Constant") end, + color = function() return { fg = Snacks.util.color("Constant") } end, }, -- stylua: ignore { function() return " " .. require("dap").status() end, cond = function() return package.loaded["dap"] and require("dap").status() ~= "" end, - color = function() return LazyVim.ui.fg("Debug") end, + color = function() return { fg = Snacks.util.color("Debug") } end, }, -- stylua: ignore { require("lazy.status").updates, cond = require("lazy.status").has_updates, - color = function() return LazyVim.ui.fg("Special") end, + color = function() return { fg = Snacks.util.color("Special") } end, }, { "diff", @@ -290,29 +291,30 @@ end { LazyVim.lualine.pretty_path() }, }, lualine_x = { + Snacks.profiler.status(), -- stylua: ignore { function() return require("noice").api.status.command.get() end, cond = function() return package.loaded["noice"] and require("noice").api.status.command.has() end, - color = function() return LazyVim.ui.fg("Statement") end, + color = function() return { fg = Snacks.util.color("Statement") } end, }, -- stylua: ignore { function() return require("noice").api.status.mode.get() end, cond = function() return package.loaded["noice"] and require("noice").api.status.mode.has() end, - color = function() return LazyVim.ui.fg("Constant") end, + color = function() return { fg = Snacks.util.color("Constant") } end, }, -- stylua: ignore { function() return " " .. require("dap").status() end, cond = function() return package.loaded["dap"] and require("dap").status() ~= "" end, - color = function() return LazyVim.ui.fg("Debug") end, + color = function() return { fg = Snacks.util.color("Debug") } end, }, -- stylua: ignore { require("lazy.status").updates, cond = require("lazy.status").has_updates, - color = function() return LazyVim.ui.fg("Special") end, + color = function() return { fg = Snacks.util.color("Special") } end, }, { "diff", @@ -375,109 +377,6 @@ end
-## [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) - - indent guides for Neovim - - - - - - -```lua -opts = function() - Snacks.toggle({ - name = "Indention Guides", - get = function() - return require("ibl.config").get_config(0).enabled - end, - set = function(state) - require("ibl").setup_buffer(0, { enabled = state }) - end, - }):map("ug") - - return { - indent = { - char = "│", - tab_char = "│", - }, - scope = { show_start = false, show_end = false }, - exclude = { - filetypes = { - "Trouble", - "alpha", - "dashboard", - "help", - "lazy", - "mason", - "neo-tree", - "notify", - "snacks_dashboard", - "snacks_notif", - "snacks_terminal", - "snacks_win", - "toggleterm", - "trouble", - }, - }, - } -end -``` - - - - - - -```lua -{ - "lukas-reineke/indent-blankline.nvim", - event = "LazyFile", - opts = function() - Snacks.toggle({ - name = "Indention Guides", - get = function() - return require("ibl.config").get_config(0).enabled - end, - set = function(state) - require("ibl").setup_buffer(0, { enabled = state }) - end, - }):map("ug") - - return { - indent = { - char = "│", - tab_char = "│", - }, - scope = { show_start = false, show_end = false }, - exclude = { - filetypes = { - "Trouble", - "alpha", - "dashboard", - "help", - "lazy", - "mason", - "neo-tree", - "notify", - "snacks_dashboard", - "snacks_notif", - "snacks_terminal", - "snacks_win", - "toggleterm", - "trouble", - }, - }, - } - end, - main = "ibl", -} -``` - - - - - ## [noice.nvim](https://github.com/folke/noice.nvim) Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu. @@ -665,6 +564,55 @@ opts = nil +```lua +opts = { + indent = { enabled = true }, + input = { enabled = true }, + notifier = { enabled = true }, + scope = { enabled = true }, + scroll = { enabled = true }, + statuscolumn = { enabled = false }, -- we set this in options.lua + toggle = { map = LazyVim.safe_keymap_set }, + words = { enabled = true }, +} +``` + + + + + + +```lua +{ + "snacks.nvim", + opts = { + indent = { enabled = true }, + input = { enabled = true }, + notifier = { enabled = true }, + scope = { enabled = true }, + scroll = { enabled = true }, + statuscolumn = { enabled = false }, -- we set this in options.lua + toggle = { map = LazyVim.safe_keymap_set }, + words = { enabled = true }, + }, + -- stylua: ignore + keys = { + { "n", function() Snacks.notifier.show_history() end, desc = "Notification History" }, + { "un", function() Snacks.notifier.hide() end, desc = "Dismiss All Notifications" }, + }, +} +``` + + + +
+ +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + + + + ```lua opts = { dashboard = { @@ -702,7 +650,7 @@ opts = { ```lua { - "folke/snacks.nvim", + "snacks.nvim", opts = { dashboard = { preset = { diff --git a/docs/plugins/util.md b/docs/plugins/util.md index 74dff515d4..bf1079c175 100644 --- a/docs/plugins/util.md +++ b/docs/plugins/util.md @@ -5,6 +5,67 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + Snacks utils + + + + + + +```lua +opts = { + bigfile = { enabled = true }, + quickfile = { enabled = true }, + terminal = { + win = { + keys = { + nav_h = { "", term_nav("h"), desc = "Go to Left Window", expr = true, mode = "t" }, + nav_j = { "", term_nav("j"), desc = "Go to Lower Window", expr = true, mode = "t" }, + nav_k = { "", term_nav("k"), desc = "Go to Upper Window", expr = true, mode = "t" }, + nav_l = { "", term_nav("l"), desc = "Go to Right Window", expr = true, mode = "t" }, + }, + }, + }, +} +``` + + + + + + +```lua +{ + "snacks.nvim", + opts = { + bigfile = { enabled = true }, + quickfile = { enabled = true }, + terminal = { + win = { + keys = { + nav_h = { "", term_nav("h"), desc = "Go to Left Window", expr = true, mode = "t" }, + nav_j = { "", term_nav("j"), desc = "Go to Lower Window", expr = true, mode = "t" }, + nav_k = { "", term_nav("k"), desc = "Go to Upper Window", expr = true, mode = "t" }, + nav_l = { "", term_nav("l"), desc = "Go to Right Window", expr = true, mode = "t" }, + }, + }, + }, + }, + -- stylua: ignore + keys = { + { ".", function() Snacks.scratch() end, desc = "Toggle Scratch Buffer" }, + { "S", function() Snacks.scratch.select() end, desc = "Select Scratch Buffer" }, + { "dps", function() Snacks.profiler.scratch() end, desc = "Profiler Scratch Buffer" }, + }, +} +``` + + + + + ## [persistence.nvim](https://github.com/folke/persistence.nvim) Session management. This saves your session in the background, From ccbbbc24bd56328f38ea37a99839f7ec3bb8334d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Dec 2024 16:26:35 +0000 Subject: [PATCH 008/187] chore(build): auto-generate docs --- docs/extras/lang/clangd.md | 7 ++++- docs/extras/ui/mini-indentscope.md | 43 +++++++++++++++++++++++++++++- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index 5da8a0a95e..fb5ab8c2e9 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -258,7 +258,7 @@ opts = { -## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) +## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) _(optional)_ @@ -266,6 +266,8 @@ opts = { ```lua opts = function(_, opts) + opts.sorting = opts.sorting or {} + opts.sorting.comparators = opts.sorting.comparators or {} table.insert(opts.sorting.comparators, 1, require("clangd_extensions.cmp_scores")) end ``` @@ -278,7 +280,10 @@ end ```lua { "hrsh7th/nvim-cmp", + optional = true, opts = function(_, opts) + opts.sorting = opts.sorting or {} + opts.sorting.comparators = opts.sorting.comparators or {} table.insert(opts.sorting.comparators, 1, require("clangd_extensions.cmp_scores")) end, } diff --git a/docs/extras/ui/mini-indentscope.md b/docs/extras/ui/mini-indentscope.md index 982a0a20ab..d3593808e8 100644 --- a/docs/extras/ui/mini-indentscope.md +++ b/docs/extras/ui/mini-indentscope.md @@ -104,7 +104,47 @@ opts = { -## [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + disable snacks scroll when mini-indentscope is enabled + + + + + + +```lua +opts = { + indent = { + scope = { enabled = false }, + }, +} +``` + + + + + + +```lua +{ + "snacks.nvim", + opts = { + indent = { + scope = { enabled = false }, + }, + }, +} +``` + + + + + +## [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) _(optional)_ + + disable inent-blankline scope when mini-indentscope is enabled + @@ -124,6 +164,7 @@ opts = { ```lua { "lukas-reineke/indent-blankline.nvim", + optional = true, event = "LazyFile", opts = { scope = { enabled = false }, From a53831ab0c131d0826874353dc012f7ef15883ae Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Dec 2024 17:17:57 +0000 Subject: [PATCH 009/187] chore(build): auto-generate docs --- docs/extras/lang/java.md | 26 ++++++++++++++------------ docs/news.md | 4 ++-- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 4cb7b58dbe..375a4222ee 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -148,8 +148,12 @@ opts = { ```lua opts = function() - local mason_registry = require("mason-registry") - local lombok_jar = mason_registry.get_package("jdtls"):get_install_path() .. "/lombok.jar" + local cmd = { vim.fn.exepath("jdtls") } + if LazyVim.has("mason.nvim") then + local mason_registry = require("mason-registry") + local lombok_jar = mason_registry.get_package("jdtls"):get_install_path() .. "/lombok.jar" + table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) + end return { -- How to find the root dir for a given filename. The default comes from -- lspconfig which provides a function specifically for java projects. @@ -170,10 +174,7 @@ opts = function() -- How to run jdtls. This can be overridden to a full java command-line -- if the Python wrapper script doesn't suffice. - cmd = { - vim.fn.exepath("jdtls"), - string.format("--jvm-arg=-javaagent:%s", lombok_jar), - }, + cmd = cmd, full_cmd = function(opts) local fname = vim.api.nvim_buf_get_name(0) local root_dir = opts.root_dir(fname) @@ -218,8 +219,12 @@ end dependencies = { "folke/which-key.nvim" }, ft = java_filetypes, opts = function() - local mason_registry = require("mason-registry") - local lombok_jar = mason_registry.get_package("jdtls"):get_install_path() .. "/lombok.jar" + local cmd = { vim.fn.exepath("jdtls") } + if LazyVim.has("mason.nvim") then + local mason_registry = require("mason-registry") + local lombok_jar = mason_registry.get_package("jdtls"):get_install_path() .. "/lombok.jar" + table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) + end return { -- How to find the root dir for a given filename. The default comes from -- lspconfig which provides a function specifically for java projects. @@ -240,10 +245,7 @@ end -- How to run jdtls. This can be overridden to a full java command-line -- if the Python wrapper script doesn't suffice. - cmd = { - vim.fn.exepath("jdtls"), - string.format("--jvm-arg=-javaagent:%s", lombok_jar), - }, + cmd = cmd, full_cmd = function(opts) local fname = vim.api.nvim_buf_get_name(0) local root_dir = opts.root_dir(fname) diff --git a/docs/news.md b/docs/news.md index c88780c506..042eefd91e 100644 --- a/docs/news.md +++ b/docs/news.md @@ -49,8 +49,8 @@ vim.g.snacks_animate = false ### Keymaps -- `z` to toggle [zen mode](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md) -- `Z` to toggle [zoom mode](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md) +- `uz` to toggle [zen mode](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md) +- `uZ` & `wm` to toggle [zoom mode](https://github.com/folke/snacks.nvim/blob/main/docs/zen.md) - `uD` to toggle [dimming](https://github.com/folke/snacks.nvim/blob/main/docs/dim.md) - `ua` to toggle [animations](https://github.com/folke/snacks.nvim/blob/main/docs/animate.md) - `uS` to toggle [scroll](https://github.com/folke/snacks.nvim/blob/main/docs/scroll.md) From d88de6d1b8484420fd211afef1219bd3cd9e1044 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Dec 2024 18:29:12 +0000 Subject: [PATCH 010/187] chore(build): auto-generate docs --- docs/extras/lang/java.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 375a4222ee..3afe8198f9 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -282,7 +282,12 @@ end -- if nvim-dap is enabled with java debug/test. local mason_registry = require("mason-registry") local bundles = {} ---@type string[] - if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then + if + LazyVim.has("mason.nvim") + and opts.dap + and LazyVim.has("nvim-dap") + and mason_registry.is_installed("java-debug-adapter") + then local java_dbg_pkg = mason_registry.get_package("java-debug-adapter") local java_dbg_path = java_dbg_pkg:get_install_path() local jar_patterns = { @@ -374,7 +379,12 @@ end }, }) - if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then + if + LazyVim.has("mason.nvim") + and opts.dap + and LazyVim.has("nvim-dap") + and mason_registry.is_installed("java-debug-adapter") + then -- custom init for Java debugger require("jdtls").setup_dap(opts.dap) require("jdtls.dap").setup_dap_main_class_configs(opts.dap_main) From 7a1f585ddeccf7e2daebbbef286b3edef8dce448 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Dec 2024 19:16:41 +0000 Subject: [PATCH 011/187] chore(build): auto-generate docs --- docs/extras/lang/java.md | 116 +++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 61 deletions(-) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 3afe8198f9..3e09625a59 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -280,34 +280,30 @@ end config = function(_, opts) -- Find the extra bundles that should be passed on the jdtls command-line -- if nvim-dap is enabled with java debug/test. - local mason_registry = require("mason-registry") local bundles = {} ---@type string[] - if - LazyVim.has("mason.nvim") - and opts.dap - and LazyVim.has("nvim-dap") - and mason_registry.is_installed("java-debug-adapter") - then - local java_dbg_pkg = mason_registry.get_package("java-debug-adapter") - local java_dbg_path = java_dbg_pkg:get_install_path() - local jar_patterns = { - java_dbg_path .. "/extension/server/com.microsoft.java.debug.plugin-*.jar", - } - -- java-test also depends on java-debug-adapter. - if opts.test and mason_registry.is_installed("java-test") then - local java_test_pkg = mason_registry.get_package("java-test") - local java_test_path = java_test_pkg:get_install_path() - vim.list_extend(jar_patterns, { - java_test_path .. "/extension/server/*.jar", - }) - end - for _, jar_pattern in ipairs(jar_patterns) do - for _, bundle in ipairs(vim.split(vim.fn.glob(jar_pattern), "\n")) do - table.insert(bundles, bundle) + if LazyVim.has("mason.nvim") then + local mason_registry = require("mason-registry") + if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then + local java_dbg_pkg = mason_registry.get_package("java-debug-adapter") + local java_dbg_path = java_dbg_pkg:get_install_path() + local jar_patterns = { + java_dbg_path .. "/extension/server/com.microsoft.java.debug.plugin-*.jar", + } + -- java-test also depends on java-debug-adapter. + if opts.test and mason_registry.is_installed("java-test") then + local java_test_pkg = mason_registry.get_package("java-test") + local java_test_path = java_test_pkg:get_install_path() + vim.list_extend(jar_patterns, { + java_test_path .. "/extension/server/*.jar", + }) + end + for _, jar_pattern in ipairs(jar_patterns) do + for _, bundle in ipairs(vim.split(vim.fn.glob(jar_pattern), "\n")) do + table.insert(bundles, bundle) + end end end end - local function attach_jdtls() local fname = vim.api.nvim_buf_get_name(0) @@ -379,45 +375,43 @@ end }, }) - if - LazyVim.has("mason.nvim") - and opts.dap - and LazyVim.has("nvim-dap") - and mason_registry.is_installed("java-debug-adapter") - then - -- custom init for Java debugger - require("jdtls").setup_dap(opts.dap) - require("jdtls.dap").setup_dap_main_class_configs(opts.dap_main) - - -- Java Test require Java debugger to work - if opts.test and mason_registry.is_installed("java-test") then - -- custom keymaps for Java test runner (not yet compatible with neotest) - wk.add({ - { - mode = "n", - buffer = args.buf, - { "t", group = "test" }, - { - "tt", - function() - require("jdtls.dap").test_class({ - config_overrides = type(opts.test) ~= "boolean" and opts.test.config_overrides or nil, - }) - end, - desc = "Run All Test", - }, + if LazyVim.has("mason.nvim") then + local mason_registry = require("mason-registry") + if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then + -- custom init for Java debugger + require("jdtls").setup_dap(opts.dap) + require("jdtls.dap").setup_dap_main_class_configs(opts.dap_main) + + -- Java Test require Java debugger to work + if opts.test and mason_registry.is_installed("java-test") then + -- custom keymaps for Java test runner (not yet compatible with neotest) + wk.add({ { - "tr", - function() - require("jdtls.dap").test_nearest_method({ - config_overrides = type(opts.test) ~= "boolean" and opts.test.config_overrides or nil, - }) - end, - desc = "Run Nearest Test", + mode = "n", + buffer = args.buf, + { "t", group = "test" }, + { + "tt", + function() + require("jdtls.dap").test_class({ + config_overrides = type(opts.test) ~= "boolean" and opts.test.config_overrides or nil, + }) + end, + desc = "Run All Test", + }, + { + "tr", + function() + require("jdtls.dap").test_nearest_method({ + config_overrides = type(opts.test) ~= "boolean" and opts.test.config_overrides or nil, + }) + end, + desc = "Run Nearest Test", + }, + { "tT", require("jdtls.dap").pick_test, desc = "Run Test" }, }, - { "tT", require("jdtls.dap").pick_test, desc = "Run Test" }, - }, - }) + }) + end end end From aefa536efa62c6242e8584e72f390e2311db6014 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 13 Dec 2024 01:43:16 +0000 Subject: [PATCH 012/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 3192d3cf48..59695129be 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -193,12 +193,7 @@ opts = { table.insert(enabled, source) end end - - -- TODO: remove when blink made a new release > 0.7.6 - if not vim.g.lazyvim_blink_main then - opts.sources.completion = opts.sources.completion or {} - opts.sources.completion.enabled_providers = enabled - end + opts.sources.compat = nil -- check if we need to override symbol kinds for _, provider in pairs(opts.sources.providers or {}) do From 17ea146bf51b11aadeef5e87d911fc85bae906d1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 13 Dec 2024 06:29:27 +0000 Subject: [PATCH 013/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 5 +++++ docs/extras/lang/rust.md | 26 ++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 59695129be..524b6f2f5b 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -193,6 +193,8 @@ opts = { table.insert(enabled, source) end end + + -- Unset custom prop to pass blink.cmp validation opts.sources.compat = nil -- check if we need to override symbol kinds @@ -216,6 +218,9 @@ opts = { end return items end + + -- Unset custom prop to pass blink.cmp validation + provider.kind = nil end end diff --git a/docs/extras/lang/rust.md b/docs/extras/lang/rust.md index 28edcf4965..0b35a433f7 100644 --- a/docs/extras/lang/rust.md +++ b/docs/extras/lang/rust.md @@ -168,6 +168,19 @@ opts = { ["async-recursion"] = { "async_recursion" }, }, }, + files = { + excludeDirs = { + ".direnv", + ".git", + ".github", + ".gitlab", + "bin", + "node_modules", + "target", + "venv", + ".venv", + }, + }, }, }, }, @@ -218,6 +231,19 @@ opts = { ["async-recursion"] = { "async_recursion" }, }, }, + files = { + excludeDirs = { + ".direnv", + ".git", + ".github", + ".gitlab", + "bin", + "node_modules", + "target", + "venv", + ".venv", + }, + }, }, }, }, From c1708e0bec574b50482fe221389c45b9df6b4aea Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 13 Dec 2024 09:21:54 +0000 Subject: [PATCH 014/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 524b6f2f5b..a6454951b3 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -89,6 +89,7 @@ opts = { -- with blink.compat compat = {}, default = { "lsp", "path", "snippets", "buffer" }, + cmdline = {}, }, keymap = { @@ -169,6 +170,7 @@ opts = { -- with blink.compat compat = {}, default = { "lsp", "path", "snippets", "buffer" }, + cmdline = {}, }, keymap = { From 265321989276e6c3516a9df880c0565933e1561c Mon Sep 17 00:00:00 2001 From: Matt Rogers Date: Fri, 13 Dec 2024 09:03:52 -0600 Subject: [PATCH 015/187] docs(installation): update docker instructions (#125) fzf and curl are new dependencies with LazyVim 14.0. --- docs/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index c63115a9a5..466c2b7991 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -89,7 +89,7 @@ with [PowerShell](https://github.com/PowerShell/PowerShell) ```sh docker run -w /root -it --rm alpine:edge sh -uelic ' - apk add git lazygit neovim ripgrep alpine-sdk --update + apk add git lazygit fzf curl neovim ripgrep alpine-sdk --update git clone https://github.com/LazyVim/starter ~/.config/nvim cd ~/.config/nvim nvim From 8ff037ea367832f812af33c745979f70ba51c232 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 13 Dec 2024 16:26:00 +0000 Subject: [PATCH 016/187] chore(build): auto-generate docs --- docs/news.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/news.md b/docs/news.md index 042eefd91e..67c8a75205 100644 --- a/docs/news.md +++ b/docs/news.md @@ -13,9 +13,9 @@ With these changes, default **LazyVim** is now just `34` plugins. ### Added Plugins - [fzf-lua](https://github.com/ibhagwan/fzf-lua) as a replacement for [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) - - to use **telescope.nvim** instead, enable the `ui.telescope` extra -- [blink.cmp](https://github.com/saghm/blink.cmp) as a replacement for [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) - - to use **nvim-cmp** instead, enable the `nvim-cmp` extra + - to use **telescope.nvim** instead, enable the `editor.telescope` extra +- [blink.cmp](https://github.com/saghen/blink.cmp) as a replacement for [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) + - to use **nvim-cmp** instead, enable the `coding.nvim-cmp` extra ### Removed Plugins From ab5795200a0018b510a64a121947a5180e38cbff Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 13 Dec 2024 20:22:45 +0000 Subject: [PATCH 017/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index a6454951b3..acf4737187 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -196,6 +196,12 @@ opts = { end end + -- TODO: remove when blink made a new release > 0.7.6 + if not vim.g.lazyvim_blink_main then + opts.sources.completion = opts.sources.completion or {} + opts.sources.completion.enabled_providers = enabled + end + -- Unset custom prop to pass blink.cmp validation opts.sources.compat = nil @@ -280,6 +286,9 @@ opts = nil opts = function(_, opts) opts.appearance = opts.appearance or {} opts.appearance.kind_icons = LazyVim.config.icons.kinds + + -- Use block instead of icon for color items to make swatches more usable + opts.appearance.kind_icons.Color = "██" end ``` @@ -294,6 +303,9 @@ end opts = function(_, opts) opts.appearance = opts.appearance or {} opts.appearance.kind_icons = LazyVim.config.icons.kinds + + -- Use block instead of icon for color items to make swatches more usable + opts.appearance.kind_icons.Color = "██" end, } ``` From 5f3da463e19e2d51313d0ed4819729625eb3a320 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 13 Dec 2024 22:19:16 +0000 Subject: [PATCH 018/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index acf4737187..fe2b84bfe7 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -69,7 +69,7 @@ opts = { }, menu = { draw = { - treesitter = true, + treesitter = { "lsp" }, }, }, documentation = { @@ -150,7 +150,7 @@ opts = { }, menu = { draw = { - treesitter = true, + treesitter = { "lsp" }, }, }, documentation = { @@ -196,10 +196,15 @@ opts = { end end - -- TODO: remove when blink made a new release > 0.7.6 + --- NOTE: compat with latest version. Currenlty 0.7.6 if not vim.g.lazyvim_blink_main then + ---@diagnostic disable-next-line: inject-field opts.sources.completion = opts.sources.completion or {} opts.sources.completion.enabled_providers = enabled + if vim.tbl_get(opts, "completion", "menu", "draw", "treesitter") then + ---@diagnostic disable-next-line: assign-type-mismatch + opts.completion.menu.draw.treesitter = true + end end -- Unset custom prop to pass blink.cmp validation @@ -213,6 +218,7 @@ opts = { local kind_idx = #CompletionItemKind + 1 CompletionItemKind[kind_idx] = provider.kind + ---@diagnostic disable-next-line: no-unknown CompletionItemKind[provider.kind] = kind_idx ---@type fun(ctx: blink.cmp.Context, items: blink.cmp.CompletionItem[]): blink.cmp.CompletionItem[] @@ -285,10 +291,9 @@ opts = nil ```lua opts = function(_, opts) opts.appearance = opts.appearance or {} - opts.appearance.kind_icons = LazyVim.config.icons.kinds - - -- Use block instead of icon for color items to make swatches more usable - opts.appearance.kind_icons.Color = "██" + opts.appearance.kind_icons = vim.tbl_extend("keep", { + Color = "██", -- Use block instead of icon for color items to make swatches more usable + }, LazyVim.config.icons.kinds) end ``` @@ -302,10 +307,9 @@ end "saghen/blink.cmp", opts = function(_, opts) opts.appearance = opts.appearance or {} - opts.appearance.kind_icons = LazyVim.config.icons.kinds - - -- Use block instead of icon for color items to make swatches more usable - opts.appearance.kind_icons.Color = "██" + opts.appearance.kind_icons = vim.tbl_extend("keep", { + Color = "██", -- Use block instead of icon for color items to make swatches more usable + }, LazyVim.config.icons.kinds) end, } ``` From 4b7b8820acb20a1b5d57ae2a13b1e41bc5e8f01b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 13 Dec 2024 23:19:17 +0000 Subject: [PATCH 019/187] chore(build): auto-generate docs --- docs/configuration/general.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 03ae3ebf6a..533a80d175 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -321,21 +321,22 @@ map("n", "[w", diagnostic_goto(false, "WARN"), { desc = "Prev Warning" }) -- toggle options LazyVim.format.snacks_toggle():map("uf") LazyVim.format.snacks_toggle(true):map("uF") -Snacks.toggle.option("spell", { name = "Spelling"}):map("us") -Snacks.toggle.option("wrap", {name = "Wrap"}):map("uw") -Snacks.toggle.option("relativenumber", { name = "Relative Number"}):map("uL") +Snacks.toggle.option("spell", { name = "Spelling" }):map("us") +Snacks.toggle.option("wrap", { name = "Wrap" }):map("uw") +Snacks.toggle.option("relativenumber", { name = "Relative Number" }):map("uL") Snacks.toggle.diagnostics():map("ud") Snacks.toggle.line_number():map("ul") -Snacks.toggle.option("conceallevel", {off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2, name = "Conceal Level"}):map("uc") -Snacks.toggle.option("showtabline", {off = 0, on = vim.o.showtabline > 0 and vim.o.showtabline or 2, name = "Tabline"}):map("uA") +Snacks.toggle.option("conceallevel", { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2, name = "Conceal Level" }):map("uc") +Snacks.toggle.option("showtabline", { off = 0, on = vim.o.showtabline > 0 and vim.o.showtabline or 2, name = "Tabline" }):map("uA") Snacks.toggle.treesitter():map("uT") -Snacks.toggle.option("background", { off = "light", on = "dark" , name = "Dark Background"}):map("ub") +Snacks.toggle.option("background", { off = "light", on = "dark" , name = "Dark Background" }):map("ub") Snacks.toggle.dim():map("uD") Snacks.toggle.animate():map("ua") Snacks.toggle.indent():map("ug") Snacks.toggle.scroll():map("uS") Snacks.toggle.profiler():map("dpp") Snacks.toggle.profiler_highlights():map("dph") + if vim.lsp.inlay_hint then Snacks.toggle.inlay_hints():map("uh") end From df5d5afaf0b8900251a0ded814ab4113d0cee94b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 14 Dec 2024 07:18:00 +0000 Subject: [PATCH 020/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index fe2b84bfe7..c0c3e5c090 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -94,6 +94,7 @@ opts = { keymap = { preset = "enter", + [""] = { "select_and_accept" }, [""] = { LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), "fallback", @@ -175,6 +176,7 @@ opts = { keymap = { preset = "enter", + [""] = { "select_and_accept" }, [""] = { LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), "fallback", From c0d59096e1bd0a8bb5ba2db638cd4efaf2c91be8 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Sat, 14 Dec 2024 22:52:42 +0100 Subject: [PATCH 021/187] docs: added fzf and curl to requirements --- docs/intro.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/intro.md b/docs/intro.md index 780ea89c60..635138e8bd 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -29,7 +29,9 @@ to make it easy to customize and extend your config. - a [Nerd Font](https://www.nerdfonts.com/)(v3.0 or greater) **_(optional, but needed to display some icons)_** - [lazygit](https://github.com/jesseduffield/lazygit) **_(optional)_** - a **C** compiler for `nvim-treesitter`. See [here](https://github.com/nvim-treesitter/nvim-treesitter#requirements) -- for [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) **_(optional)_** +- **curl** for [blink.cmp](https://github.com/Saghen/blink.cmp) **(completion engine)** +- for [fzf-lua](https://github.com/ibhagwan/fzf-lua) **_(optional)_** + - **fzf**: [fzf](https://github.com/junegunn/fzf) **(v0.25.1 or greater)** - **live grep**: [ripgrep](https://github.com/BurntSushi/ripgrep) - **find files**: [fd](https://github.com/sharkdp/fd) - a terminal that support true color and _undercurl_: From c6629e19836bbc3bafaa0b622933f4904ca3ecd6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 15 Dec 2024 08:24:29 +0000 Subject: [PATCH 022/187] chore(build): auto-generate docs --- docs/configuration/general.md | 11 ++++++++--- docs/configuration/index.md | 2 +- docs/extras/coding/blink.md | 15 +++++++++++++++ docs/keymaps.md | 1 - 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 533a80d175..9e04693552 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -203,6 +203,14 @@ vim.g.markdown_recommended_style = 0 -- use `vim.keymap.set` instead local map = LazyVim.safe_keymap_set +-- Clear search and stop snippet on escape +Snacks.util.on_key("", function() + vim.cmd("noh") + if vim.snippet then + vim.snippet.stop() + end +end) + -- better up/down map({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { desc = "Down", expr = true, silent = true }) map({ "n", "x" }, "", "v:count == 0 ? 'gj' : 'j'", { desc = "Down", expr = true, silent = true }) @@ -244,9 +252,6 @@ map("n", "bo", function() end, { desc = "Delete Other Buffers" }) map("n", "bD", ":bd", { desc = "Delete Buffer and Window" }) --- Clear search with -map({ "i", "n" }, "", "noh", { desc = "Escape and Clear hlsearch" }) - -- Clear search, diff update and redraw -- taken from runtime/lua/_editor.lua map( diff --git a/docs/configuration/index.md b/docs/configuration/index.md index 57db7f7be2..45e8d55d8e 100644 --- a/docs/configuration/index.md +++ b/docs/configuration/index.md @@ -124,7 +124,7 @@ return { Package = " ", Property = " ", Reference = " ", - Snippet = " ", + Snippet = "󱄽 ", String = " ", Struct = "󰆼 ", Supermaven = " ", diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index c0c3e5c090..9f0fede08b 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -198,6 +198,21 @@ opts = { end end + -- fix super-tab completion + if opts.keymap.preset == "super-tab" then + opts.keymap[""] = { + function(cmp) + if cmp.snippet_active() then + return cmp.accept() + else + return cmp.select_and_accept() + end + end, + LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), + "fallback", + } + end + --- NOTE: compat with latest version. Currenlty 0.7.6 if not vim.g.lazyvim_blink_main then ---@diagnostic disable-next-line: inject-field diff --git a/docs/keymaps.md b/docs/keymaps.md index 2583f3b8e6..9197b30dfe 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -42,7 +42,6 @@ possible keymaps starting with ``. | <leader>bd | Delete Buffer | **n** | | <leader>bo | Delete Other Buffers | **n** | | <leader>bD | Delete Buffer and Window | **n** | -| <esc> | Escape and Clear hlsearch | **i**, **n** | | <leader>ur | Redraw / Clear hlsearch / Diff Update | **n** | | n | Next Search Result | **n**, **x**, **o** | | N | Prev Search Result | **n**, **x**, **o** | From 4243eacbd11c728d409e8d9a85d52f56b1766b29 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 15 Dec 2024 11:15:30 +0000 Subject: [PATCH 023/187] chore(build): auto-generate docs --- docs/configuration/general.md | 4 +--- docs/extras/coding/luasnip.md | 12 ++++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 9e04693552..79aff7b699 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -206,9 +206,7 @@ local map = LazyVim.safe_keymap_set -- Clear search and stop snippet on escape Snacks.util.on_key("", function() vim.cmd("noh") - if vim.snippet then - vim.snippet.stop() - end + LazyVim.cmp.actions.snippet_stop() end) -- better up/down diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index b58ae9f035..087aab25f8 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -126,6 +126,12 @@ opts = function() return true end end + LazyVim.cmp.actions.snippet_stop = function() + if require("luasnip").expand_or_jumpable() then -- or just jumpable(1) is fine? + require("luasnip").unlink_current() + return true + end + end end ``` @@ -144,6 +150,12 @@ end return true end end + LazyVim.cmp.actions.snippet_stop = function() + if require("luasnip").expand_or_jumpable() then -- or just jumpable(1) is fine? + require("luasnip").unlink_current() + return true + end + end end, } ``` From b3dff91bc3c11712a2da4cc2127ae90ad61f810f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 15 Dec 2024 18:26:20 +0000 Subject: [PATCH 024/187] chore(build): auto-generate docs --- docs/configuration/general.md | 13 ++++++----- docs/extras/ai/codeium.md | 16 ++++++++++++-- docs/extras/ai/copilot.md | 4 ++++ docs/extras/ai/supermaven.md | 16 ++++++++++++-- docs/extras/ai/tabnine.md | 16 ++++++++++++-- docs/extras/coding/blink.md | 41 +++++++++++++++++------------------ docs/keymaps.md | 1 + 7 files changed, 74 insertions(+), 33 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 79aff7b699..6baf0ef9cb 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -203,12 +203,6 @@ vim.g.markdown_recommended_style = 0 -- use `vim.keymap.set` instead local map = LazyVim.safe_keymap_set --- Clear search and stop snippet on escape -Snacks.util.on_key("", function() - vim.cmd("noh") - LazyVim.cmp.actions.snippet_stop() -end) - -- better up/down map({ "n", "x" }, "j", "v:count == 0 ? 'gj' : 'j'", { desc = "Down", expr = true, silent = true }) map({ "n", "x" }, "", "v:count == 0 ? 'gj' : 'j'", { desc = "Down", expr = true, silent = true }) @@ -250,6 +244,13 @@ map("n", "bo", function() end, { desc = "Delete Other Buffers" }) map("n", "bD", ":bd", { desc = "Delete Buffer and Window" }) +-- Clear search and stop snippet on escape +map({ "i", "n", "s" }, "", function() + vim.cmd("noh") + LazyVim.cmp.actions.snippet_stop() + return "" +end, { expr = true, desc = "Escape and Clear hlsearch" }) + -- Clear search, diff update and redraw -- taken from runtime/lua/_editor.lua map( diff --git a/docs/extras/ai/codeium.md b/docs/extras/ai/codeium.md index aa72782768..499cdf9d53 100644 --- a/docs/extras/ai/codeium.md +++ b/docs/extras/ai/codeium.md @@ -282,7 +282,13 @@ end opts = { sources = { compat = { "codeium" }, - providers = { codeium = { kind = "Codeium" } }, + providers = { + codeium = { + kind = "Codeium", + score_offset = 100, + async = true, + }, + }, }, } ``` @@ -300,7 +306,13 @@ opts = { opts = { sources = { compat = { "codeium" }, - providers = { codeium = { kind = "Codeium" } }, + providers = { + codeium = { + kind = "Codeium", + score_offset = 100, + async = true, + }, + }, }, }, } diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index 59878b21db..14d9a4f87b 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -382,6 +382,8 @@ opts = { name = "copilot", module = "blink-cmp-copilot", kind = "Copilot", + score_offset = 100, + async = true, }, }, }, @@ -406,6 +408,8 @@ opts = { name = "copilot", module = "blink-cmp-copilot", kind = "Copilot", + score_offset = 100, + async = true, }, }, }, diff --git a/docs/extras/ai/supermaven.md b/docs/extras/ai/supermaven.md index 8ae1908487..a0e3f14fb3 100644 --- a/docs/extras/ai/supermaven.md +++ b/docs/extras/ai/supermaven.md @@ -247,7 +247,13 @@ end opts = { sources = { compat = { "supermaven" }, - providers = { supermaven = { kind = "Supermaven" } }, + providers = { + supermaven = { + kind = "Supermaven", + score_offset = 100, + async = true, + }, + }, }, } ``` @@ -265,7 +271,13 @@ opts = { opts = { sources = { compat = { "supermaven" }, - providers = { supermaven = { kind = "Supermaven" } }, + providers = { + supermaven = { + kind = "Supermaven", + score_offset = 100, + async = true, + }, + }, }, }, } diff --git a/docs/extras/ai/tabnine.md b/docs/extras/ai/tabnine.md index 36fb136fbc..62787f984b 100644 --- a/docs/extras/ai/tabnine.md +++ b/docs/extras/ai/tabnine.md @@ -207,7 +207,13 @@ end opts = { sources = { compat = { "cmp_tabnine" }, - providers = { cmp_tabnine = { kind = "TabNine" } }, + providers = { + cmp_tabnine = { + kind = "TabNine", + score_offset = 100, + async = true, + }, + }, }, } ``` @@ -225,7 +231,13 @@ opts = { opts = { sources = { compat = { "cmp_tabnine" }, - providers = { cmp_tabnine = { kind = "TabNine" } }, + providers = { + cmp_tabnine = { + kind = "TabNine", + score_offset = 100, + async = true, + }, + }, }, }, } diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 9f0fede08b..5e0572dce4 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -95,10 +95,6 @@ opts = { keymap = { preset = "enter", [""] = { "select_and_accept" }, - [""] = { - LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), - "fallback", - }, }, } ``` @@ -177,10 +173,6 @@ opts = { keymap = { preset = "enter", [""] = { "select_and_accept" }, - [""] = { - LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), - "fallback", - }, }, }, ---@param opts blink.cmp.Config | { sources: { compat: string[] } } @@ -198,19 +190,26 @@ opts = { end end - -- fix super-tab completion - if opts.keymap.preset == "super-tab" then - opts.keymap[""] = { - function(cmp) - if cmp.snippet_active() then - return cmp.accept() - else - return cmp.select_and_accept() - end - end, - LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), - "fallback", - } + -- add ai_accept to key + if not opts.keymap[""] then + if opts.keymap.preset == "super-tab" then -- super-tab + opts.keymap[""] = { + function(cmp) + if cmp.snippet_active() then + return cmp.accept() + else + return cmp.select_and_accept() + end + end, + LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), + "fallback", + } + else -- other presets + opts.keymap[""] = { + LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), + "fallback", + } + end end --- NOTE: compat with latest version. Currenlty 0.7.6 diff --git a/docs/keymaps.md b/docs/keymaps.md index 9197b30dfe..39ba2d3bcf 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -42,6 +42,7 @@ possible keymaps starting with ``. | <leader>bd | Delete Buffer | **n** | | <leader>bo | Delete Other Buffers | **n** | | <leader>bD | Delete Buffer and Window | **n** | +| <esc> | Escape and Clear hlsearch | **i**, **n**, **s** | | <leader>ur | Redraw / Clear hlsearch / Diff Update | **n** | | n | Next Search Result | **n**, **x**, **o** | | N | Prev Search Result | **n**, **x**, **o** | From f0e6cf89ecfeaf2316e18eb82714596956499944 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Dec 2024 07:21:15 +0000 Subject: [PATCH 025/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 5e0572dce4..8dba0164b4 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -352,6 +352,7 @@ opts = { lazydev = { name = "LazyDev", module = "lazydev.integrations.blink", + score_offset = 100, -- show at a higher priority than lsp }, }, }, @@ -374,6 +375,7 @@ opts = { lazydev = { name = "LazyDev", module = "lazydev.integrations.blink", + score_offset = 100, -- show at a higher priority than lsp }, }, }, From 7c5dc5f7527aba67716ea13e155d162869578cb0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Dec 2024 15:22:12 +0000 Subject: [PATCH 026/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 8dba0164b4..217b8b5cad 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -51,6 +51,11 @@ import TabItem from '@theme/TabItem'; ```lua opts = { + snippets = { + expand = function(snippet, _) + return LazyVim.cmp.expand(snippet) + end, + }, appearance = { -- sets the fallback highlight groups to nvim-cmp's highlight groups -- useful for when your theme doesn't support blink.cmp @@ -129,6 +134,11 @@ opts = { ---@module 'blink.cmp' ---@type blink.cmp.Config opts = { + snippets = { + expand = function(snippet, _) + return LazyVim.cmp.expand(snippet) + end, + }, appearance = { -- sets the fallback highlight groups to nvim-cmp's highlight groups -- useful for when your theme doesn't support blink.cmp From 5863f56cae82349f6d723692d17800b022a69eb1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Dec 2024 17:17:03 +0000 Subject: [PATCH 027/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 6 ++++ docs/extras/editor/illuminate.md | 52 ++++++++++++++++---------------- docs/plugins/lsp.md | 8 ----- 3 files changed, 32 insertions(+), 34 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 217b8b5cad..b45de18b05 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -72,6 +72,9 @@ opts = { enabled = true, }, }, + trigger = { + show_on_insert_on_trigger_character = false, + }, menu = { draw = { treesitter = { "lsp" }, @@ -155,6 +158,9 @@ opts = { enabled = true, }, }, + trigger = { + show_on_insert_on_trigger_character = false, + }, menu = { draw = { treesitter = { "lsp" }, diff --git a/docs/extras/editor/illuminate.md b/docs/extras/editor/illuminate.md index e8d7b96f31..fc4e9f5ad4 100644 --- a/docs/extras/editor/illuminate.md +++ b/docs/extras/editor/illuminate.md @@ -32,6 +32,32 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + disable snacks words + + + + + + +```lua +opts = { words = { enabled = false } } +``` + + + + + + +```lua +{ "snacks.nvim", opts = { words = { enabled = false } } } +``` + + + + + ## [vim-illuminate](https://github.com/RRethy/vim-illuminate) @@ -111,30 +137,4 @@ opts = { -## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) - - - - - -```lua -opts = { document_highlight = { enabled = false } } -``` - - - - - - -```lua -{ - "neovim/nvim-lspconfig", - opts = { document_highlight = { enabled = false } }, -} -``` - - - - - diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 7d52c57650..8bf86454e2 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -76,10 +76,6 @@ opts = function() codelens = { enabled = false, }, - -- Enable lsp cursor word highlighting - document_highlight = { - enabled = true, - }, -- add any global capabilities here capabilities = { workspace = { @@ -200,10 +196,6 @@ end codelens = { enabled = false, }, - -- Enable lsp cursor word highlighting - document_highlight = { - enabled = true, - }, -- add any global capabilities here capabilities = { workspace = { From 5767bfa90b01c535e8e2db128f81fc81d360c683 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 16 Dec 2024 20:22:49 +0000 Subject: [PATCH 028/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index b45de18b05..22263a8540 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -72,9 +72,6 @@ opts = { enabled = true, }, }, - trigger = { - show_on_insert_on_trigger_character = false, - }, menu = { draw = { treesitter = { "lsp" }, @@ -158,9 +155,6 @@ opts = { enabled = true, }, }, - trigger = { - show_on_insert_on_trigger_character = false, - }, menu = { draw = { treesitter = { "lsp" }, @@ -210,13 +204,7 @@ opts = { if not opts.keymap[""] then if opts.keymap.preset == "super-tab" then -- super-tab opts.keymap[""] = { - function(cmp) - if cmp.snippet_active() then - return cmp.accept() - else - return cmp.select_and_accept() - end - end, + require("blink.cmp.keymap.presets")["super-tab"][""][1], LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), "fallback", } From e6a987f16e5a4f99ce2e896d0948254a5850effa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 17 Dec 2024 06:29:15 +0000 Subject: [PATCH 029/187] chore(build): auto-generate docs --- docs/extras/ai/supermaven.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extras/ai/supermaven.md b/docs/extras/ai/supermaven.md index a0e3f14fb3..9252024817 100644 --- a/docs/extras/ai/supermaven.md +++ b/docs/extras/ai/supermaven.md @@ -44,6 +44,7 @@ opts = { accept_suggestion = nil, -- handled by nvim-cmp / blink.cmp }, disable_inline_completion = vim.g.ai_cmp, + ignore_filetypes = { "bigfile", "snacks_input", "snacks_notif" }, } ``` @@ -60,6 +61,7 @@ opts = { accept_suggestion = nil, -- handled by nvim-cmp / blink.cmp }, disable_inline_completion = vim.g.ai_cmp, + ignore_filetypes = { "bigfile", "snacks_input", "snacks_notif" }, }, } ``` From dd9f2842a1aad0802c087e8863297882af3a1d3f Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 18 Dec 2024 10:24:59 +0100 Subject: [PATCH 030/187] docs: remove manual extras imports --- lua/build.lua | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/lua/build.lua b/lua/build.lua index 4add8b4234..70fd9a27fe 100644 --- a/lua/build.lua +++ b/lua/build.lua @@ -308,21 +308,6 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "%s" }, - { import = "plugins" }, - }, -}) -``` - -
- %sBelow you can find a list of included plugins and their default settings. :::caution From 6d9943de897447c4cd9c919098e2c3d904d670e5 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 18 Dec 2024 10:25:28 +0100 Subject: [PATCH 031/187] docs: docgen --- docs/extras/ai/codeium.md | 17 +--------- docs/extras/ai/copilot-chat.md | 17 +--------- docs/extras/ai/copilot.md | 17 +--------- docs/extras/ai/supermaven.md | 17 +--------- docs/extras/ai/tabnine.md | 17 +--------- docs/extras/coding/blink.md | 28 +--------------- docs/extras/coding/luasnip.md | 17 +--------- docs/extras/coding/mini-comment.md | 17 +--------- docs/extras/coding/mini-surround.md | 17 +--------- docs/extras/coding/neogen.md | 17 +--------- docs/extras/coding/nvim-cmp.md | 17 +--------- docs/extras/coding/yanky.md | 17 +--------- docs/extras/dap/core.md | 17 +--------- docs/extras/dap/nlua.md | 17 +--------- docs/extras/editor/aerial.md | 17 +--------- docs/extras/editor/dial.md | 17 +--------- docs/extras/editor/fzf.md | 27 +-------------- docs/extras/editor/harpoon2.md | 17 +--------- docs/extras/editor/illuminate.md | 17 +--------- docs/extras/editor/inc-rename.md | 17 +--------- docs/extras/editor/leap.md | 17 +--------- docs/extras/editor/mini-diff.md | 17 +--------- docs/extras/editor/mini-files.md | 17 +--------- docs/extras/editor/mini-move.md | 17 +--------- docs/extras/editor/navic.md | 17 +--------- docs/extras/editor/outline.md | 17 +--------- docs/extras/editor/overseer.md | 17 +--------- docs/extras/editor/refactoring.md | 17 +--------- docs/extras/editor/telescope.md | 27 +-------------- docs/extras/formatting/biome.md | 26 +-------------- docs/extras/formatting/black.md | 17 +--------- docs/extras/formatting/prettier.md | 27 +-------------- docs/extras/lang/angular.md | 17 +--------- docs/extras/lang/ansible.md | 17 +--------- docs/extras/lang/astro.md | 17 +--------- docs/extras/lang/clangd.md | 17 +--------- docs/extras/lang/clojure.md | 17 +--------- docs/extras/lang/cmake.md | 17 +--------- docs/extras/lang/docker.md | 17 +--------- docs/extras/lang/elixir.md | 17 +--------- docs/extras/lang/elm.md | 17 +--------- docs/extras/lang/erlang.md | 17 +--------- docs/extras/lang/git.md | 17 +--------- docs/extras/lang/gleam.md | 17 +--------- docs/extras/lang/go.md | 17 +--------- docs/extras/lang/haskell.md | 17 +--------- docs/extras/lang/helm.md | 17 +--------- docs/extras/lang/java.md | 17 +--------- docs/extras/lang/json.md | 17 +--------- docs/extras/lang/kotlin.md | 17 +--------- docs/extras/lang/lean.md | 17 +--------- docs/extras/lang/markdown.md | 17 +--------- docs/extras/lang/nix.md | 17 +--------- docs/extras/lang/nushell.md | 17 +--------- docs/extras/lang/ocaml.md | 17 +--------- docs/extras/lang/omnisharp.md | 17 +--------- docs/extras/lang/php.md | 27 +-------------- docs/extras/lang/prisma.md | 17 +--------- docs/extras/lang/python.md | 29 +--------------- docs/extras/lang/r.md | 17 +--------- docs/extras/lang/rego.md | 17 +--------- docs/extras/lang/ruby.md | 28 +--------------- docs/extras/lang/rust.md | 29 +--------------- docs/extras/lang/scala.md | 17 +--------- docs/extras/lang/sql.md | 49 +--------------------------- docs/extras/lang/svelte.md | 17 +--------- docs/extras/lang/tailwind.md | 17 +--------- docs/extras/lang/terraform.md | 17 +--------- docs/extras/lang/tex.md | 17 +--------- docs/extras/lang/thrift.md | 17 +--------- docs/extras/lang/toml.md | 17 +--------- docs/extras/lang/typescript.md | 17 +--------- docs/extras/lang/vue.md | 17 +--------- docs/extras/lang/yaml.md | 17 +--------- docs/extras/lang/zig.md | 17 +--------- docs/extras/linting/eslint.md | 26 +-------------- docs/extras/lsp/neoconf.md | 17 +--------- docs/extras/lsp/none-ls.md | 17 +--------- docs/extras/test/core.md | 17 +--------- docs/extras/ui/alpha.md | 17 +--------- docs/extras/ui/dashboard-nvim.md | 17 +--------- docs/extras/ui/edgy.md | 17 +--------- docs/extras/ui/indent-blankline.md | 17 +--------- docs/extras/ui/mini-animate.md | 17 +--------- docs/extras/ui/mini-indentscope.md | 17 +--------- docs/extras/ui/mini-starter.md | 17 +--------- docs/extras/ui/smear-cursor.md | 17 +--------- docs/extras/ui/treesitter-context.md | 17 +--------- docs/extras/util/chezmoi.md | 17 +--------- docs/extras/util/dot.md | 17 +--------- docs/extras/util/gitui.md | 17 +--------- docs/extras/util/mini-hipatterns.md | 17 +--------- docs/extras/util/octo.md | 17 +--------- docs/extras/util/project.md | 17 +--------- docs/extras/util/rest.md | 17 +--------- docs/extras/util/startuptime.md | 17 +--------- docs/extras/vscode.md | 17 +--------- docs/keymaps.md | 5 +++ 98 files changed, 102 insertions(+), 1688 deletions(-) diff --git a/docs/extras/ai/codeium.md b/docs/extras/ai/codeium.md index 499cdf9d53..26e5387dda 100644 --- a/docs/extras/ai/codeium.md +++ b/docs/extras/ai/codeium.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ai.codeium" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ai.codeiumBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ai/copilot-chat.md b/docs/extras/ai/copilot-chat.md index c61cf19fd6..0460c6e270 100644 --- a/docs/extras/ai/copilot-chat.md +++ b/docs/extras/ai/copilot-chat.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ai.copilot-chat" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ai.copilot-chatBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index 14d9a4f87b..9623ead647 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ai.copilot" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ai.copilotBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ai/supermaven.md b/docs/extras/ai/supermaven.md index 9252024817..d8169fc05a 100644 --- a/docs/extras/ai/supermaven.md +++ b/docs/extras/ai/supermaven.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ai.supermaven" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ai.supermavenBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ai/tabnine.md b/docs/extras/ai/tabnine.md index 62787f984b..49bd1ab42a 100644 --- a/docs/extras/ai/tabnine.md +++ b/docs/extras/ai/tabnine.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ai.tabnine" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ai.tabnineBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 22263a8540..a4e62ddee2 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -7,33 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.coding.blink" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- set to `true` to follow the main branch --- you need to have a working rust toolchain to build the plugin --- in this case. -vim.g.lazyvim_blink_main = false -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.coding.blinkBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index 087aab25f8..ea4dea5cab 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.coding.luasnip" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.coding.luasnipBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/mini-comment.md b/docs/extras/coding/mini-comment.md index 3fb490b80d..44203cb2e0 100644 --- a/docs/extras/coding/mini-comment.md +++ b/docs/extras/coding/mini-comment.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.coding.mini-comment" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.coding.mini-commentBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/mini-surround.md b/docs/extras/coding/mini-surround.md index 46b8803cda..3a47896e4f 100644 --- a/docs/extras/coding/mini-surround.md +++ b/docs/extras/coding/mini-surround.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.coding.mini-surround" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.coding.mini-surroundBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/neogen.md b/docs/extras/coding/neogen.md index f7c9e860f6..c2636fbaee 100644 --- a/docs/extras/coding/neogen.md +++ b/docs/extras/coding/neogen.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.coding.neogen" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.coding.neogenBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/nvim-cmp.md b/docs/extras/coding/nvim-cmp.md index 95b2611338..e100d5e1db 100644 --- a/docs/extras/coding/nvim-cmp.md +++ b/docs/extras/coding/nvim-cmp.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.coding.nvim-cmp" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.coding.nvim-cmpBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/yanky.md b/docs/extras/coding/yanky.md index d59d2ac426..d6ecddbc84 100644 --- a/docs/extras/coding/yanky.md +++ b/docs/extras/coding/yanky.md @@ -9,22 +9,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.coding.yanky" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.coding.yankyBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/dap/core.md b/docs/extras/dap/core.md index eedc4473c0..7ce358663d 100644 --- a/docs/extras/dap/core.md +++ b/docs/extras/dap/core.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.dap.core" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.dap.coreBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/dap/nlua.md b/docs/extras/dap/nlua.md index 2ac503de08..608fb52781 100644 --- a/docs/extras/dap/nlua.md +++ b/docs/extras/dap/nlua.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.dap.nlua" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.dap.nluaBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/aerial.md b/docs/extras/editor/aerial.md index c992153478..143d0d173f 100644 --- a/docs/extras/editor/aerial.md +++ b/docs/extras/editor/aerial.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.aerial" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.aerialBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/dial.md b/docs/extras/editor/dial.md index a2237c8f5a..a1d58747a1 100644 --- a/docs/extras/editor/dial.md +++ b/docs/extras/editor/dial.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.dial" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.dialBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index a2d04a60d8..4c3e8185a7 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -7,32 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.fzf" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- In case you don't want to use `:LazyExtras`, --- then you need to set the option below. -vim.g.lazyvim_picker = "fzf" -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.fzfBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/harpoon2.md b/docs/extras/editor/harpoon2.md index 69e65c1c75..387304f31c 100644 --- a/docs/extras/editor/harpoon2.md +++ b/docs/extras/editor/harpoon2.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.harpoon2" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.harpoon2Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/illuminate.md b/docs/extras/editor/illuminate.md index fc4e9f5ad4..7bc07691e8 100644 --- a/docs/extras/editor/illuminate.md +++ b/docs/extras/editor/illuminate.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.illuminate" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.illuminateBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/inc-rename.md b/docs/extras/editor/inc-rename.md index 1d3d268c36..fd9e7b51bf 100644 --- a/docs/extras/editor/inc-rename.md +++ b/docs/extras/editor/inc-rename.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.inc-rename" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.inc-renameBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/leap.md b/docs/extras/editor/leap.md index e6e6b8fa7a..bf6a45357e 100644 --- a/docs/extras/editor/leap.md +++ b/docs/extras/editor/leap.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.leap" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.leapBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/mini-diff.md b/docs/extras/editor/mini-diff.md index ff33921305..8b1e80cfb1 100644 --- a/docs/extras/editor/mini-diff.md +++ b/docs/extras/editor/mini-diff.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.mini-diff" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.mini-diffBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/mini-files.md b/docs/extras/editor/mini-files.md index 0c5a95b0dd..489c1bf347 100644 --- a/docs/extras/editor/mini-files.md +++ b/docs/extras/editor/mini-files.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.mini-files" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.mini-filesBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/mini-move.md b/docs/extras/editor/mini-move.md index 12c03e75f2..4929b3574d 100644 --- a/docs/extras/editor/mini-move.md +++ b/docs/extras/editor/mini-move.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.mini-move" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.mini-moveBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/navic.md b/docs/extras/editor/navic.md index 0b4bd48c18..7330836462 100644 --- a/docs/extras/editor/navic.md +++ b/docs/extras/editor/navic.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.navic" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.navicBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/outline.md b/docs/extras/editor/outline.md index 65a4d82435..2f79834d57 100644 --- a/docs/extras/editor/outline.md +++ b/docs/extras/editor/outline.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.outline" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.outlineBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/overseer.md b/docs/extras/editor/overseer.md index 0228fbaa7b..9d74d1c370 100644 --- a/docs/extras/editor/overseer.md +++ b/docs/extras/editor/overseer.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.overseer" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.overseerBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/refactoring.md b/docs/extras/editor/refactoring.md index 785d90ca7f..663119bd5b 100644 --- a/docs/extras/editor/refactoring.md +++ b/docs/extras/editor/refactoring.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.refactoring" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.refactoringBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/telescope.md b/docs/extras/editor/telescope.md index 4f3577d52b..f94114b9c0 100644 --- a/docs/extras/editor/telescope.md +++ b/docs/extras/editor/telescope.md @@ -7,32 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.editor.telescope" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- In case you don't want to use `:LazyExtras`, --- then you need to set the option below. -vim.g.lazyvim_picker = "telescope" -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.editor.telescopeBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/formatting/biome.md b/docs/extras/formatting/biome.md index 9238c2f995..58a5aef681 100644 --- a/docs/extras/formatting/biome.md +++ b/docs/extras/formatting/biome.md @@ -7,31 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.formatting.biome" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- Enable this option to avoid conflicts with Prettier. -vim.g.lazyvim_prettier_needs_config = true -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.formatting.biomeBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/formatting/black.md b/docs/extras/formatting/black.md index 59adc170c2..18b8909a82 100644 --- a/docs/extras/formatting/black.md +++ b/docs/extras/formatting/black.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.formatting.black" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.formatting.blackBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/formatting/prettier.md b/docs/extras/formatting/prettier.md index 7a24a9ab17..f9d9265ad9 100644 --- a/docs/extras/formatting/prettier.md +++ b/docs/extras/formatting/prettier.md @@ -7,32 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.formatting.prettier" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- Enable the option to require a Prettier config file --- If no prettier config file is found, the formatter will not be used -vim.g.lazyvim_prettier_needs_config = false -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.formatting.prettierBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/angular.md b/docs/extras/lang/angular.md index 4a29b491e4..f69b5aee2a 100644 --- a/docs/extras/lang/angular.md +++ b/docs/extras/lang/angular.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.angular" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.angularBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/ansible.md b/docs/extras/lang/ansible.md index 798f7765a0..63e80b2cc2 100644 --- a/docs/extras/lang/ansible.md +++ b/docs/extras/lang/ansible.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.ansible" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.ansibleBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/astro.md b/docs/extras/lang/astro.md index 83e938ca21..8a55c10ad1 100644 --- a/docs/extras/lang/astro.md +++ b/docs/extras/lang/astro.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.astro" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.astroBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index fb5ab8c2e9..692e92f6ca 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.clangd" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.clangdBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/clojure.md b/docs/extras/lang/clojure.md index d7401d7e6a..c0398133e9 100644 --- a/docs/extras/lang/clojure.md +++ b/docs/extras/lang/clojure.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.clojure" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.clojureBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/cmake.md b/docs/extras/lang/cmake.md index d1ad6e2f71..60a1376c90 100644 --- a/docs/extras/lang/cmake.md +++ b/docs/extras/lang/cmake.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.cmake" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.cmakeBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/docker.md b/docs/extras/lang/docker.md index bb2f7d0b61..fed28a62cf 100644 --- a/docs/extras/lang/docker.md +++ b/docs/extras/lang/docker.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.docker" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.dockerBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/elixir.md b/docs/extras/lang/elixir.md index f60730c841..4ab27eb16e 100644 --- a/docs/extras/lang/elixir.md +++ b/docs/extras/lang/elixir.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.elixir" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.elixirBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/elm.md b/docs/extras/lang/elm.md index 9d37ebea3b..391d20434d 100644 --- a/docs/extras/lang/elm.md +++ b/docs/extras/lang/elm.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.elm" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.elmBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/erlang.md b/docs/extras/lang/erlang.md index 464cc9a018..7142af088c 100644 --- a/docs/extras/lang/erlang.md +++ b/docs/extras/lang/erlang.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.erlang" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.erlangBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/git.md b/docs/extras/lang/git.md index 3c93c3a83b..038153d91f 100644 --- a/docs/extras/lang/git.md +++ b/docs/extras/lang/git.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.git" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.gitBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/gleam.md b/docs/extras/lang/gleam.md index 705f768afd..187f49f9ca 100644 --- a/docs/extras/lang/gleam.md +++ b/docs/extras/lang/gleam.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.gleam" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.gleamBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/go.md b/docs/extras/lang/go.md index 8c06a72708..a9ce953a86 100644 --- a/docs/extras/lang/go.md +++ b/docs/extras/lang/go.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.go" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.goBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/haskell.md b/docs/extras/lang/haskell.md index 0c38698abb..8370356875 100644 --- a/docs/extras/lang/haskell.md +++ b/docs/extras/lang/haskell.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.haskell" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.haskellBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/helm.md b/docs/extras/lang/helm.md index 878afb8af6..de54eb6833 100644 --- a/docs/extras/lang/helm.md +++ b/docs/extras/lang/helm.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.helm" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.helmBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 3e09625a59..c0165e9da4 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.java" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.javaBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/json.md b/docs/extras/lang/json.md index a1112aa6f1..4af860e7a9 100644 --- a/docs/extras/lang/json.md +++ b/docs/extras/lang/json.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.json" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.jsonBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/kotlin.md b/docs/extras/lang/kotlin.md index 98dff3611c..f8b565022c 100644 --- a/docs/extras/lang/kotlin.md +++ b/docs/extras/lang/kotlin.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.kotlin" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.kotlinBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/lean.md b/docs/extras/lang/lean.md index 1475e1400c..0bfc8db539 100644 --- a/docs/extras/lang/lean.md +++ b/docs/extras/lang/lean.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.lean" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.leanBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/markdown.md b/docs/extras/lang/markdown.md index 3106ee4578..4c6af96899 100644 --- a/docs/extras/lang/markdown.md +++ b/docs/extras/lang/markdown.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.markdown" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.markdownBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/nix.md b/docs/extras/lang/nix.md index 85b1ec4260..ea3829c3bd 100644 --- a/docs/extras/lang/nix.md +++ b/docs/extras/lang/nix.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.nix" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.nixBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/nushell.md b/docs/extras/lang/nushell.md index 5e42108889..66fe96f892 100644 --- a/docs/extras/lang/nushell.md +++ b/docs/extras/lang/nushell.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.nushell" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.nushellBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/ocaml.md b/docs/extras/lang/ocaml.md index 04ccaf4348..62357b0de9 100644 --- a/docs/extras/lang/ocaml.md +++ b/docs/extras/lang/ocaml.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.ocaml" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.ocamlBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/omnisharp.md b/docs/extras/lang/omnisharp.md index 795bbd1464..56fd6eae48 100644 --- a/docs/extras/lang/omnisharp.md +++ b/docs/extras/lang/omnisharp.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.omnisharp" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.omnisharpBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/php.md b/docs/extras/lang/php.md index e1e38a91d9..bb196d191c 100644 --- a/docs/extras/lang/php.md +++ b/docs/extras/lang/php.md @@ -7,32 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.php" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- LSP Server to use for PHP. --- Set to "intelephense" to use intelephense instead of phpactor. -vim.g.lazyvim_php_lsp = "intelephense" -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.phpBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/prisma.md b/docs/extras/lang/prisma.md index eead6c0eaf..109ca29deb 100644 --- a/docs/extras/lang/prisma.md +++ b/docs/extras/lang/prisma.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.prisma" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.prismaBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/python.md b/docs/extras/lang/python.md index f4788f00de..21a0f80d70 100644 --- a/docs/extras/lang/python.md +++ b/docs/extras/lang/python.md @@ -7,34 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.python" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- LSP Server to use for Python. --- Set to "basedpyright" to use basedpyright instead of pyright. -vim.g.lazyvim_python_lsp = "pyright" --- Set to "ruff_lsp" to use the old LSP implementation version. -vim.g.lazyvim_python_ruff = "ruff" -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.pythonBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/r.md b/docs/extras/lang/r.md index 8e668f38c2..e47a2eae46 100644 --- a/docs/extras/lang/r.md +++ b/docs/extras/lang/r.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.r" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.rBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/rego.md b/docs/extras/lang/rego.md index 7461507e6b..5aa589b2af 100644 --- a/docs/extras/lang/rego.md +++ b/docs/extras/lang/rego.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.rego" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.regoBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/ruby.md b/docs/extras/lang/ruby.md index 918d8ed8a0..c02e9c3e31 100644 --- a/docs/extras/lang/ruby.md +++ b/docs/extras/lang/ruby.md @@ -7,33 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.ruby" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- LSP Server to use for Ruby. --- Set to "solargraph" to use solargraph instead of ruby_lsp. -vim.g.lazyvim_ruby_lsp = "ruby_lsp" -vim.g.lazyvim_ruby_formatter = "rubocop" -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.rubyBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/rust.md b/docs/extras/lang/rust.md index 0b35a433f7..eab685e99e 100644 --- a/docs/extras/lang/rust.md +++ b/docs/extras/lang/rust.md @@ -7,34 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.rust" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- LSP Server to use for Rust. --- Set to "bacon-ls" to use bacon-ls instead of rust-analyzer. --- only for diagnostics. The rest of LSP support will still be --- provided by rust-analyzer. -vim.g.lazyvim_rust_diagnostics = "rust-analyzer" -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.rustBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/scala.md b/docs/extras/lang/scala.md index 2ebae5dfc3..65d6187809 100644 --- a/docs/extras/lang/scala.md +++ b/docs/extras/lang/scala.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.scala" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.scalaBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/sql.md b/docs/extras/lang/sql.md index 889774c916..99e8cbfd9d 100644 --- a/docs/extras/lang/sql.md +++ b/docs/extras/lang/sql.md @@ -7,54 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.sql" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- The setup below will automatically configure connections without the need for manual input each time. - --- Example configuration using dictionary with keys: --- vim.g.dbs = { --- dev = "Replace with your database connection URL.", --- staging = "Replace with your database connection URL.", --- } --- or --- Example configuration using a list of dictionaries: --- vim.g.dbs = { --- { name = "dev", url = "Replace with your database connection URL." }, --- { name = "staging", url = "Replace with your database connection URL." }, --- } - --- or --- Create a `.lazy.lua` file in your project and set your connections like this: --- ```lua --- vim.g.dbs = {...} --- --- return {} --- ``` - --- Alternatively, you can also use other methods to inject your environment variables. - --- Finally, please make sure to add `.lazy.lua` to your `.gitignore` file to protect your secrets. -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.sqlBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/svelte.md b/docs/extras/lang/svelte.md index e36da298c7..fcad284408 100644 --- a/docs/extras/lang/svelte.md +++ b/docs/extras/lang/svelte.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.svelte" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.svelteBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/tailwind.md b/docs/extras/lang/tailwind.md index 9eeb232328..d933380bca 100644 --- a/docs/extras/lang/tailwind.md +++ b/docs/extras/lang/tailwind.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.tailwind" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.tailwindBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/terraform.md b/docs/extras/lang/terraform.md index 89050149c9..8b67a568fd 100644 --- a/docs/extras/lang/terraform.md +++ b/docs/extras/lang/terraform.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.terraform" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.terraformBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/tex.md b/docs/extras/lang/tex.md index 93fc6f2917..7be392ce41 100644 --- a/docs/extras/lang/tex.md +++ b/docs/extras/lang/tex.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.tex" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.texBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/thrift.md b/docs/extras/lang/thrift.md index 8bba7bacbb..4ca7278cea 100644 --- a/docs/extras/lang/thrift.md +++ b/docs/extras/lang/thrift.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.thrift" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.thriftBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/toml.md b/docs/extras/lang/toml.md index 48ab00c404..86c1108cac 100644 --- a/docs/extras/lang/toml.md +++ b/docs/extras/lang/toml.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.toml" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.tomlBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index 62947760af..3deb2b86c8 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.typescript" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.typescriptBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/vue.md b/docs/extras/lang/vue.md index 109ec0d107..9db0d33dcd 100644 --- a/docs/extras/lang/vue.md +++ b/docs/extras/lang/vue.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.vue" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.vueBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/yaml.md b/docs/extras/lang/yaml.md index 0349298a18..68a2313f3c 100644 --- a/docs/extras/lang/yaml.md +++ b/docs/extras/lang/yaml.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.yaml" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.yamlBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/zig.md b/docs/extras/lang/zig.md index f26af4f33b..43897a9c73 100644 --- a/docs/extras/lang/zig.md +++ b/docs/extras/lang/zig.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lang.zig" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lang.zigBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/linting/eslint.md b/docs/extras/linting/eslint.md index ecc7d662e0..06f5664ae3 100644 --- a/docs/extras/linting/eslint.md +++ b/docs/extras/linting/eslint.md @@ -7,31 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.linting.eslint" }, - { import = "plugins" }, - }, -}) -``` - -
- -### Options - -Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: - -```lua title="lua/config/options.lua" --- Set to false to disable auto format -vim.g.lazyvim_eslint_auto_format = true -``` - -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.linting.eslintBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lsp/neoconf.md b/docs/extras/lsp/neoconf.md index 53f21bc640..f24aefa073 100644 --- a/docs/extras/lsp/neoconf.md +++ b/docs/extras/lsp/neoconf.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lsp.neoconf" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lsp.neoconfBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lsp/none-ls.md b/docs/extras/lsp/none-ls.md index 63f324dd58..41617960c3 100644 --- a/docs/extras/lsp/none-ls.md +++ b/docs/extras/lsp/none-ls.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.lsp.none-ls" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.lsp.none-lsBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/test/core.md b/docs/extras/test/core.md index 8d10937574..1bb243223c 100644 --- a/docs/extras/test/core.md +++ b/docs/extras/test/core.md @@ -21,22 +21,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.test.core" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.test.coreBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/alpha.md b/docs/extras/ui/alpha.md index b311802f35..fea5b52e60 100644 --- a/docs/extras/ui/alpha.md +++ b/docs/extras/ui/alpha.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.alpha" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.alphaBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/dashboard-nvim.md b/docs/extras/ui/dashboard-nvim.md index c2e7a8c50c..537c340eaf 100644 --- a/docs/extras/ui/dashboard-nvim.md +++ b/docs/extras/ui/dashboard-nvim.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.dashboard-nvim" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.dashboard-nvimBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/edgy.md b/docs/extras/ui/edgy.md index 42c3e4a04d..9bfe013091 100644 --- a/docs/extras/ui/edgy.md +++ b/docs/extras/ui/edgy.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.edgy" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.edgyBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/indent-blankline.md b/docs/extras/ui/indent-blankline.md index 1e52d277d1..89711b3166 100644 --- a/docs/extras/ui/indent-blankline.md +++ b/docs/extras/ui/indent-blankline.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.indent-blankline" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.indent-blanklineBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/mini-animate.md b/docs/extras/ui/mini-animate.md index c48a7508c8..0a64c3da07 100644 --- a/docs/extras/ui/mini-animate.md +++ b/docs/extras/ui/mini-animate.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.mini-animate" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.mini-animateBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/mini-indentscope.md b/docs/extras/ui/mini-indentscope.md index d3593808e8..a910bc10d2 100644 --- a/docs/extras/ui/mini-indentscope.md +++ b/docs/extras/ui/mini-indentscope.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.mini-indentscope" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.mini-indentscopeBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/mini-starter.md b/docs/extras/ui/mini-starter.md index b1ed410ae3..f123c64e06 100644 --- a/docs/extras/ui/mini-starter.md +++ b/docs/extras/ui/mini-starter.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.mini-starter" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.mini-starterBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/smear-cursor.md b/docs/extras/ui/smear-cursor.md index a3cf48bf3c..cea2b95533 100644 --- a/docs/extras/ui/smear-cursor.md +++ b/docs/extras/ui/smear-cursor.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.smear-cursor" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.smear-cursorBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/treesitter-context.md b/docs/extras/ui/treesitter-context.md index edcd4c5558..6702fc5a02 100644 --- a/docs/extras/ui/treesitter-context.md +++ b/docs/extras/ui/treesitter-context.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.ui.treesitter-context" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.ui.treesitter-contextBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/chezmoi.md b/docs/extras/util/chezmoi.md index ddad046f1b..415733cd0a 100644 --- a/docs/extras/util/chezmoi.md +++ b/docs/extras/util/chezmoi.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.util.chezmoi" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.util.chezmoiBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/dot.md b/docs/extras/util/dot.md index e059503d09..1c82710810 100644 --- a/docs/extras/util/dot.md +++ b/docs/extras/util/dot.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.util.dot" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.util.dotBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/gitui.md b/docs/extras/util/gitui.md index 424daffa82..ba9662fc30 100644 --- a/docs/extras/util/gitui.md +++ b/docs/extras/util/gitui.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.util.gitui" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.util.gituiBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/mini-hipatterns.md b/docs/extras/util/mini-hipatterns.md index c713e17af9..0fe4834e55 100644 --- a/docs/extras/util/mini-hipatterns.md +++ b/docs/extras/util/mini-hipatterns.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.util.mini-hipatterns" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.util.mini-hipatternsBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/octo.md b/docs/extras/util/octo.md index 8481e3201a..5b7c001951 100644 --- a/docs/extras/util/octo.md +++ b/docs/extras/util/octo.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.util.octo" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.util.octoBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/project.md b/docs/extras/util/project.md index eb70061604..762ffb4597 100644 --- a/docs/extras/util/project.md +++ b/docs/extras/util/project.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.util.project" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.util.projectBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/rest.md b/docs/extras/util/rest.md index 97e72d1942..ad0f927456 100644 --- a/docs/extras/util/rest.md +++ b/docs/extras/util/rest.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.util.rest" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.util.restBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/startuptime.md b/docs/extras/util/startuptime.md index df7ecb53e0..3927b5a2dd 100644 --- a/docs/extras/util/startuptime.md +++ b/docs/extras/util/startuptime.md @@ -7,22 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.util.startuptime" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.util.startuptimeBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/vscode.md b/docs/extras/vscode.md index b5a7be886a..9bd0650a07 100644 --- a/docs/extras/vscode.md +++ b/docs/extras/vscode.md @@ -35,22 +35,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -
-Alternatively, you can add it to your lazy.nvim imports - -```lua title="lua/config/lazy.lua" {4} -require("lazy").setup({ - spec = { - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - { import = "lazyvim.plugins.extras.vscode" }, - { import = "plugins" }, - }, -}) -``` - -
- -Below you can find a list of included plugins and their default settings. +lazyvim.plugins.extras.vscodeBelow you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/keymaps.md b/docs/keymaps.md index 39ba2d3bcf..c19e8a9d59 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -82,6 +82,11 @@ possible keymaps starting with ``. | <leader>dpp | Toggle Profiler | **n** | | <leader>dph | Toggle Profiler Highlights | **n** | | <leader>uh | Toggle Inlay Hints | **n** | +| <leader>gg | Lazygit (Root Dir) | **n** | +| <leader>gG | Lazygit (cwd) | **n** | +| <leader>gf | Lazygit Current File History | **n** | +| <leader>gl | Lazygit Log | **n** | +| <leader>gL | Lazygit Log (cwd) | **n** | | <leader>gb | Git Blame Line | **n** | | <leader>gB | Git Browse (open) | **n**, **x** | | <leader>gY | Git Browse (copy) | **n**, **x** | From b5bef6bc85777a8901d02d65dca45ef6b6450d0f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 18 Dec 2024 09:25:53 +0000 Subject: [PATCH 032/187] chore(build): auto-generate docs --- docs/keymaps.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/keymaps.md b/docs/keymaps.md index c19e8a9d59..39ba2d3bcf 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -82,11 +82,6 @@ possible keymaps starting with ``. | <leader>dpp | Toggle Profiler | **n** | | <leader>dph | Toggle Profiler Highlights | **n** | | <leader>uh | Toggle Inlay Hints | **n** | -| <leader>gg | Lazygit (Root Dir) | **n** | -| <leader>gG | Lazygit (cwd) | **n** | -| <leader>gf | Lazygit Current File History | **n** | -| <leader>gl | Lazygit Log | **n** | -| <leader>gL | Lazygit Log (cwd) | **n** | | <leader>gb | Git Blame Line | **n** | | <leader>gB | Git Browse (open) | **n**, **x** | | <leader>gY | Git Browse (copy) | **n**, **x** | From b2ee7090180a0bb5c6105e16aa29ec0f1b5406ae Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 18 Dec 2024 13:27:36 +0000 Subject: [PATCH 033/187] chore(build): auto-generate docs --- docs/plugins/colorscheme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/plugins/colorscheme.md b/docs/plugins/colorscheme.md index 4338a2b27a..52f5b30b8a 100644 --- a/docs/plugins/colorscheme.md +++ b/docs/plugins/colorscheme.md @@ -69,6 +69,7 @@ opts = { cmp = true, dashboard = true, flash = true, + fzf = true, grug_far = true, gitsigns = true, headlines = true, @@ -120,6 +121,7 @@ opts = { cmp = true, dashboard = true, flash = true, + fzf = true, grug_far = true, gitsigns = true, headlines = true, From a074ec535befe29dcb643681fbf082ab108a1292 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 18 Dec 2024 15:58:54 +0100 Subject: [PATCH 034/187] ci: fix docgen. Fixes #128 --- docs/extras/ai/codeium.md | 2 +- docs/extras/ai/copilot-chat.md | 2 +- docs/extras/ai/copilot.md | 2 +- docs/extras/ai/supermaven.md | 2 +- docs/extras/ai/tabnine.md | 2 +- docs/extras/coding/blink.md | 13 ++++++++++- docs/extras/coding/luasnip.md | 2 +- docs/extras/coding/mini-comment.md | 2 +- docs/extras/coding/mini-surround.md | 2 +- docs/extras/coding/neogen.md | 2 +- docs/extras/coding/nvim-cmp.md | 2 +- docs/extras/coding/yanky.md | 2 +- docs/extras/dap/core.md | 2 +- docs/extras/dap/nlua.md | 2 +- docs/extras/editor/aerial.md | 2 +- docs/extras/editor/dial.md | 2 +- docs/extras/editor/fzf.md | 12 +++++++++- docs/extras/editor/harpoon2.md | 2 +- docs/extras/editor/illuminate.md | 2 +- docs/extras/editor/inc-rename.md | 2 +- docs/extras/editor/leap.md | 2 +- docs/extras/editor/mini-diff.md | 2 +- docs/extras/editor/mini-files.md | 2 +- docs/extras/editor/mini-move.md | 2 +- docs/extras/editor/navic.md | 2 +- docs/extras/editor/outline.md | 2 +- docs/extras/editor/overseer.md | 2 +- docs/extras/editor/refactoring.md | 2 +- docs/extras/editor/telescope.md | 12 +++++++++- docs/extras/formatting/biome.md | 11 ++++++++- docs/extras/formatting/black.md | 2 +- docs/extras/formatting/prettier.md | 12 +++++++++- docs/extras/lang/angular.md | 2 +- docs/extras/lang/ansible.md | 2 +- docs/extras/lang/astro.md | 2 +- docs/extras/lang/clangd.md | 2 +- docs/extras/lang/clojure.md | 2 +- docs/extras/lang/cmake.md | 2 +- docs/extras/lang/docker.md | 2 +- docs/extras/lang/elixir.md | 2 +- docs/extras/lang/elm.md | 2 +- docs/extras/lang/erlang.md | 2 +- docs/extras/lang/git.md | 2 +- docs/extras/lang/gleam.md | 2 +- docs/extras/lang/go.md | 2 +- docs/extras/lang/haskell.md | 2 +- docs/extras/lang/helm.md | 2 +- docs/extras/lang/java.md | 2 +- docs/extras/lang/json.md | 2 +- docs/extras/lang/kotlin.md | 2 +- docs/extras/lang/lean.md | 2 +- docs/extras/lang/markdown.md | 2 +- docs/extras/lang/nix.md | 2 +- docs/extras/lang/nushell.md | 2 +- docs/extras/lang/ocaml.md | 2 +- docs/extras/lang/omnisharp.md | 2 +- docs/extras/lang/php.md | 12 +++++++++- docs/extras/lang/prisma.md | 2 +- docs/extras/lang/python.md | 14 +++++++++++- docs/extras/lang/r.md | 2 +- docs/extras/lang/rego.md | 2 +- docs/extras/lang/ruby.md | 13 ++++++++++- docs/extras/lang/rust.md | 14 +++++++++++- docs/extras/lang/scala.md | 2 +- docs/extras/lang/sql.md | 34 +++++++++++++++++++++++++++- docs/extras/lang/svelte.md | 2 +- docs/extras/lang/tailwind.md | 2 +- docs/extras/lang/terraform.md | 2 +- docs/extras/lang/tex.md | 2 +- docs/extras/lang/thrift.md | 2 +- docs/extras/lang/toml.md | 2 +- docs/extras/lang/typescript.md | 2 +- docs/extras/lang/vue.md | 2 +- docs/extras/lang/yaml.md | 2 +- docs/extras/lang/zig.md | 2 +- docs/extras/linting/eslint.md | 11 ++++++++- docs/extras/lsp/neoconf.md | 2 +- docs/extras/lsp/none-ls.md | 2 +- docs/extras/test/core.md | 2 +- docs/extras/ui/alpha.md | 2 +- docs/extras/ui/dashboard-nvim.md | 2 +- docs/extras/ui/edgy.md | 2 +- docs/extras/ui/indent-blankline.md | 2 +- docs/extras/ui/mini-animate.md | 2 +- docs/extras/ui/mini-indentscope.md | 2 +- docs/extras/ui/mini-starter.md | 2 +- docs/extras/ui/smear-cursor.md | 2 +- docs/extras/ui/treesitter-context.md | 2 +- docs/extras/util/chezmoi.md | 2 +- docs/extras/util/dot.md | 2 +- docs/extras/util/gitui.md | 2 +- docs/extras/util/mini-hipatterns.md | 2 +- docs/extras/util/octo.md | 2 +- docs/extras/util/project.md | 2 +- docs/extras/util/rest.md | 2 +- docs/extras/util/startuptime.md | 2 +- docs/extras/vscode.md | 2 +- lua/build.lua | 2 +- 98 files changed, 234 insertions(+), 98 deletions(-) diff --git a/docs/extras/ai/codeium.md b/docs/extras/ai/codeium.md index 26e5387dda..584ca9ad40 100644 --- a/docs/extras/ai/codeium.md +++ b/docs/extras/ai/codeium.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ai.codeiumBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ai/copilot-chat.md b/docs/extras/ai/copilot-chat.md index 0460c6e270..aaab9fb7b8 100644 --- a/docs/extras/ai/copilot-chat.md +++ b/docs/extras/ai/copilot-chat.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ai.copilot-chatBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index 9623ead647..1c883aa935 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ai.copilotBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ai/supermaven.md b/docs/extras/ai/supermaven.md index d8169fc05a..f03b184960 100644 --- a/docs/extras/ai/supermaven.md +++ b/docs/extras/ai/supermaven.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ai.supermavenBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ai/tabnine.md b/docs/extras/ai/tabnine.md index 49bd1ab42a..871fe61db5 100644 --- a/docs/extras/ai/tabnine.md +++ b/docs/extras/ai/tabnine.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ai.tabnineBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index a4e62ddee2..a2771f7407 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -7,7 +7,18 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.coding.blinkBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- set to `true` to follow the main branch +-- you need to have a working rust toolchain to build the plugin +-- in this case. +vim.g.lazyvim_blink_main = false +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index ea4dea5cab..73dd7b355a 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.coding.luasnipBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/mini-comment.md b/docs/extras/coding/mini-comment.md index 44203cb2e0..5cba4fd597 100644 --- a/docs/extras/coding/mini-comment.md +++ b/docs/extras/coding/mini-comment.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.coding.mini-commentBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/mini-surround.md b/docs/extras/coding/mini-surround.md index 3a47896e4f..c03691a35e 100644 --- a/docs/extras/coding/mini-surround.md +++ b/docs/extras/coding/mini-surround.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.coding.mini-surroundBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/neogen.md b/docs/extras/coding/neogen.md index c2636fbaee..9b06050614 100644 --- a/docs/extras/coding/neogen.md +++ b/docs/extras/coding/neogen.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.coding.neogenBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/nvim-cmp.md b/docs/extras/coding/nvim-cmp.md index e100d5e1db..0a335e9fa4 100644 --- a/docs/extras/coding/nvim-cmp.md +++ b/docs/extras/coding/nvim-cmp.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.coding.nvim-cmpBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/coding/yanky.md b/docs/extras/coding/yanky.md index d6ecddbc84..246b6db7c3 100644 --- a/docs/extras/coding/yanky.md +++ b/docs/extras/coding/yanky.md @@ -9,7 +9,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.coding.yankyBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/dap/core.md b/docs/extras/dap/core.md index 7ce358663d..edb040628e 100644 --- a/docs/extras/dap/core.md +++ b/docs/extras/dap/core.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.dap.coreBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/dap/nlua.md b/docs/extras/dap/nlua.md index 608fb52781..297966cc8b 100644 --- a/docs/extras/dap/nlua.md +++ b/docs/extras/dap/nlua.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.dap.nluaBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/aerial.md b/docs/extras/editor/aerial.md index 143d0d173f..59d0f6e840 100644 --- a/docs/extras/editor/aerial.md +++ b/docs/extras/editor/aerial.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.aerialBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/dial.md b/docs/extras/editor/dial.md index a1d58747a1..4a5b14090c 100644 --- a/docs/extras/editor/dial.md +++ b/docs/extras/editor/dial.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.dialBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 4c3e8185a7..70f01ff269 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -7,7 +7,17 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.fzfBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- In case you don't want to use `:LazyExtras`, +-- then you need to set the option below. +vim.g.lazyvim_picker = "fzf" +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/harpoon2.md b/docs/extras/editor/harpoon2.md index 387304f31c..b31891b85a 100644 --- a/docs/extras/editor/harpoon2.md +++ b/docs/extras/editor/harpoon2.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.harpoon2Below you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/illuminate.md b/docs/extras/editor/illuminate.md index 7bc07691e8..af10eba063 100644 --- a/docs/extras/editor/illuminate.md +++ b/docs/extras/editor/illuminate.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.illuminateBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/inc-rename.md b/docs/extras/editor/inc-rename.md index fd9e7b51bf..02e9c33bae 100644 --- a/docs/extras/editor/inc-rename.md +++ b/docs/extras/editor/inc-rename.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.inc-renameBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/leap.md b/docs/extras/editor/leap.md index bf6a45357e..ef2b4f0bd4 100644 --- a/docs/extras/editor/leap.md +++ b/docs/extras/editor/leap.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.leapBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/mini-diff.md b/docs/extras/editor/mini-diff.md index 8b1e80cfb1..2234cf2370 100644 --- a/docs/extras/editor/mini-diff.md +++ b/docs/extras/editor/mini-diff.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.mini-diffBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/mini-files.md b/docs/extras/editor/mini-files.md index 489c1bf347..6cb36a3217 100644 --- a/docs/extras/editor/mini-files.md +++ b/docs/extras/editor/mini-files.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.mini-filesBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/mini-move.md b/docs/extras/editor/mini-move.md index 4929b3574d..83736f80db 100644 --- a/docs/extras/editor/mini-move.md +++ b/docs/extras/editor/mini-move.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.mini-moveBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/navic.md b/docs/extras/editor/navic.md index 7330836462..dbaa5c90aa 100644 --- a/docs/extras/editor/navic.md +++ b/docs/extras/editor/navic.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.navicBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/outline.md b/docs/extras/editor/outline.md index 2f79834d57..0c81a00348 100644 --- a/docs/extras/editor/outline.md +++ b/docs/extras/editor/outline.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.outlineBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/overseer.md b/docs/extras/editor/overseer.md index 9d74d1c370..bb6560bc60 100644 --- a/docs/extras/editor/overseer.md +++ b/docs/extras/editor/overseer.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.overseerBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/refactoring.md b/docs/extras/editor/refactoring.md index 663119bd5b..04454a21d4 100644 --- a/docs/extras/editor/refactoring.md +++ b/docs/extras/editor/refactoring.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.refactoringBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/editor/telescope.md b/docs/extras/editor/telescope.md index f94114b9c0..b64ccb6732 100644 --- a/docs/extras/editor/telescope.md +++ b/docs/extras/editor/telescope.md @@ -7,7 +7,17 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.editor.telescopeBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- In case you don't want to use `:LazyExtras`, +-- then you need to set the option below. +vim.g.lazyvim_picker = "telescope" +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/formatting/biome.md b/docs/extras/formatting/biome.md index 58a5aef681..4cafb2b34a 100644 --- a/docs/extras/formatting/biome.md +++ b/docs/extras/formatting/biome.md @@ -7,7 +7,16 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.formatting.biomeBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- Enable this option to avoid conflicts with Prettier. +vim.g.lazyvim_prettier_needs_config = true +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/formatting/black.md b/docs/extras/formatting/black.md index 18b8909a82..fcdb98bdd9 100644 --- a/docs/extras/formatting/black.md +++ b/docs/extras/formatting/black.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.formatting.blackBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/formatting/prettier.md b/docs/extras/formatting/prettier.md index f9d9265ad9..cc5d67f52b 100644 --- a/docs/extras/formatting/prettier.md +++ b/docs/extras/formatting/prettier.md @@ -7,7 +7,17 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.formatting.prettierBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- Enable the option to require a Prettier config file +-- If no prettier config file is found, the formatter will not be used +vim.g.lazyvim_prettier_needs_config = false +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/angular.md b/docs/extras/lang/angular.md index f69b5aee2a..a0c9b387a3 100644 --- a/docs/extras/lang/angular.md +++ b/docs/extras/lang/angular.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.angularBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/ansible.md b/docs/extras/lang/ansible.md index 63e80b2cc2..945ee62eb1 100644 --- a/docs/extras/lang/ansible.md +++ b/docs/extras/lang/ansible.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.ansibleBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/astro.md b/docs/extras/lang/astro.md index 8a55c10ad1..43f20394df 100644 --- a/docs/extras/lang/astro.md +++ b/docs/extras/lang/astro.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.astroBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index 692e92f6ca..2080b76d57 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.clangdBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/clojure.md b/docs/extras/lang/clojure.md index c0398133e9..f70bbc9fb6 100644 --- a/docs/extras/lang/clojure.md +++ b/docs/extras/lang/clojure.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.clojureBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/cmake.md b/docs/extras/lang/cmake.md index 60a1376c90..a89528270b 100644 --- a/docs/extras/lang/cmake.md +++ b/docs/extras/lang/cmake.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.cmakeBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/docker.md b/docs/extras/lang/docker.md index fed28a62cf..bf90b23b18 100644 --- a/docs/extras/lang/docker.md +++ b/docs/extras/lang/docker.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.dockerBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/elixir.md b/docs/extras/lang/elixir.md index 4ab27eb16e..8e5d395fbe 100644 --- a/docs/extras/lang/elixir.md +++ b/docs/extras/lang/elixir.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.elixirBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/elm.md b/docs/extras/lang/elm.md index 391d20434d..10982c7dc4 100644 --- a/docs/extras/lang/elm.md +++ b/docs/extras/lang/elm.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.elmBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/erlang.md b/docs/extras/lang/erlang.md index 7142af088c..846b48d0ab 100644 --- a/docs/extras/lang/erlang.md +++ b/docs/extras/lang/erlang.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.erlangBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/git.md b/docs/extras/lang/git.md index 038153d91f..a347610219 100644 --- a/docs/extras/lang/git.md +++ b/docs/extras/lang/git.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.gitBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/gleam.md b/docs/extras/lang/gleam.md index 187f49f9ca..284f93f68b 100644 --- a/docs/extras/lang/gleam.md +++ b/docs/extras/lang/gleam.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.gleamBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/go.md b/docs/extras/lang/go.md index a9ce953a86..64cefa3b37 100644 --- a/docs/extras/lang/go.md +++ b/docs/extras/lang/go.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.goBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/haskell.md b/docs/extras/lang/haskell.md index 8370356875..189ef749ac 100644 --- a/docs/extras/lang/haskell.md +++ b/docs/extras/lang/haskell.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.haskellBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/helm.md b/docs/extras/lang/helm.md index de54eb6833..507ebfe7eb 100644 --- a/docs/extras/lang/helm.md +++ b/docs/extras/lang/helm.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.helmBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index c0165e9da4..b19ad168cf 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.javaBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/json.md b/docs/extras/lang/json.md index 4af860e7a9..d8b5647780 100644 --- a/docs/extras/lang/json.md +++ b/docs/extras/lang/json.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.jsonBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/kotlin.md b/docs/extras/lang/kotlin.md index f8b565022c..a82eeb8321 100644 --- a/docs/extras/lang/kotlin.md +++ b/docs/extras/lang/kotlin.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.kotlinBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/lean.md b/docs/extras/lang/lean.md index 0bfc8db539..e26f513b5f 100644 --- a/docs/extras/lang/lean.md +++ b/docs/extras/lang/lean.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.leanBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/markdown.md b/docs/extras/lang/markdown.md index 4c6af96899..35c29547cb 100644 --- a/docs/extras/lang/markdown.md +++ b/docs/extras/lang/markdown.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.markdownBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/nix.md b/docs/extras/lang/nix.md index ea3829c3bd..a4087d1307 100644 --- a/docs/extras/lang/nix.md +++ b/docs/extras/lang/nix.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.nixBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/nushell.md b/docs/extras/lang/nushell.md index 66fe96f892..38ef76d96d 100644 --- a/docs/extras/lang/nushell.md +++ b/docs/extras/lang/nushell.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.nushellBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/ocaml.md b/docs/extras/lang/ocaml.md index 62357b0de9..bb410d4219 100644 --- a/docs/extras/lang/ocaml.md +++ b/docs/extras/lang/ocaml.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.ocamlBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/omnisharp.md b/docs/extras/lang/omnisharp.md index 56fd6eae48..879d96f473 100644 --- a/docs/extras/lang/omnisharp.md +++ b/docs/extras/lang/omnisharp.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.omnisharpBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/php.md b/docs/extras/lang/php.md index bb196d191c..08c0650c1b 100644 --- a/docs/extras/lang/php.md +++ b/docs/extras/lang/php.md @@ -7,7 +7,17 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.phpBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- LSP Server to use for PHP. +-- Set to "intelephense" to use intelephense instead of phpactor. +vim.g.lazyvim_php_lsp = "intelephense" +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/prisma.md b/docs/extras/lang/prisma.md index 109ca29deb..3c222765a8 100644 --- a/docs/extras/lang/prisma.md +++ b/docs/extras/lang/prisma.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.prismaBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/python.md b/docs/extras/lang/python.md index 21a0f80d70..987e02032a 100644 --- a/docs/extras/lang/python.md +++ b/docs/extras/lang/python.md @@ -7,7 +7,19 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.pythonBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- LSP Server to use for Python. +-- Set to "basedpyright" to use basedpyright instead of pyright. +vim.g.lazyvim_python_lsp = "pyright" +-- Set to "ruff_lsp" to use the old LSP implementation version. +vim.g.lazyvim_python_ruff = "ruff" +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/r.md b/docs/extras/lang/r.md index e47a2eae46..c2b15db096 100644 --- a/docs/extras/lang/r.md +++ b/docs/extras/lang/r.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.rBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/rego.md b/docs/extras/lang/rego.md index 5aa589b2af..f6e26aa071 100644 --- a/docs/extras/lang/rego.md +++ b/docs/extras/lang/rego.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.regoBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/ruby.md b/docs/extras/lang/ruby.md index c02e9c3e31..f67b981de2 100644 --- a/docs/extras/lang/ruby.md +++ b/docs/extras/lang/ruby.md @@ -7,7 +7,18 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.rubyBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- LSP Server to use for Ruby. +-- Set to "solargraph" to use solargraph instead of ruby_lsp. +vim.g.lazyvim_ruby_lsp = "ruby_lsp" +vim.g.lazyvim_ruby_formatter = "rubocop" +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/rust.md b/docs/extras/lang/rust.md index eab685e99e..7c76ca494b 100644 --- a/docs/extras/lang/rust.md +++ b/docs/extras/lang/rust.md @@ -7,7 +7,19 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.rustBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- LSP Server to use for Rust. +-- Set to "bacon-ls" to use bacon-ls instead of rust-analyzer. +-- only for diagnostics. The rest of LSP support will still be +-- provided by rust-analyzer. +vim.g.lazyvim_rust_diagnostics = "rust-analyzer" +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/scala.md b/docs/extras/lang/scala.md index 65d6187809..31e2d77085 100644 --- a/docs/extras/lang/scala.md +++ b/docs/extras/lang/scala.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.scalaBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/sql.md b/docs/extras/lang/sql.md index 99e8cbfd9d..5c0e9dd455 100644 --- a/docs/extras/lang/sql.md +++ b/docs/extras/lang/sql.md @@ -7,7 +7,39 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.sqlBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- The setup below will automatically configure connections without the need for manual input each time. + +-- Example configuration using dictionary with keys: +-- vim.g.dbs = { +-- dev = "Replace with your database connection URL.", +-- staging = "Replace with your database connection URL.", +-- } +-- or +-- Example configuration using a list of dictionaries: +-- vim.g.dbs = { +-- { name = "dev", url = "Replace with your database connection URL." }, +-- { name = "staging", url = "Replace with your database connection URL." }, +-- } + +-- or +-- Create a `.lazy.lua` file in your project and set your connections like this: +-- ```lua +-- vim.g.dbs = {...} +-- +-- return {} +-- ``` + +-- Alternatively, you can also use other methods to inject your environment variables. + +-- Finally, please make sure to add `.lazy.lua` to your `.gitignore` file to protect your secrets. +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/svelte.md b/docs/extras/lang/svelte.md index fcad284408..6fa6e4333d 100644 --- a/docs/extras/lang/svelte.md +++ b/docs/extras/lang/svelte.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.svelteBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/tailwind.md b/docs/extras/lang/tailwind.md index d933380bca..5868f4b0f0 100644 --- a/docs/extras/lang/tailwind.md +++ b/docs/extras/lang/tailwind.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.tailwindBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/terraform.md b/docs/extras/lang/terraform.md index 8b67a568fd..3a605b5a43 100644 --- a/docs/extras/lang/terraform.md +++ b/docs/extras/lang/terraform.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.terraformBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/tex.md b/docs/extras/lang/tex.md index 7be392ce41..cdf44203aa 100644 --- a/docs/extras/lang/tex.md +++ b/docs/extras/lang/tex.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.texBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/thrift.md b/docs/extras/lang/thrift.md index 4ca7278cea..c1a0b28fd0 100644 --- a/docs/extras/lang/thrift.md +++ b/docs/extras/lang/thrift.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.thriftBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/toml.md b/docs/extras/lang/toml.md index 86c1108cac..0d091c8d2a 100644 --- a/docs/extras/lang/toml.md +++ b/docs/extras/lang/toml.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.tomlBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index 3deb2b86c8..bff51eefdf 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.typescriptBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/vue.md b/docs/extras/lang/vue.md index 9db0d33dcd..f6c04d50c9 100644 --- a/docs/extras/lang/vue.md +++ b/docs/extras/lang/vue.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.vueBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/yaml.md b/docs/extras/lang/yaml.md index 68a2313f3c..4187fe9b2b 100644 --- a/docs/extras/lang/yaml.md +++ b/docs/extras/lang/yaml.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.yamlBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lang/zig.md b/docs/extras/lang/zig.md index 43897a9c73..ce82de8539 100644 --- a/docs/extras/lang/zig.md +++ b/docs/extras/lang/zig.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lang.zigBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/linting/eslint.md b/docs/extras/linting/eslint.md index 06f5664ae3..8b8b636a79 100644 --- a/docs/extras/linting/eslint.md +++ b/docs/extras/linting/eslint.md @@ -7,7 +7,16 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.linting.eslintBelow you can find a list of included plugins and their default settings. +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- Set to false to disable auto format +vim.g.lazyvim_eslint_auto_format = true +``` + +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lsp/neoconf.md b/docs/extras/lsp/neoconf.md index f24aefa073..a560647b37 100644 --- a/docs/extras/lsp/neoconf.md +++ b/docs/extras/lsp/neoconf.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lsp.neoconfBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/lsp/none-ls.md b/docs/extras/lsp/none-ls.md index 41617960c3..d5a87ae9d6 100644 --- a/docs/extras/lsp/none-ls.md +++ b/docs/extras/lsp/none-ls.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.lsp.none-lsBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/test/core.md b/docs/extras/test/core.md index 1bb243223c..7c3f060cbb 100644 --- a/docs/extras/test/core.md +++ b/docs/extras/test/core.md @@ -21,7 +21,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.test.coreBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/alpha.md b/docs/extras/ui/alpha.md index fea5b52e60..83fe60843f 100644 --- a/docs/extras/ui/alpha.md +++ b/docs/extras/ui/alpha.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.alphaBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/dashboard-nvim.md b/docs/extras/ui/dashboard-nvim.md index 537c340eaf..8d31c7aa6a 100644 --- a/docs/extras/ui/dashboard-nvim.md +++ b/docs/extras/ui/dashboard-nvim.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.dashboard-nvimBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/edgy.md b/docs/extras/ui/edgy.md index 9bfe013091..17414e16c2 100644 --- a/docs/extras/ui/edgy.md +++ b/docs/extras/ui/edgy.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.edgyBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/indent-blankline.md b/docs/extras/ui/indent-blankline.md index 89711b3166..c626c06ac5 100644 --- a/docs/extras/ui/indent-blankline.md +++ b/docs/extras/ui/indent-blankline.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.indent-blanklineBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/mini-animate.md b/docs/extras/ui/mini-animate.md index 0a64c3da07..a000366efe 100644 --- a/docs/extras/ui/mini-animate.md +++ b/docs/extras/ui/mini-animate.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.mini-animateBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/mini-indentscope.md b/docs/extras/ui/mini-indentscope.md index a910bc10d2..c4ba22b34a 100644 --- a/docs/extras/ui/mini-indentscope.md +++ b/docs/extras/ui/mini-indentscope.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.mini-indentscopeBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/mini-starter.md b/docs/extras/ui/mini-starter.md index f123c64e06..f0a6937964 100644 --- a/docs/extras/ui/mini-starter.md +++ b/docs/extras/ui/mini-starter.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.mini-starterBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/smear-cursor.md b/docs/extras/ui/smear-cursor.md index cea2b95533..40e1759cbe 100644 --- a/docs/extras/ui/smear-cursor.md +++ b/docs/extras/ui/smear-cursor.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.smear-cursorBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/ui/treesitter-context.md b/docs/extras/ui/treesitter-context.md index 6702fc5a02..d7bad09730 100644 --- a/docs/extras/ui/treesitter-context.md +++ b/docs/extras/ui/treesitter-context.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.ui.treesitter-contextBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/chezmoi.md b/docs/extras/util/chezmoi.md index 415733cd0a..03ff171595 100644 --- a/docs/extras/util/chezmoi.md +++ b/docs/extras/util/chezmoi.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.util.chezmoiBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/dot.md b/docs/extras/util/dot.md index 1c82710810..411d5449e1 100644 --- a/docs/extras/util/dot.md +++ b/docs/extras/util/dot.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.util.dotBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/gitui.md b/docs/extras/util/gitui.md index ba9662fc30..31e525e0d1 100644 --- a/docs/extras/util/gitui.md +++ b/docs/extras/util/gitui.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.util.gituiBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/mini-hipatterns.md b/docs/extras/util/mini-hipatterns.md index 0fe4834e55..2ec0cdf417 100644 --- a/docs/extras/util/mini-hipatterns.md +++ b/docs/extras/util/mini-hipatterns.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.util.mini-hipatternsBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/octo.md b/docs/extras/util/octo.md index 5b7c001951..87ac2b4e7d 100644 --- a/docs/extras/util/octo.md +++ b/docs/extras/util/octo.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.util.octoBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/project.md b/docs/extras/util/project.md index 762ffb4597..42d0a86ac6 100644 --- a/docs/extras/util/project.md +++ b/docs/extras/util/project.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.util.projectBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/rest.md b/docs/extras/util/rest.md index ad0f927456..1db866b989 100644 --- a/docs/extras/util/rest.md +++ b/docs/extras/util/rest.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.util.restBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/util/startuptime.md b/docs/extras/util/startuptime.md index 3927b5a2dd..6f3a4b2406 100644 --- a/docs/extras/util/startuptime.md +++ b/docs/extras/util/startuptime.md @@ -7,7 +7,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.util.startuptimeBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/docs/extras/vscode.md b/docs/extras/vscode.md index 9bd0650a07..e65c5ce642 100644 --- a/docs/extras/vscode.md +++ b/docs/extras/vscode.md @@ -35,7 +35,7 @@ You can enable the extra with the `:LazyExtras` command. Plugins marked as optional will only be configured if they are installed. ::: -lazyvim.plugins.extras.vscodeBelow you can find a list of included plugins and their default settings. +Below you can find a list of included plugins and their default settings. :::caution You don't need to copy the default settings to your config. diff --git a/lua/build.lua b/lua/build.lua index 70fd9a27fe..b71d8d33b1 100644 --- a/lua/build.lua +++ b/lua/build.lua @@ -314,7 +314,7 @@ Plugins marked as optional will only be configured if they are installed. You don't need to copy the default settings to your config. They are only shown here for reference. ::: -]]):format(modname, options or ""), +]]):format(options or ""), M.plugins("extras/" .. path:gsub(".*/extras/", "")).content, "", }) From be08d014c16954f62bd5395d58a5b6ce97b8dec2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 18 Dec 2024 22:18:58 +0000 Subject: [PATCH 035/187] chore(build): auto-generate docs --- docs/extras/ai/codeium.md | 1 + docs/extras/editor/fzf.md | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/extras/ai/codeium.md b/docs/extras/ai/codeium.md index 584ca9ad40..460634bc36 100644 --- a/docs/extras/ai/codeium.md +++ b/docs/extras/ai/codeium.md @@ -49,6 +49,7 @@ opts = { { "Exafunction/codeium.nvim", cmd = "Codeium", + event = "InsertEnter", build = ":Codeium Auth", opts = { enable_cmp_source = vim.g.ai_cmp, diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 70f01ff269..21f9c26141 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -79,9 +79,6 @@ opts = function(_, opts) return { "default-title", fzf_colors = true, - fzf_opts = { - ["--no-scrollbar"] = true, - }, defaults = { -- formatter = "path.filename_first", formatter = "path.dirname_first", @@ -105,6 +102,9 @@ opts = function(_, opts) winopts = { title = " " .. vim.trim((fzf_opts.prompt or "Select"):gsub("%s*:%s*$", "")) .. " ", title_pos = "center", + preview = { + scrollbar = false, + }, }, }, fzf_opts.kind == "codeaction" and { winopts = { @@ -223,9 +223,6 @@ end return { "default-title", fzf_colors = true, - fzf_opts = { - ["--no-scrollbar"] = true, - }, defaults = { -- formatter = "path.filename_first", formatter = "path.dirname_first", @@ -249,6 +246,9 @@ end winopts = { title = " " .. vim.trim((fzf_opts.prompt or "Select"):gsub("%s*:%s*$", "")) .. " ", title_pos = "center", + preview = { + scrollbar = false, + }, }, }, fzf_opts.kind == "codeaction" and { winopts = { From 2dbef082c72d9b209efe78f867ffacb2a91e1b0c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 19 Dec 2024 08:26:29 +0000 Subject: [PATCH 036/187] chore(build): auto-generate docs --- docs/extras/editor/fzf.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 21f9c26141..70f01ff269 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -79,6 +79,9 @@ opts = function(_, opts) return { "default-title", fzf_colors = true, + fzf_opts = { + ["--no-scrollbar"] = true, + }, defaults = { -- formatter = "path.filename_first", formatter = "path.dirname_first", @@ -102,9 +105,6 @@ opts = function(_, opts) winopts = { title = " " .. vim.trim((fzf_opts.prompt or "Select"):gsub("%s*:%s*$", "")) .. " ", title_pos = "center", - preview = { - scrollbar = false, - }, }, }, fzf_opts.kind == "codeaction" and { winopts = { @@ -223,6 +223,9 @@ end return { "default-title", fzf_colors = true, + fzf_opts = { + ["--no-scrollbar"] = true, + }, defaults = { -- formatter = "path.filename_first", formatter = "path.dirname_first", @@ -246,9 +249,6 @@ end winopts = { title = " " .. vim.trim((fzf_opts.prompt or "Select"):gsub("%s*:%s*$", "")) .. " ", title_pos = "center", - preview = { - scrollbar = false, - }, }, }, fzf_opts.kind == "codeaction" and { winopts = { From 55a2c17b653fd5eb8dd939e76392b5728bb3234b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 19 Dec 2024 15:20:55 +0000 Subject: [PATCH 037/187] chore(build): auto-generate docs --- docs/extras/ai/supermaven.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/extras/ai/supermaven.md b/docs/extras/ai/supermaven.md index f03b184960..14fc8b9d12 100644 --- a/docs/extras/ai/supermaven.md +++ b/docs/extras/ai/supermaven.md @@ -41,6 +41,11 @@ opts = { ```lua { "supermaven-inc/supermaven-nvim", + event = "InsertEnter", + cmd = { + "SupermavenUseFree", + "SupermavenUsePro", + }, opts = { keymaps = { accept_suggestion = nil, -- handled by nvim-cmp / blink.cmp From 323db033bf20fc25731aa5c78cfdcae24c913641 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 20 Dec 2024 08:24:52 +0000 Subject: [PATCH 038/187] chore(build): auto-generate docs --- docs/plugins/ui.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index 1cde3bfd0b..09aaa8d705 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -211,7 +211,7 @@ opts = function() end, }, }, - extensions = { "neo-tree", "lazy" }, + extensions = { "neo-tree", "lazy", "fzf" }, } -- do not add trouble symbols if aerial is enabled @@ -345,7 +345,7 @@ end end, }, }, - extensions = { "neo-tree", "lazy" }, + extensions = { "neo-tree", "lazy", "fzf" }, } -- do not add trouble symbols if aerial is enabled From d9057841a40cd2161fe07327bd7a25a5067a1140 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 20 Dec 2024 17:16:44 +0000 Subject: [PATCH 039/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index a2771f7407..950e6444ec 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -201,17 +201,6 @@ opts = { end end - --- NOTE: compat with latest version. Currenlty 0.7.6 - if not vim.g.lazyvim_blink_main then - ---@diagnostic disable-next-line: inject-field - opts.sources.completion = opts.sources.completion or {} - opts.sources.completion.enabled_providers = enabled - if vim.tbl_get(opts, "completion", "menu", "draw", "treesitter") then - ---@diagnostic disable-next-line: assign-type-mismatch - opts.completion.menu.draw.treesitter = true - end - end - -- Unset custom prop to pass blink.cmp validation opts.sources.compat = nil From 725de34ab2cc888433ee8a5b847c3982821593a7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 20 Dec 2024 18:26:00 +0000 Subject: [PATCH 040/187] chore(build): auto-generate docs --- docs/extras/coding/luasnip.md | 54 ++--------------------------------- 1 file changed, 2 insertions(+), 52 deletions(-) diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index 73dd7b355a..ed50f65133 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -162,52 +162,6 @@ opts = nil - - -```lua -{ "saadparwaiz1/cmp_luasnip" } -``` - - - -
- -## [blink.compat](https://github.com/saghen/blink.compat) - - - - - -```lua -opts = { impersonate_nvim_cmp = true } -``` - - - - - - -```lua -{ "saghen/blink.compat", opts = { impersonate_nvim_cmp = true } } -``` - - - - - -## [cmp_luasnip](https://github.com/saadparwaiz1/cmp_luasnip) - - - - - -```lua -opts = nil -``` - - - - ```lua @@ -279,7 +233,7 @@ end ```lua opts = { - sources = { compat = { "luasnip" } }, + sources = { default = { "luasnip" } }, snippets = { expand = function(snippet) require("luasnip").lsp_expand(snippet) @@ -306,12 +260,8 @@ opts = { { "saghen/blink.cmp", optional = true, - dependencies = { - { "saghen/blink.compat", opts = { impersonate_nvim_cmp = true } }, - { "saadparwaiz1/cmp_luasnip" }, - }, opts = { - sources = { compat = { "luasnip" } }, + sources = { default = { "luasnip" } }, snippets = { expand = function(snippet) require("luasnip").lsp_expand(snippet) From 810df08328bb89b0b61604a7ba7d72a91487d4d7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 6 Jan 2025 05:19:09 +0000 Subject: [PATCH 041/187] chore(build): auto-generate docs --- docs/extras/editor/fzf.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 70f01ff269..47674a5493 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -35,8 +35,9 @@ import TabItem from '@theme/TabItem'; ```lua opts = function(_, opts) - local config = require("fzf-lua.config") - local actions = require("fzf-lua.actions") + local fzf = require("fzf-lua") + local config = fzf.config + local actions = fzf.actions -- Quickfix config.defaults.keymap.fzf["ctrl-q"] = "select-all+accept" @@ -179,8 +180,9 @@ end "ibhagwan/fzf-lua", cmd = "FzfLua", opts = function(_, opts) - local config = require("fzf-lua.config") - local actions = require("fzf-lua.actions") + local fzf = require("fzf-lua") + local config = fzf.config + local actions = fzf.actions -- Quickfix config.defaults.keymap.fzf["ctrl-q"] = "select-all+accept" From e5e3dc9effa22b918981a46b3b462a669b807596 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 7 Jan 2025 11:15:42 +0000 Subject: [PATCH 042/187] chore(build): auto-generate docs --- docs/extras/coding/luasnip.md | 42 +++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index ed50f65133..1794d6807a 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -233,7 +233,6 @@ end ```lua opts = { - sources = { default = { "luasnip" } }, snippets = { expand = function(snippet) require("luasnip").lsp_expand(snippet) @@ -261,7 +260,6 @@ opts = { "saghen/blink.cmp", optional = true, opts = { - sources = { default = { "luasnip" } }, snippets = { expand = function(snippet) require("luasnip").lsp_expand(snippet) @@ -284,4 +282,44 @@ opts = { +## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ + + Luasnip sources for blink + + + + + + +```lua +opts = function(_, opts) + table.insert(opts.sources.default, "luasnip") + opts.sources.default = vim.tbl_filter(function(p) + return p ~= "snippets" + end, opts.sources.default) +end +``` + + + + + + +```lua +{ + "saghen/blink.cmp", + optional = true, + opts = function(_, opts) + table.insert(opts.sources.default, "luasnip") + opts.sources.default = vim.tbl_filter(function(p) + return p ~= "snippets" + end, opts.sources.default) + end, +} +``` + + + + + From 897e79055d21eab96bb0105e4983386150c94db2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Jan 2025 07:17:43 +0000 Subject: [PATCH 043/187] chore(build): auto-generate docs --- docs/extras/coding/luasnip.md | 66 ++--------------------------------- 1 file changed, 2 insertions(+), 64 deletions(-) diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index 1794d6807a..1f51728880 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -234,18 +234,7 @@ end ```lua opts = { snippets = { - expand = function(snippet) - require("luasnip").lsp_expand(snippet) - end, - active = function(filter) - if filter and filter.direction then - return require("luasnip").jumpable(filter.direction) - end - return require("luasnip").in_snippet() - end, - jump = function(direction) - require("luasnip").jump(direction) - end, + preset = "luasnip", }, } ``` @@ -261,18 +250,7 @@ opts = { optional = true, opts = { snippets = { - expand = function(snippet) - require("luasnip").lsp_expand(snippet) - end, - active = function(filter) - if filter and filter.direction then - return require("luasnip").jumpable(filter.direction) - end - return require("luasnip").in_snippet() - end, - jump = function(direction) - require("luasnip").jump(direction) - end, + preset = "luasnip", }, }, } @@ -282,44 +260,4 @@ opts = {
-## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ - - Luasnip sources for blink - - - - - - -```lua -opts = function(_, opts) - table.insert(opts.sources.default, "luasnip") - opts.sources.default = vim.tbl_filter(function(p) - return p ~= "snippets" - end, opts.sources.default) -end -``` - - - - - - -```lua -{ - "saghen/blink.cmp", - optional = true, - opts = function(_, opts) - table.insert(opts.sources.default, "luasnip") - opts.sources.default = vim.tbl_filter(function(p) - return p ~= "snippets" - end, opts.sources.default) - end, -} -``` - - - - - From 328d6e4a9035d9febef4cdcf5122c6b6b5df9497 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 14 Jan 2025 22:17:25 +0000 Subject: [PATCH 044/187] chore(build): auto-generate docs --- docs/configuration/general.md | 8 +- docs/extras/editor/fzf.md | 6 + docs/extras/editor/snacks_picker.md | 250 ++++++++++++++++++++++++++++ docs/keymaps.md | 49 ++++++ docs/plugins/editor.md | 1 + docs/plugins/ui.md | 6 + 6 files changed, 316 insertions(+), 4 deletions(-) create mode 100644 docs/extras/editor/snacks_picker.md diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 6baf0ef9cb..19fcee52ed 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -349,12 +349,12 @@ end if vim.fn.executable("lazygit") == 1 then map("n", "gg", function() Snacks.lazygit( { cwd = LazyVim.root.git() }) end, { desc = "Lazygit (Root Dir)" }) map("n", "gG", function() Snacks.lazygit() end, { desc = "Lazygit (cwd)" }) - map("n", "gf", function() Snacks.lazygit.log_file() end, { desc = "Lazygit Current File History" }) - map("n", "gl", function() Snacks.lazygit.log({ cwd = LazyVim.root.git() }) end, { desc = "Lazygit Log" }) - map("n", "gL", function() Snacks.lazygit.log() end, { desc = "Lazygit Log (cwd)" }) + map("n", "gf", function() Snacks.picker.git_log_file() end, { desc = "Git Current File History" }) + map("n", "gl", function() Snacks.picker.git_log({ cwd = LazyVim.root.git() }) end, { desc = "Git Log" }) + map("n", "gL", function() Snacks.picker.git_log() end, { desc = "Git Log (cwd)" }) end -map("n", "gb", function() Snacks.git.blame_line() end, { desc = "Git Blame Line" }) +map("n", "gb", function() Snacks.picker.git_log_line() end, { desc = "Git Blame Line" }) map({ "n", "x" }, "gB", function() Snacks.gitbrowse() end, { desc = "Git Browse (open)" }) map({"n", "x" }, "gY", function() Snacks.gitbrowse({ open = function(url) vim.fn.setreg("+", url) end, notify = false }) diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 47674a5493..03fe26559b 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -444,6 +444,9 @@ opts = nil ```lua opts = function() + if LazyVim.pick.want() ~= "fzf" then + return + end local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { @@ -464,6 +467,9 @@ end { "neovim/nvim-lspconfig", opts = function() + if LazyVim.pick.want() ~= "fzf" then + return + end local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md new file mode 100644 index 0000000000..608147eb2e --- /dev/null +++ b/docs/extras/editor/snacks_picker.md @@ -0,0 +1,250 @@ +# `Snacks_picker` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- In case you don't want to use `:LazyExtras`, +-- then you need to set the option below. +vim.g.lazyvim_picker = "snacks" +``` + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + recommended = true, + + + + + + +```lua +opts = { + picker = {}, +} +``` + + + + + + +```lua +{ + "folke/snacks.nvim", + opts = { + picker = {}, + }, + -- stylua: ignore + keys = { + { ",", function() Snacks.picker.buffers() end, desc = "Buffers" }, + { "/", LazyVim.pick("grep"), desc = "Grep (Root Dir)" }, + { ":", function() Snacks.picker.command_history() end, desc = "Command History" }, + { "", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, + -- find + { "fb", function() Snacks.picker.buffers() end, desc = "Buffers" }, + { "fc", LazyVim.pick.config_files(), desc = "Find Config File" }, + { "ff", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, + { "fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, + { "fg", function() Snacks.picker.git_files() end, desc = "Find Files (git-files)" }, + { "fr", LazyVim.pick("oldfiles"), desc = "Recent" }, + { "fR", LazyVim.pick("oldfiles", { only_cwd = true }), desc = "Recent (cwd)" }, + -- git + { "gc", function() Snacks.picker.git_log() end, desc = "Git Log" }, + { "gs", function() Snacks.picker.git_status() end, desc = "Git Status" }, + -- Grep + { "sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" }, + { "sB", function() Snacks.picker.grep_buffers() end, desc = "Grep Open Buffers" }, + { "sg", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" }, + { "sG", LazyVim.pick("live_grep", { root = false }), desc = "Grep (cwd)" }, + { "sw", LazyVim.pick("grep_word"), desc = "Visual selection or word (Root Dir)", mode = { "n", "x" } }, + { "sW", LazyVim.pick("grep_word", { root = false }), desc = "Visual selection or word (cwd)", mode = { "n", "x" } }, + -- search + { 's"', function() Snacks.picker.registers() end, desc = "Registers" }, + { "sa", function() Snacks.picker.autocmds() end, desc = "Autocmds" }, + { "sc", function() Snacks.picker.command_history() end, desc = "Command History" }, + { "sC", function() Snacks.picker.commands() end, desc = "Commands" }, + { "sd", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" }, + { "sh", function() Snacks.picker.help() end, desc = "Help Pages" }, + { "sH", function() Snacks.picker.highlights() end, desc = "Highlights" }, + { "sj", function() Snacks.picker.jumps() end, desc = "Jumps" }, + { "sk", function() Snacks.picker.keymaps() end, desc = "Keymaps" }, + { "sl", function() Snacks.picker.loclist() end, desc = "Location List" }, + { "sM", function() Snacks.picker.man() end, desc = "Man Pages" }, + { "sm", function() Snacks.picker.marks() end, desc = "Marks" }, + { "sR", function() Snacks.picker.resume() end, desc = "Resume" }, + { "sq", function() Snacks.picker.qflist() end, desc = "Quickfix List" }, + { "uC", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" }, + { "qp", function() Snacks.picker.projects() end, desc = "Projects" }, + }, +} +``` + + + + + +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + + + + +```lua +opts = function(_, opts) + if LazyVim.has("trouble.nvim") then + return vim.tbl_deep_extend("force", opts or {}, { + picker = { + actions = require("trouble.sources.snacks").actions, + win = { + input = { + keys = { + [""] = { + "trouble_open", + mode = { "n", "i" }, + }, + }, + }, + }, + }, + }) + end +end +``` + + + + + + +```lua +{ + "folke/snacks.nvim", + opts = function(_, opts) + if LazyVim.has("trouble.nvim") then + return vim.tbl_deep_extend("force", opts or {}, { + picker = { + actions = require("trouble.sources.snacks").actions, + win = { + input = { + keys = { + [""] = { + "trouble_open", + mode = { "n", "i" }, + }, + }, + }, + }, + }, + }) + end + end, +} +``` + + + + + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + + + + +```lua +opts = function() + if LazyVim.pick.want() ~= "snacks" then + return + end + local Keys = require("lazyvim.plugins.lsp.keymaps").get() + -- stylua: ignore + vim.list_extend(Keys, { + { "gd", function() Snacks.picker.lsp_definitions() end, desc = "Goto Definition", has = "definition" }, + { "gr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" }, + { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, + { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, + { "ss", function() Snacks.picker.lsp_symbols() end, desc = "LSP Symbols", has = "documentSymbol" }, + }) +end +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = function() + if LazyVim.pick.want() ~= "snacks" then + return + end + local Keys = require("lazyvim.plugins.lsp.keymaps").get() + -- stylua: ignore + vim.list_extend(Keys, { + { "gd", function() Snacks.picker.lsp_definitions() end, desc = "Goto Definition", has = "definition" }, + { "gr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" }, + { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, + { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, + { "ss", function() Snacks.picker.lsp_symbols() end, desc = "LSP Symbols", has = "documentSymbol" }, + }) + end, +} +``` + + + + + +## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim) _(optional)_ + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "folke/todo-comments.nvim", + optional = true, + -- stylua: ignore + keys = { + { "st", function() Snacks.picker.todo_comments() end, desc = "Todo" }, + { "sT", function () Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } }) end, desc = "Todo/Fix/Fixme" }, + }, +} +``` + + + + + + diff --git a/docs/keymaps.md b/docs/keymaps.md index 39ba2d3bcf..7b2511f3c9 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -553,6 +553,55 @@ Part of [lazyvim.plugins.extras.editor.refactoring](/extras/editor/refactoring) | <leader>rs | Refactor | **v** | | <leader>rx | Extract Variable | **v** | +## [snacks.nvim](https://github.com/folke/snacks.nvim.git) +Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_picker) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader><space> | Find Files (Root Dir) | **n** | +| <leader>, | Buffers | **n** | +| <leader>/ | Grep (Root Dir) | **n** | +| <leader>: | Command History | **n** | +| <leader>fb | Buffers | **n** | +| <leader>fc | Find Config File | **n** | +| <leader>ff | Find Files (Root Dir) | **n** | +| <leader>fF | Find Files (cwd) | **n** | +| <leader>fg | Find Files (git-files) | **n** | +| <leader>fr | Recent | **n** | +| <leader>fR | Recent (cwd) | **n** | +| <leader>gc | Git Log | **n** | +| <leader>gs | Git Status | **n** | +| <leader>qp | Projects | **n** | +| <leader>s" | Registers | **n** | +| <leader>sa | Autocmds | **n** | +| <leader>sb | Buffer Lines | **n** | +| <leader>sB | Grep Open Buffers | **n** | +| <leader>sc | Command History | **n** | +| <leader>sC | Commands | **n** | +| <leader>sd | Diagnostics | **n** | +| <leader>sg | Grep (Root Dir) | **n** | +| <leader>sG | Grep (cwd) | **n** | +| <leader>sh | Help Pages | **n** | +| <leader>sH | Highlights | **n** | +| <leader>sj | Jumps | **n** | +| <leader>sk | Keymaps | **n** | +| <leader>sl | Location List | **n** | +| <leader>sm | Marks | **n** | +| <leader>sM | Man Pages | **n** | +| <leader>sq | Quickfix List | **n** | +| <leader>sR | Resume | **n** | +| <leader>sw | Visual selection or word (Root Dir) | **n**, **x** | +| <leader>sW | Visual selection or word (cwd) | **n**, **x** | +| <leader>uC | Colorschemes | **n** | + +## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) +Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_picker) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>st | Todo | **n** | +| <leader>sT | Todo/Fix/Fixme | **n** | + ## [nvim-ansible](https://github.com/mfussenegger/nvim-ansible.git) Part of [lazyvim.plugins.extras.lang.ansible](/extras/lang/ansible) diff --git a/docs/plugins/editor.md b/docs/plugins/editor.md index f8cdc4493f..22319385b1 100644 --- a/docs/plugins/editor.md +++ b/docs/plugins/editor.md @@ -8,6 +8,7 @@ import TabItem from '@theme/TabItem'; ### Includes the following extras - [editor.fzf](/extras/editor/fzf) +- [editor.snacks_picker](/extras/editor/snacks_picker) - [editor.telescope](/extras/editor/telescope) ## [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index 09aaa8d705..3e3c7e6fce 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -617,6 +617,9 @@ opts = { opts = { dashboard = { preset = { + pick = function(cmd, opts) + return LazyVim.pick(cmd, opts)() + end, header = [[ ██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z ██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z @@ -654,6 +657,9 @@ opts = { opts = { dashboard = { preset = { + pick = function(cmd, opts) + return LazyVim.pick(cmd, opts)() + end, header = [[ ██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z ██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z From 0e2b6f2d7cc374c9e19b98aa47f1fe82c625afe9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 15 Jan 2025 19:14:25 +0000 Subject: [PATCH 045/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 608147eb2e..a6c5720f3f 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -66,7 +66,7 @@ opts = { { "fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, { "fg", function() Snacks.picker.git_files() end, desc = "Find Files (git-files)" }, { "fr", LazyVim.pick("oldfiles"), desc = "Recent" }, - { "fR", LazyVim.pick("oldfiles", { only_cwd = true }), desc = "Recent (cwd)" }, + { "fR", LazyVim.pick("oldfiles", { filter = { cwd = true }}), desc = "Recent (cwd)" }, -- git { "gc", function() Snacks.picker.git_log() end, desc = "Git Log" }, { "gs", function() Snacks.picker.git_status() end, desc = "Git Status" }, From 624ebb283d2bde6107eb32ab79c514c59c47cc46 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 16 Jan 2025 09:19:10 +0000 Subject: [PATCH 046/187] chore(build): auto-generate docs --- docs/extras/editor/dial.md | 10 ++++++++++ docs/extras/editor/snacks_picker.md | 1 + docs/extras/lang/markdown.md | 6 ++++++ docs/keymaps.md | 1 + 4 files changed, 18 insertions(+) diff --git a/docs/extras/editor/dial.md b/docs/extras/editor/dial.md index 4a5b14090c..5e852ea13b 100644 --- a/docs/extras/editor/dial.md +++ b/docs/extras/editor/dial.md @@ -142,6 +142,11 @@ opts = function() }), }, markdown = { + augend.constant.new({ + elements = { "[ ]", "[x]" }, + word = false, + cyclic = true, + }), augend.misc.alias.markdown_header, }, json = { @@ -299,6 +304,11 @@ end }), }, markdown = { + augend.constant.new({ + elements = { "[ ]", "[x]" }, + word = false, + cyclic = true, + }), augend.misc.alias.markdown_header, }, json = { diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index a6c5720f3f..6c024f15af 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -69,6 +69,7 @@ opts = { { "fR", LazyVim.pick("oldfiles", { filter = { cwd = true }}), desc = "Recent (cwd)" }, -- git { "gc", function() Snacks.picker.git_log() end, desc = "Git Log" }, + { "gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (hunks)" }, { "gs", function() Snacks.picker.git_status() end, desc = "Git Status" }, -- Grep { "sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" }, diff --git a/docs/extras/lang/markdown.md b/docs/extras/lang/markdown.md index 35c29547cb..f96e250bd2 100644 --- a/docs/extras/lang/markdown.md +++ b/docs/extras/lang/markdown.md @@ -161,6 +161,9 @@ opts = { sign = false, icons = {}, }, + checkbox = { + enabled = false, + }, } ``` @@ -182,6 +185,9 @@ opts = { sign = false, icons = {}, }, + checkbox = { + enabled = false, + }, }, ft = { "markdown", "norg", "rmd", "org" }, config = function(_, opts) diff --git a/docs/keymaps.md b/docs/keymaps.md index 7b2511f3c9..854d9b9ba4 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -570,6 +570,7 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>fr | Recent | **n** | | <leader>fR | Recent (cwd) | **n** | | <leader>gc | Git Log | **n** | +| <leader>gd | Git Diff (hunks) | **n** | | <leader>gs | Git Status | **n** | | <leader>qp | Projects | **n** | | <leader>s" | Registers | **n** | From a60cb3221ce0a35d9002ca7ef647d322766609a2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 16 Jan 2025 11:15:07 +0000 Subject: [PATCH 047/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 6c024f15af..f182bd4453 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -183,7 +183,7 @@ opts = function() { "gr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" }, { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, - { "ss", function() Snacks.picker.lsp_symbols() end, desc = "LSP Symbols", has = "documentSymbol" }, + { "ss", function() Snacks.picker.lsp_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Symbols", has = "documentSymbol" }, }) end ``` @@ -207,7 +207,7 @@ end { "gr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" }, { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, - { "ss", function() Snacks.picker.lsp_symbols() end, desc = "LSP Symbols", has = "documentSymbol" }, + { "ss", function() Snacks.picker.lsp_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Symbols", has = "documentSymbol" }, }) end, } From ebb96042d80450891d1430f0f7250f1a8f1bf9ff Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 17 Jan 2025 09:19:04 +0000 Subject: [PATCH 048/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 950e6444ec..370fed2557 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -285,9 +285,7 @@ opts = nil ```lua opts = function(_, opts) opts.appearance = opts.appearance or {} - opts.appearance.kind_icons = vim.tbl_extend("keep", { - Color = "██", -- Use block instead of icon for color items to make swatches more usable - }, LazyVim.config.icons.kinds) + opts.appearance.kind_icons = vim.tbl_extend("force", opts.appearance.kind_icons or {}, LazyVim.config.icons.kinds) end ``` @@ -301,9 +299,7 @@ end "saghen/blink.cmp", opts = function(_, opts) opts.appearance = opts.appearance or {} - opts.appearance.kind_icons = vim.tbl_extend("keep", { - Color = "██", -- Use block instead of icon for color items to make swatches more usable - }, LazyVim.config.icons.kinds) + opts.appearance.kind_icons = vim.tbl_extend("force", opts.appearance.kind_icons or {}, LazyVim.config.icons.kinds) end, } ``` From 5945bc3011b1720c632eb13e08787f2dc0438865 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 19 Jan 2025 18:23:03 +0000 Subject: [PATCH 049/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index f182bd4453..7d69138275 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -184,6 +184,7 @@ opts = function() { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, { "ss", function() Snacks.picker.lsp_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Symbols", has = "documentSymbol" }, + { "sS", function() Snacks.picker.lsp_workspace_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Workspace Symbols", has = "workspace/symbols" }, }) end ``` @@ -208,6 +209,7 @@ end { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, { "ss", function() Snacks.picker.lsp_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Symbols", has = "documentSymbol" }, + { "sS", function() Snacks.picker.lsp_workspace_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Workspace Symbols", has = "workspace/symbols" }, }) end, } From 24755ef4f9fadba21ded6108807afaa7bb0b8044 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Jan 2025 11:15:27 +0000 Subject: [PATCH 050/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 2 +- docs/keymaps.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 7d69138275..a6138099ba 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -94,7 +94,7 @@ opts = { { "sR", function() Snacks.picker.resume() end, desc = "Resume" }, { "sq", function() Snacks.picker.qflist() end, desc = "Quickfix List" }, { "uC", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" }, - { "qp", function() Snacks.picker.projects() end, desc = "Projects" }, + { "fp", function() Snacks.picker.projects() end, desc = "Projects" }, }, } ``` diff --git a/docs/keymaps.md b/docs/keymaps.md index 854d9b9ba4..c30c949617 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -567,12 +567,12 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>ff | Find Files (Root Dir) | **n** | | <leader>fF | Find Files (cwd) | **n** | | <leader>fg | Find Files (git-files) | **n** | +| <leader>fp | Projects | **n** | | <leader>fr | Recent | **n** | | <leader>fR | Recent (cwd) | **n** | | <leader>gc | Git Log | **n** | | <leader>gd | Git Diff (hunks) | **n** | | <leader>gs | Git Status | **n** | -| <leader>qp | Projects | **n** | | <leader>s" | Registers | **n** | | <leader>sa | Autocmds | **n** | | <leader>sb | Buffer Lines | **n** | From 1986e852111cb5d8b9d7e9248a2ff897b5a3aed8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Jan 2025 12:37:30 +0000 Subject: [PATCH 051/187] chore(build): auto-generate docs --- docs/extras/lang/java.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index b19ad168cf..0d88c559d8 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -178,6 +178,7 @@ opts = function() -- These depend on nvim-dap, but can additionally be disabled by setting false here. dap = { hotcodereplace = "auto", config_overrides = {} }, + -- Can set this to false to disable main class scan, which is a performance killer for large project dap_main = {}, test = true, settings = { @@ -249,6 +250,7 @@ end -- These depend on nvim-dap, but can additionally be disabled by setting false here. dap = { hotcodereplace = "auto", config_overrides = {} }, + -- Can set this to false to disable main class scan, which is a performance killer for large project dap_main = {}, test = true, settings = { @@ -365,7 +367,9 @@ end if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then -- custom init for Java debugger require("jdtls").setup_dap(opts.dap) - require("jdtls.dap").setup_dap_main_class_configs(opts.dap_main) + if opts.dap_main then + require("jdtls.dap").setup_dap_main_class_configs(opts.dap_main) + end -- Java Test require Java debugger to work if opts.test and mason_registry.is_installed("java-test") then From 7219d4817428ef29be072c753ced1f0a2ebe22fa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Jan 2025 20:19:09 +0000 Subject: [PATCH 052/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 49 ++++++++++++++++++++++++++--- docs/extras/lang/sql.md | 2 +- 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index a6138099ba..209ca1e934 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -29,16 +29,34 @@ import TabItem from '@theme/TabItem'; ## [snacks.nvim](https://github.com/folke/snacks.nvim) - recommended = true, - - ```lua opts = { - picker = {}, + picker = { + win = { + input = { + keys = { + [""] = { + "toggle_cwd", + mode = { "n", "i" }, + }, + }, + }, + }, + actions = { + ---@param p snacks.Picker + toggle_cwd = function(p) + local root = LazyVim.root({ buf = p.input.filter.current_buf, normalize = true }) + local cwd = vim.fs.normalize((vim.uv or vim.loop).cwd() or ".") + local current = p:cwd() + p:set_cwd(current == root and cwd or root) + p:find() + end, + }, + }, } ``` @@ -51,7 +69,28 @@ opts = { { "folke/snacks.nvim", opts = { - picker = {}, + picker = { + win = { + input = { + keys = { + [""] = { + "toggle_cwd", + mode = { "n", "i" }, + }, + }, + }, + }, + actions = { + ---@param p snacks.Picker + toggle_cwd = function(p) + local root = LazyVim.root({ buf = p.input.filter.current_buf, normalize = true }) + local cwd = vim.fs.normalize((vim.uv or vim.loop).cwd() or ".") + local current = p:cwd() + p:set_cwd(current == root and cwd or root) + p:find() + end, + }, + }, }, -- stylua: ignore keys = { diff --git a/docs/extras/lang/sql.md b/docs/extras/lang/sql.md index 5c0e9dd455..4e6ea462d2 100644 --- a/docs/extras/lang/sql.md +++ b/docs/extras/lang/sql.md @@ -99,7 +99,7 @@ opts = nil vim.api.nvim_create_autocmd("FileType", { pattern = sql_ft, callback = function() - if LazyVim.has("nvim-cmp") then + if LazyVim.cmp_engine() == "nvim-cmp" then local cmp = require("cmp") -- global sources From ee7451b1548db04e1588f327b2c9a0550d6ab8d8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 23 Jan 2025 11:15:47 +0000 Subject: [PATCH 053/187] chore(build): auto-generate docs --- docs/extras/coding/mini-snippets.md | 332 ++++++++++++++++++++++++++++ 1 file changed, 332 insertions(+) create mode 100644 docs/extras/coding/mini-snippets.md diff --git a/docs/extras/coding/mini-snippets.md b/docs/extras/coding/mini-snippets.md new file mode 100644 index 0000000000..0d4aab1d8c --- /dev/null +++ b/docs/extras/coding/mini-snippets.md @@ -0,0 +1,332 @@ +# `Mini-snippets` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- Set to `false` to prevent "non-lsp snippets"" from appearing inside completion windows +-- Motivation: Less clutter in completion windows and a more direct usage of snippits +vim.g.lazyvim_mini_snippets_in_completion = true + +-- NOTE: Please also read: +-- https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-snippets.md#expand +-- :h MiniSnippets-session + +-- Example override for your own config: +--[[ +return { +{ +"echasnovski/mini.snippets", +opts = function(_, opts) +-- By default, for opts.snippets, the extra for mini.snippets only adds gen_loader.from_lang() +-- This provides a sensible quickstart, integrating with friendly-snippets +-- and your own language-specific snippets +-- +-- In order to change opts.snippets, replace the entire table inside your own opts + +local snippets, config_path = require("mini.snippets"), vim.fn.stdpath("config") + +opts.snippets = { -- override opts.snippets provided by extra... +-- Load custom file with global snippets first (order matters) +snippets.gen_loader.from_file(config_path .. "/snippets/global.json"), + +-- Load snippets based on current language by reading files from +-- "snippets/" subdirectories from 'runtimepath' directories. +snippets.gen_loader.from_lang(), -- this is the default in the extra... +} +end, +}, +} +--]] +``` + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [mini.snippets](https://github.com/echasnovski/mini.snippets) + + + + + +```lua +opts = function() + ---@diagnostic disable-next-line: duplicate-set-field + LazyVim.cmp.actions.snippet_stop = function() end -- by design, should not stop the session! + ---@diagnostic disable-next-line: duplicate-set-field + LazyVim.cmp.actions.snippet_forward = function() + return jump("next") + end + + local mini_snippets = require("mini.snippets") + return { + snippets = { mini_snippets.gen_loader.from_lang() }, + + -- Following the behavior of vim.snippets, + -- the intended usage of is to be able to temporarily exit into normal mode for quick edits. + -- + -- If you'd rather stop the snippet on , activate the line below in your own config: + -- mappings = { stop = "" }, -- by default, see :h MiniSnippets-session + + expand = { + select = function(snippets, insert) + -- Close completion window on snippet select - vim.ui.select + -- Needed to remove virtual text for fzf-lua and telescope, but not for mini.pick... + local select = expand_select_override or MiniSnippets.default_select + select(snippets, insert) + end, + }, + } +end +``` + + + + + + +```lua +{ + "echasnovski/mini.snippets", + event = "InsertEnter", -- don't depend on other plugins to load... + dependencies = "rafamadriz/friendly-snippets", + opts = function() + ---@diagnostic disable-next-line: duplicate-set-field + LazyVim.cmp.actions.snippet_stop = function() end -- by design, should not stop the session! + ---@diagnostic disable-next-line: duplicate-set-field + LazyVim.cmp.actions.snippet_forward = function() + return jump("next") + end + + local mini_snippets = require("mini.snippets") + return { + snippets = { mini_snippets.gen_loader.from_lang() }, + + -- Following the behavior of vim.snippets, + -- the intended usage of is to be able to temporarily exit into normal mode for quick edits. + -- + -- If you'd rather stop the snippet on , activate the line below in your own config: + -- mappings = { stop = "" }, -- by default, see :h MiniSnippets-session + + expand = { + select = function(snippets, insert) + -- Close completion window on snippet select - vim.ui.select + -- Needed to remove virtual text for fzf-lua and telescope, but not for mini.pick... + local select = expand_select_override or MiniSnippets.default_select + select(snippets, insert) + end, + }, + } + end, +} +``` + + + + + +## [cmp-mini-snippets](https://github.com/abeldekat/cmp-mini-snippets) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "abeldekat/cmp-mini-snippets" } +``` + + + + + +## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) _(optional)_ + + nvim-cmp integration + + + + + + +```lua +opts = function(_, opts) + local cmp = require("cmp") + local cmp_config = require("cmp.config") + + opts.snippet = { + expand = function(args) + expand_from_lsp(args.body) + cmp.resubscribe({ "TextChangedI", "TextChangedP" }) + cmp_config.set_onetime({ sources = {} }) + end, + } + + if include_in_completion then + table.insert(opts.sources, { name = "mini_snippets" }) + else + expand_select_override = function(snippets, insert) + -- stylua: ignore + if cmp.visible() then cmp.close() end + MiniSnippets.default_select(snippets, insert) + end + end +end +``` + + + + + + +```lua +{ + "hrsh7th/nvim-cmp", + optional = true, + dependencies = include_in_completion and { "abeldekat/cmp-mini-snippets" } or nil, + opts = function(_, opts) + local cmp = require("cmp") + local cmp_config = require("cmp.config") + + opts.snippet = { + expand = function(args) + expand_from_lsp(args.body) + cmp.resubscribe({ "TextChangedI", "TextChangedP" }) + cmp_config.set_onetime({ sources = {} }) + end, + } + + if include_in_completion then + table.insert(opts.sources, { name = "mini_snippets" }) + else + expand_select_override = function(snippets, insert) + -- stylua: ignore + if cmp.visible() then cmp.close() end + MiniSnippets.default_select(snippets, insert) + end + end + end, + -- stylua: ignore + -- counterpart to defined in cmp.mappings + keys = include_in_completion and { { "", function() jump("prev") end, mode = "i" } } or nil, +} +``` + + + + + +## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ + + blink.cmp integration + + + + + + +```lua +opts = function(_, opts) + -- Return early + if include_in_completion then + opts.snippets = { preset = "mini_snippets" } + return + end + + -- Standalone -- + expand_select_override = function(snippets, insert) + -- Schedule, otherwise blink's virtual text is not removed on vim.ui.select + require("blink.cmp").cancel() + vim.schedule(function() + MiniSnippets.default_select(snippets, insert) + end) + end + -- + -- Blink performs a require on blink.cmp.sources.snippets.default + -- By removing the source, the default engine will not be used + opts.sources.default = vim.tbl_filter(function(source) + return source ~= "snippets" + end, opts.sources.default) + opts.snippets = { -- need to repeat blink's preset here + expand = expand_from_lsp, + active = function() + return MiniSnippets.session.get(false) ~= nil + end, + jump = function(direction) + jump(direction == -1 and "prev" or "next") + end, + } +end +``` + + + + + + +```lua +{ + "saghen/blink.cmp", + optional = true, + opts = function(_, opts) + -- Return early + if include_in_completion then + opts.snippets = { preset = "mini_snippets" } + return + end + + -- Standalone -- + expand_select_override = function(snippets, insert) + -- Schedule, otherwise blink's virtual text is not removed on vim.ui.select + require("blink.cmp").cancel() + vim.schedule(function() + MiniSnippets.default_select(snippets, insert) + end) + end + -- + -- Blink performs a require on blink.cmp.sources.snippets.default + -- By removing the source, the default engine will not be used + opts.sources.default = vim.tbl_filter(function(source) + return source ~= "snippets" + end, opts.sources.default) + opts.snippets = { -- need to repeat blink's preset here + expand = expand_from_lsp, + active = function() + return MiniSnippets.session.get(false) ~= nil + end, + jump = function(direction) + jump(direction == -1 and "prev" or "next") + end, + } + end, +} +``` + + + + + + From df082a01a6d9a4ab8cf4d7ed3164831b78e49ac6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 23 Jan 2025 16:24:22 +0000 Subject: [PATCH 054/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 4 +++- docs/keymaps.md | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 209ca1e934..9e08f858d8 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -106,6 +106,7 @@ opts = { { "fg", function() Snacks.picker.git_files() end, desc = "Find Files (git-files)" }, { "fr", LazyVim.pick("oldfiles"), desc = "Recent" }, { "fR", LazyVim.pick("oldfiles", { filter = { cwd = true }}), desc = "Recent (cwd)" }, + { "fp", function() Snacks.picker.projects() end, desc = "Projects" }, -- git { "gc", function() Snacks.picker.git_log() end, desc = "Git Log" }, { "gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (hunks)" }, @@ -132,8 +133,9 @@ opts = { { "sm", function() Snacks.picker.marks() end, desc = "Marks" }, { "sR", function() Snacks.picker.resume() end, desc = "Resume" }, { "sq", function() Snacks.picker.qflist() end, desc = "Quickfix List" }, + { "su", function() Snacks.picker.undo() end, desc = "Undotree" }, + -- ui { "uC", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" }, - { "fp", function() Snacks.picker.projects() end, desc = "Projects" }, }, } ``` diff --git a/docs/keymaps.md b/docs/keymaps.md index c30c949617..b511697d93 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -591,6 +591,7 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>sM | Man Pages | **n** | | <leader>sq | Quickfix List | **n** | | <leader>sR | Resume | **n** | +| <leader>su | Undotree | **n** | | <leader>sw | Visual selection or word (Root Dir) | **n**, **x** | | <leader>sW | Visual selection or word (cwd) | **n**, **x** | | <leader>uC | Colorschemes | **n** | From 1eceabdee814fb947d6adfdd017b5413272cb609 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 23 Jan 2025 18:26:02 +0000 Subject: [PATCH 055/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 3 +++ docs/keymaps.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 9e08f858d8..9c32eccbb2 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -100,6 +100,7 @@ opts = { { "", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, -- find { "fb", function() Snacks.picker.buffers() end, desc = "Buffers" }, + { "fB", function() Snacks.picker.buffers({ hidden = true, nofile = true }) end, desc = "Buffers (all)" }, { "fc", LazyVim.pick.config_files(), desc = "Find Config File" }, { "ff", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, { "fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, @@ -116,6 +117,7 @@ opts = { { "sB", function() Snacks.picker.grep_buffers() end, desc = "Grep Open Buffers" }, { "sg", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" }, { "sG", LazyVim.pick("live_grep", { root = false }), desc = "Grep (cwd)" }, + { "sp", function() Snacks.picker.lazy() end, desc = "Search for Plugin Spec" }, { "sw", LazyVim.pick("grep_word"), desc = "Visual selection or word (Root Dir)", mode = { "n", "x" } }, { "sW", LazyVim.pick("grep_word", { root = false }), desc = "Visual selection or word (cwd)", mode = { "n", "x" } }, -- search @@ -126,6 +128,7 @@ opts = { { "sd", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" }, { "sh", function() Snacks.picker.help() end, desc = "Help Pages" }, { "sH", function() Snacks.picker.highlights() end, desc = "Highlights" }, + { "si", function() Snacks.picker.icons() end, desc = "Icons" }, { "sj", function() Snacks.picker.jumps() end, desc = "Jumps" }, { "sk", function() Snacks.picker.keymaps() end, desc = "Keymaps" }, { "sl", function() Snacks.picker.loclist() end, desc = "Location List" }, diff --git a/docs/keymaps.md b/docs/keymaps.md index b511697d93..b5b1349f3d 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -563,6 +563,7 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>/ | Grep (Root Dir) | **n** | | <leader>: | Command History | **n** | | <leader>fb | Buffers | **n** | +| <leader>fB | Buffers (all) | **n** | | <leader>fc | Find Config File | **n** | | <leader>ff | Find Files (Root Dir) | **n** | | <leader>fF | Find Files (cwd) | **n** | @@ -584,11 +585,13 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>sG | Grep (cwd) | **n** | | <leader>sh | Help Pages | **n** | | <leader>sH | Highlights | **n** | +| <leader>si | Icons | **n** | | <leader>sj | Jumps | **n** | | <leader>sk | Keymaps | **n** | | <leader>sl | Location List | **n** | | <leader>sm | Marks | **n** | | <leader>sM | Man Pages | **n** | +| <leader>sp | Search for Plugin Spec | **n** | | <leader>sq | Quickfix List | **n** | | <leader>sR | Resume | **n** | | <leader>su | Undotree | **n** | From 93649de00fede9bccbb6508e2c32b612309ecd63 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 28 Jan 2025 08:24:25 +0000 Subject: [PATCH 056/187] chore(build): auto-generate docs --- docs/extras/coding/luasnip.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/extras/coding/luasnip.md b/docs/extras/coding/luasnip.md index 1f51728880..5c009f50e9 100644 --- a/docs/extras/coding/luasnip.md +++ b/docs/extras/coding/luasnip.md @@ -107,7 +107,9 @@ opts = {} opts = function() LazyVim.cmp.actions.snippet_forward = function() if require("luasnip").jumpable(1) then - require("luasnip").jump(1) + vim.schedule(function() + require("luasnip").jump(1) + end) return true end end @@ -131,7 +133,9 @@ end opts = function() LazyVim.cmp.actions.snippet_forward = function() if require("luasnip").jumpable(1) then - require("luasnip").jump(1) + vim.schedule(function() + require("luasnip").jump(1) + end) return true end end From 14001aa23f66d54965f5d6f06535727b8739febd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 28 Jan 2025 12:36:45 +0000 Subject: [PATCH 057/187] chore(build): auto-generate docs --- docs/configuration/general.md | 1 - docs/keymaps.md | 1 - 2 files changed, 2 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 19fcee52ed..b845f27cd1 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -381,7 +381,6 @@ map("t", "", "close", { desc = "Hide Terminal" }) map("t", "", "close", { desc = "which_key_ignore" }) -- windows -map("n", "w", "", { desc = "Windows", remap = true }) map("n", "-", "s", { desc = "Split Window Below", remap = true }) map("n", "|", "v", { desc = "Split Window Right", remap = true }) map("n", "wd", "c", { desc = "Delete Window", remap = true }) diff --git a/docs/keymaps.md b/docs/keymaps.md index b5b1349f3d..cd164de690 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -94,7 +94,6 @@ possible keymaps starting with ``. | <c-/> | Terminal (Root Dir) | **n** | | <c-_> | which_key_ignore | **n**, **t** | | <C-/> | Hide Terminal | **t** | -| <leader>w | Windows | **n** | | <leader>- | Split Window Below | **n** | | <leader>| | Split Window Right | **n** | | <leader>wd | Delete Window | **n** | From 34a9eb6cf1b04ef4b3c62bd3a8eb6844b07f8591 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 28 Jan 2025 16:23:38 +0000 Subject: [PATCH 058/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 1 + docs/keymaps.md | 1 + docs/plugins/ui.md | 8 +++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 9c32eccbb2..4499262791 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -98,6 +98,7 @@ opts = { { "/", LazyVim.pick("grep"), desc = "Grep (Root Dir)" }, { ":", function() Snacks.picker.command_history() end, desc = "Command History" }, { "", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, + { "n", function() Snacks.picker.notifications() end, desc = "Notification History" }, -- find { "fb", function() Snacks.picker.buffers() end, desc = "Buffers" }, { "fB", function() Snacks.picker.buffers({ hidden = true, nofile = true }) end, desc = "Buffers (all)" }, diff --git a/docs/keymaps.md b/docs/keymaps.md index cd164de690..00e426f539 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -573,6 +573,7 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>gc | Git Log | **n** | | <leader>gd | Git Diff (hunks) | **n** | | <leader>gs | Git Status | **n** | +| <leader>n | Notification History | **n** | | <leader>s" | Registers | **n** | | <leader>sa | Autocmds | **n** | | <leader>sb | Buffer Lines | **n** | diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index 3e3c7e6fce..7812f3667d 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -597,7 +597,13 @@ opts = { }, -- stylua: ignore keys = { - { "n", function() Snacks.notifier.show_history() end, desc = "Notification History" }, + { "n", function() + if Snacks.config.picker and Snacks.config.picker.enabled then + Snacks.picker.notifications() + else + Snacks.notifier.show_history() + end + end, desc = "Notification History" }, { "un", function() Snacks.notifier.hide() end, desc = "Dismiss All Notifications" }, }, } From 71bf7bc839a092ae834a81ea53b8632115f8b39b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 28 Jan 2025 18:25:52 +0000 Subject: [PATCH 059/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 4499262791..e8cb10866d 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -107,7 +107,7 @@ opts = { { "fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, { "fg", function() Snacks.picker.git_files() end, desc = "Find Files (git-files)" }, { "fr", LazyVim.pick("oldfiles"), desc = "Recent" }, - { "fR", LazyVim.pick("oldfiles", { filter = { cwd = true }}), desc = "Recent (cwd)" }, + { "fR", function() Snacks.picker.recent({ filter = { cwd = true }}) end, desc = "Recent (cwd)" }, { "fp", function() Snacks.picker.projects() end, desc = "Projects" }, -- git { "gc", function() Snacks.picker.git_log() end, desc = "Git Log" }, From 5b60b242c3840d40acdca0296de70e24913b1fc7 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 29 Jan 2025 09:10:24 +0100 Subject: [PATCH 060/187] ci: use neovim action --- .github/workflows/deploy.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6c6d398a01..78ee3a7548 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -15,15 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Install Neovim - shell: bash - run: | - mkdir -p /tmp/nvim - wget -q https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage -O /tmp/nvim/nvim.appimage - cd /tmp/nvim - chmod a+x ./nvim.appimage - ./nvim.appimage --appimage-extract - echo "/tmp/nvim/squashfs-root/usr/bin/" >> $GITHUB_PATH + - uses: folke/github/neovim@main - name: Generate docs run: ./scripts/build_docs.sh - name: Push changes From 150e81d948356de79e007a69f46d6fc76cfa04ca Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 29 Jan 2025 08:11:00 +0000 Subject: [PATCH 061/187] chore(build): auto-generate docs --- docs/keymaps.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/keymaps.md b/docs/keymaps.md index 00e426f539..44b62fce5e 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -107,6 +107,8 @@ possible keymaps starting with ``. | <leader><tab>] | Next Tab | **n** | | <leader><tab>d | Close Tab | **n** | | <leader><tab>[ | Previous Tab | **n** | +| <Tab> | Jump Next | **s** | +| <S-Tab> | Jump Previous | **i**, **s** | ## LSP From 2838f06fa3b71504c21cf2404a67bd3934b4b16e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 29 Jan 2025 20:19:53 +0000 Subject: [PATCH 062/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 151 ++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index e8cb10866d..27aeb21c20 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -264,6 +264,94 @@ end +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + + + + +```lua +opts = { + picker = { + win = { + input = { + keys = { + [""] = { "flash", mode = { "n", "i" } }, + ["s"] = { "flash" }, + }, + }, + }, + actions = { + flash = function(picker) + require("flash").jump({ + pattern = "^", + label = { after = { 0, 0 } }, + search = { + mode = "search", + exclude = { + function(win) + return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list" + end, + }, + }, + action = function(match) + local idx = picker.list:row2idx(match.pos[1]) + picker.list:move(idx, true) + end, + }) + end, + }, + }, +} +``` + + + + + + +```lua +{ + "folke/snacks.nvim", + opts = { + picker = { + win = { + input = { + keys = { + [""] = { "flash", mode = { "n", "i" } }, + ["s"] = { "flash" }, + }, + }, + }, + actions = { + flash = function(picker) + require("flash").jump({ + pattern = "^", + label = { after = { 0, 0 } }, + search = { + mode = "search", + exclude = { + function(win) + return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list" + end, + }, + }, + action = function(match) + local idx = picker.list:row2idx(match.pos[1]) + picker.list:move(idx, true) + end, + }) + end, + }, + }, + }, +} +``` + + + + + ## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim) _(optional)_ @@ -295,4 +383,67 @@ opts = nil +## [flash.nvim](https://github.com/folke/flash.nvim) _(optional)_ + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "folke/flash.nvim", + optional = true, + specs = { + { + "folke/snacks.nvim", + opts = { + picker = { + win = { + input = { + keys = { + [""] = { "flash", mode = { "n", "i" } }, + ["s"] = { "flash" }, + }, + }, + }, + actions = { + flash = function(picker) + require("flash").jump({ + pattern = "^", + label = { after = { 0, 0 } }, + search = { + mode = "search", + exclude = { + function(win) + return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "snacks_picker_list" + end, + }, + }, + action = function(match) + local idx = picker.list:row2idx(match.pos[1]) + picker.list:move(idx, true) + end, + }) + end, + }, + }, + }, + }, + }, +} +``` + + + + + From f4ae4111d5292711cdfc71437afef38d966cd616 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 29 Jan 2025 23:17:39 +0000 Subject: [PATCH 063/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 27aeb21c20..bcd519efa1 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -296,7 +296,7 @@ opts = { }, action = function(match) local idx = picker.list:row2idx(match.pos[1]) - picker.list:move(idx, true) + picker.list:_move(idx, true, true) end, }) end, @@ -338,7 +338,7 @@ opts = { }, action = function(match) local idx = picker.list:row2idx(match.pos[1]) - picker.list:move(idx, true) + picker.list:_move(idx, true, true) end, }) end, @@ -430,7 +430,7 @@ opts = nil }, action = function(match) local idx = picker.list:row2idx(match.pos[1]) - picker.list:move(idx, true) + picker.list:_move(idx, true, true) end, }) end, From a92e06bd46ce20a2bb956a34eeaf3bb4826f2531 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 30 Jan 2025 21:17:10 +0000 Subject: [PATCH 064/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_explorer.md | 76 +++++++++++++++++++++++++++ docs/extras/lang/markdown.md | 2 +- docs/keymaps.md | 10 ++++ 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 docs/extras/editor/snacks_explorer.md diff --git a/docs/extras/editor/snacks_explorer.md b/docs/extras/editor/snacks_explorer.md new file mode 100644 index 0000000000..6d524bad4e --- /dev/null +++ b/docs/extras/editor/snacks_explorer.md @@ -0,0 +1,76 @@ +# `Snacks_explorer` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "folke/snacks.nvim", + keys = { + { + "fe", + function() + Snacks.picker.explorer({ cwd = LazyVim.root() }) + end, + desc = "Explorer Snacks (root dir)", + }, + { + "fE", + function() + Snacks.picker.explorer() + end, + desc = "Explorer Snacks (cwd)", + }, + { "e", "fe", desc = "Explorer Snacks (root dir)", remap = true }, + { "E", "fE", desc = "Explorer Snacks (cwd)", remap = true }, + }, + init = function() + vim.api.nvim_create_autocmd("BufEnter", { + group = vim.api.nvim_create_augroup("snacks_explorer_start_directory", { clear = true }), + desc = "Start Snacks Explorer with directory", + once = true, + callback = function() + local dir = vim.fn.argv(0) --[[@as string]] + if dir ~= "" and vim.fn.isdirectory(dir) == 1 then + Snacks.picker.explorer({ cwd = dir }) + end + end, + }) + end, +} +``` + + + + + + diff --git a/docs/extras/lang/markdown.md b/docs/extras/lang/markdown.md index f96e250bd2..d031ae6dcc 100644 --- a/docs/extras/lang/markdown.md +++ b/docs/extras/lang/markdown.md @@ -189,7 +189,7 @@ opts = { enabled = false, }, }, - ft = { "markdown", "norg", "rmd", "org" }, + ft = { "markdown", "norg", "rmd", "org", "codecompanion" }, config = function(_, opts) require("render-markdown").setup(opts) Snacks.toggle({ diff --git a/docs/keymaps.md b/docs/keymaps.md index 44b62fce5e..1d3a969fa5 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -554,6 +554,16 @@ Part of [lazyvim.plugins.extras.editor.refactoring](/extras/editor/refactoring) | <leader>rs | Refactor | **v** | | <leader>rx | Extract Variable | **v** | +## [snacks.nvim](https://github.com/folke/snacks.nvim.git) +Part of [lazyvim.plugins.extras.editor.snacks_explorer](/extras/editor/snacks_explorer) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>e | Explorer Snacks (root dir) | **n** | +| <leader>E | Explorer Snacks (cwd) | **n** | +| <leader>fe | Explorer Snacks (root dir) | **n** | +| <leader>fE | Explorer Snacks (cwd) | **n** | + ## [snacks.nvim](https://github.com/folke/snacks.nvim.git) Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_picker) From b1a418a79949e68a0fe19f229cb3e21a82cb8b7a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 31 Jan 2025 08:23:51 +0000 Subject: [PATCH 065/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_explorer.md | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/docs/extras/editor/snacks_explorer.md b/docs/extras/editor/snacks_explorer.md index 6d524bad4e..7a88e8aee8 100644 --- a/docs/extras/editor/snacks_explorer.md +++ b/docs/extras/editor/snacks_explorer.md @@ -24,7 +24,7 @@ import TabItem from '@theme/TabItem'; ```lua -opts = nil +opts = { explorer = {} } ``` @@ -35,37 +35,25 @@ opts = nil ```lua { "folke/snacks.nvim", + opts = { explorer = {} }, keys = { { "fe", function() - Snacks.picker.explorer({ cwd = LazyVim.root() }) + Snacks.explorer({ cwd = LazyVim.root() }) end, desc = "Explorer Snacks (root dir)", }, { "fE", function() - Snacks.picker.explorer() + Snacks.explorer() end, desc = "Explorer Snacks (cwd)", }, { "e", "fe", desc = "Explorer Snacks (root dir)", remap = true }, { "E", "fE", desc = "Explorer Snacks (cwd)", remap = true }, }, - init = function() - vim.api.nvim_create_autocmd("BufEnter", { - group = vim.api.nvim_create_augroup("snacks_explorer_start_directory", { clear = true }), - desc = "Start Snacks Explorer with directory", - once = true, - callback = function() - local dir = vim.fn.argv(0) --[[@as string]] - if dir ~= "" and vim.fn.isdirectory(dir) == 1 then - Snacks.picker.explorer({ cwd = dir }) - end - end, - }) - end, } ``` From c3dad0bc7153a6c8cd6fda6ce9e052a40e10c334 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 31 Jan 2025 19:14:25 +0000 Subject: [PATCH 066/187] chore(build): auto-generate docs --- docs/extras/ai/copilot.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index 1c883aa935..ef34ffca14 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -31,6 +31,7 @@ opts = { suggestion = { enabled = not vim.g.ai_cmp, auto_trigger = true, + hide_during_completion = vim.g.ai_cmp, keymap = { accept = false, -- handled by nvim-cmp / blink.cmp next = "", @@ -55,11 +56,12 @@ opts = { "zbirenbaum/copilot.lua", cmd = "Copilot", build = ":Copilot auth", - event = "InsertEnter", + event = "BufReadPost", opts = { suggestion = { enabled = not vim.g.ai_cmp, auto_trigger = true, + hide_during_completion = vim.g.ai_cmp, keymap = { accept = false, -- handled by nvim-cmp / blink.cmp next = "", From a4756982f120cead4c3edb525e96ea2329f6c400 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 31 Jan 2025 20:19:20 +0000 Subject: [PATCH 067/187] chore(build): auto-generate docs --- docs/plugins/ui.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index 7812f3667d..31650b4ea5 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -37,6 +37,9 @@ opts = { highlight = "Directory", text_align = "left", }, + { + filetype = "snacks_layout_box", + }, }, ---@param opts bufferline.IconFetcherOpts get_element_icon = function(opts) @@ -88,6 +91,9 @@ opts = { highlight = "Directory", text_align = "left", }, + { + filetype = "snacks_layout_box", + }, }, ---@param opts bufferline.IconFetcherOpts get_element_icon = function(opts) From 3d092f8c7d89cbbe03b138b688b48dc2762bcbeb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 2 Feb 2025 17:15:42 +0000 Subject: [PATCH 068/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index bcd519efa1..30712888e4 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -159,7 +159,11 @@ opts = function(_, opts) if LazyVim.has("trouble.nvim") then return vim.tbl_deep_extend("force", opts or {}, { picker = { - actions = require("trouble.sources.snacks").actions, + actions = { + trouble_open = function(...) + return require("trouble.sources.snacks").actions.trouble_open.action(...) + end, + }, win = { input = { keys = { @@ -188,7 +192,11 @@ end if LazyVim.has("trouble.nvim") then return vim.tbl_deep_extend("force", opts or {}, { picker = { - actions = require("trouble.sources.snacks").actions, + actions = { + trouble_open = function(...) + return require("trouble.sources.snacks").actions.trouble_open.action(...) + end, + }, win = { input = { keys = { From 5c1b7799e76e2b0ba11f5dc67be853df8bb001b1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 2 Feb 2025 23:16:58 +0000 Subject: [PATCH 069/187] chore(build): auto-generate docs --- docs/plugins/ui.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index 31650b4ea5..65693d0574 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -703,4 +703,50 @@ opts = { +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + + + + +```lua +opts = function(_, opts) + if not opts.picker then + return + end + table.insert(opts.dashboard.preset.keys, 3, { + icon = " ", + key = "p", + desc = "Projects", + action = ":lua Snacks.picker.projects()", + }) +end +``` + + + + + + +```lua +{ + "folke/snacks.nvim", + opts = function(_, opts) + if not opts.picker then + return + end + table.insert(opts.dashboard.preset.keys, 3, { + icon = " ", + key = "p", + desc = "Projects", + action = ":lua Snacks.picker.projects()", + }) + end, +} +``` + + + + + From 5df7b7bfee7e57014674e5c375b440238d12c4b4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 5 Feb 2025 07:17:32 +0000 Subject: [PATCH 070/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 3 +++ docs/keymaps.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 30712888e4..3181bd2a3c 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -113,6 +113,7 @@ opts = { { "gc", function() Snacks.picker.git_log() end, desc = "Git Log" }, { "gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (hunks)" }, { "gs", function() Snacks.picker.git_status() end, desc = "Git Status" }, + { "gS", function() Snacks.picker.git_stash() end, desc = "Git Stash" }, -- Grep { "sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" }, { "sB", function() Snacks.picker.grep_buffers() end, desc = "Grep Open Buffers" }, @@ -123,10 +124,12 @@ opts = { { "sW", LazyVim.pick("grep_word", { root = false }), desc = "Visual selection or word (cwd)", mode = { "n", "x" } }, -- search { 's"', function() Snacks.picker.registers() end, desc = "Registers" }, + { 's/', function() Snacks.picker.search_history() end, desc = "Search History" }, { "sa", function() Snacks.picker.autocmds() end, desc = "Autocmds" }, { "sc", function() Snacks.picker.command_history() end, desc = "Command History" }, { "sC", function() Snacks.picker.commands() end, desc = "Commands" }, { "sd", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" }, + { "sD", function() Snacks.picker.diagnostics_buffer() end, desc = "Diagnostics" }, { "sh", function() Snacks.picker.help() end, desc = "Help Pages" }, { "sH", function() Snacks.picker.highlights() end, desc = "Highlights" }, { "si", function() Snacks.picker.icons() end, desc = "Icons" }, diff --git a/docs/keymaps.md b/docs/keymaps.md index 1d3a969fa5..6f4f29e671 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -585,14 +585,17 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>gc | Git Log | **n** | | <leader>gd | Git Diff (hunks) | **n** | | <leader>gs | Git Status | **n** | +| <leader>gS | Git Stash | **n** | | <leader>n | Notification History | **n** | | <leader>s" | Registers | **n** | +| <leader>s/ | Search History | **n** | | <leader>sa | Autocmds | **n** | | <leader>sb | Buffer Lines | **n** | | <leader>sB | Grep Open Buffers | **n** | | <leader>sc | Command History | **n** | | <leader>sC | Commands | **n** | | <leader>sd | Diagnostics | **n** | +| <leader>sD | Diagnostics | **n** | | <leader>sg | Grep (Root Dir) | **n** | | <leader>sG | Grep (cwd) | **n** | | <leader>sh | Help Pages | **n** | From 8b261dda747d97c80529e8051b00da4682bb0182 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 5 Feb 2025 14:17:42 +0000 Subject: [PATCH 071/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 2 +- docs/keymaps.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 3181bd2a3c..f9221e74e0 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -129,7 +129,7 @@ opts = { { "sc", function() Snacks.picker.command_history() end, desc = "Command History" }, { "sC", function() Snacks.picker.commands() end, desc = "Commands" }, { "sd", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" }, - { "sD", function() Snacks.picker.diagnostics_buffer() end, desc = "Diagnostics" }, + { "sD", function() Snacks.picker.diagnostics_buffer() end, desc = "Buffer Diagnostics" }, { "sh", function() Snacks.picker.help() end, desc = "Help Pages" }, { "sH", function() Snacks.picker.highlights() end, desc = "Highlights" }, { "si", function() Snacks.picker.icons() end, desc = "Icons" }, diff --git a/docs/keymaps.md b/docs/keymaps.md index 6f4f29e671..2a0ea885bf 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -595,7 +595,7 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>sc | Command History | **n** | | <leader>sC | Commands | **n** | | <leader>sd | Diagnostics | **n** | -| <leader>sD | Diagnostics | **n** | +| <leader>sD | Buffer Diagnostics | **n** | | <leader>sg | Grep (Root Dir) | **n** | | <leader>sG | Grep (cwd) | **n** | | <leader>sh | Help Pages | **n** | From 46621817e20115d3f89bb724d851a2deef7a8bc8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 7 Feb 2025 23:17:35 +0000 Subject: [PATCH 072/187] chore(build): auto-generate docs --- docs/extras/lang/go.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/extras/lang/go.md b/docs/extras/lang/go.md index 64cefa3b37..52ed2ef1d2 100644 --- a/docs/extras/lang/go.md +++ b/docs/extras/lang/go.md @@ -76,7 +76,6 @@ opts = { rangeVariableTypes = true, }, analyses = { - fieldalignment = true, nilness = true, unusedparams = true, unusedwrite = true, @@ -148,7 +147,6 @@ opts = { rangeVariableTypes = true, }, analyses = { - fieldalignment = true, nilness = true, unusedparams = true, unusedwrite = true, From 45071bf44c5c4b11dcb72ef33bff1e6635072505 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 8 Feb 2025 14:15:42 +0000 Subject: [PATCH 073/187] chore(build): auto-generate docs --- docs/extras/editor/fzf.md | 6 - docs/extras/editor/neo-tree.md | 213 ++++++++++++++ docs/extras/editor/snacks_picker.md | 6 - docs/extras/editor/telescope.md | 437 +++++++++++++++++++++++++++- docs/extras/lang/sql.md | 2 +- docs/keymaps.md | 80 +---- docs/plugins/coding.md | 5 - docs/plugins/editor.md | 199 ------------- 8 files changed, 658 insertions(+), 290 deletions(-) create mode 100644 docs/extras/editor/neo-tree.md diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 03fe26559b..47674a5493 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -444,9 +444,6 @@ opts = nil ```lua opts = function() - if LazyVim.pick.want() ~= "fzf" then - return - end local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { @@ -467,9 +464,6 @@ end { "neovim/nvim-lspconfig", opts = function() - if LazyVim.pick.want() ~= "fzf" then - return - end local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { diff --git a/docs/extras/editor/neo-tree.md b/docs/extras/editor/neo-tree.md new file mode 100644 index 0000000000..5d036ff1f8 --- /dev/null +++ b/docs/extras/editor/neo-tree.md @@ -0,0 +1,213 @@ +# `Neo-tree` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) + + file explorer + + + + + + +```lua +opts = { + sources = { "filesystem", "buffers", "git_status" }, + open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" }, + filesystem = { + bind_to_cwd = false, + follow_current_file = { enabled = true }, + use_libuv_file_watcher = true, + }, + window = { + mappings = { + ["l"] = "open", + ["h"] = "close_node", + [""] = "none", + ["Y"] = { + function(state) + local node = state.tree:get_node() + local path = node:get_id() + vim.fn.setreg("+", path, "c") + end, + desc = "Copy Path to Clipboard", + }, + ["O"] = { + function(state) + require("lazy.util").open(state.tree:get_node().path, { system = true }) + end, + desc = "Open with System Application", + }, + ["P"] = { "toggle_preview", config = { use_float = false } }, + }, + }, + default_component_configs = { + indent = { + with_expanders = true, -- if nil and file nesting is enabled, will enable expanders + expander_collapsed = "", + expander_expanded = "", + expander_highlight = "NeoTreeExpander", + }, + git_status = { + symbols = { + unstaged = "󰄱", + staged = "󰱒", + }, + }, + }, +} +``` + + + + + + +```lua +{ + "nvim-neo-tree/neo-tree.nvim", + cmd = "Neotree", + keys = { + { + "fe", + function() + require("neo-tree.command").execute({ toggle = true, dir = LazyVim.root() }) + end, + desc = "Explorer NeoTree (Root Dir)", + }, + { + "fE", + function() + require("neo-tree.command").execute({ toggle = true, dir = vim.uv.cwd() }) + end, + desc = "Explorer NeoTree (cwd)", + }, + { "e", "fe", desc = "Explorer NeoTree (Root Dir)", remap = true }, + { "E", "fE", desc = "Explorer NeoTree (cwd)", remap = true }, + { + "ge", + function() + require("neo-tree.command").execute({ source = "git_status", toggle = true }) + end, + desc = "Git Explorer", + }, + { + "be", + function() + require("neo-tree.command").execute({ source = "buffers", toggle = true }) + end, + desc = "Buffer Explorer", + }, + }, + deactivate = function() + vim.cmd([[Neotree close]]) + end, + init = function() + -- FIX: use `autocmd` for lazy-loading neo-tree instead of directly requiring it, + -- because `cwd` is not set up properly. + vim.api.nvim_create_autocmd("BufEnter", { + group = vim.api.nvim_create_augroup("Neotree_start_directory", { clear = true }), + desc = "Start Neo-tree with directory", + once = true, + callback = function() + if package.loaded["neo-tree"] then + return + else + local stats = vim.uv.fs_stat(vim.fn.argv(0)) + if stats and stats.type == "directory" then + require("neo-tree") + end + end + end, + }) + end, + opts = { + sources = { "filesystem", "buffers", "git_status" }, + open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" }, + filesystem = { + bind_to_cwd = false, + follow_current_file = { enabled = true }, + use_libuv_file_watcher = true, + }, + window = { + mappings = { + ["l"] = "open", + ["h"] = "close_node", + [""] = "none", + ["Y"] = { + function(state) + local node = state.tree:get_node() + local path = node:get_id() + vim.fn.setreg("+", path, "c") + end, + desc = "Copy Path to Clipboard", + }, + ["O"] = { + function(state) + require("lazy.util").open(state.tree:get_node().path, { system = true }) + end, + desc = "Open with System Application", + }, + ["P"] = { "toggle_preview", config = { use_float = false } }, + }, + }, + default_component_configs = { + indent = { + with_expanders = true, -- if nil and file nesting is enabled, will enable expanders + expander_collapsed = "", + expander_expanded = "", + expander_highlight = "NeoTreeExpander", + }, + git_status = { + symbols = { + unstaged = "󰄱", + staged = "󰱒", + }, + }, + }, + }, + config = function(_, opts) + local function on_move(data) + Snacks.rename.on_rename_file(data.source, data.destination) + end + + local events = require("neo-tree.events") + opts.event_handlers = opts.event_handlers or {} + vim.list_extend(opts.event_handlers, { + { event = events.FILE_MOVED, handler = on_move }, + { event = events.FILE_RENAMED, handler = on_move }, + }) + require("neo-tree").setup(opts) + vim.api.nvim_create_autocmd("TermClose", { + pattern = "*lazygit", + callback = function() + if package.loaded["neo-tree.sources.git_status"] then + require("neo-tree.sources.git_status").refresh() + end + end, + }) + end, +} +``` + + + + + + diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index f9221e74e0..b0ca5ded92 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -229,9 +229,6 @@ end ```lua opts = function() - if LazyVim.pick.want() ~= "snacks" then - return - end local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { @@ -254,9 +251,6 @@ end { "neovim/nvim-lspconfig", opts = function() - if LazyVim.pick.want() ~= "snacks" then - return - end local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { diff --git a/docs/extras/editor/telescope.md b/docs/extras/editor/telescope.md index b64ccb6732..a8f06c8a7f 100644 --- a/docs/extras/editor/telescope.md +++ b/docs/extras/editor/telescope.md @@ -27,7 +27,13 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) +## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) + + Fuzzy finder. + The default key bindings to find files will use Telescope's + `find_files` or `git_files` depending on whether the + directory is a git repo. + @@ -35,9 +41,433 @@ import TabItem from '@theme/TabItem'; ```lua opts = function() - if LazyVim.pick.want() ~= "telescope" then + local actions = require("telescope.actions") + + local open_with_trouble = function(...) + return require("trouble.sources.telescope").open(...) + end + local find_files_no_ignore = function() + local action_state = require("telescope.actions.state") + local line = action_state.get_current_line() + LazyVim.pick("find_files", { no_ignore = true, default_text = line })() + end + local find_files_with_hidden = function() + local action_state = require("telescope.actions.state") + local line = action_state.get_current_line() + LazyVim.pick("find_files", { hidden = true, default_text = line })() + end + + local function find_command() + if 1 == vim.fn.executable("rg") then + return { "rg", "--files", "--color", "never", "-g", "!.git" } + elseif 1 == vim.fn.executable("fd") then + return { "fd", "--type", "f", "--color", "never", "-E", ".git" } + elseif 1 == vim.fn.executable("fdfind") then + return { "fdfind", "--type", "f", "--color", "never", "-E", ".git" } + elseif 1 == vim.fn.executable("find") and vim.fn.has("win32") == 0 then + return { "find", ".", "-type", "f" } + elseif 1 == vim.fn.executable("where") then + return { "where", "/r", ".", "*" } + end + end + + return { + defaults = { + prompt_prefix = " ", + selection_caret = " ", + -- open files in the first window that is an actual file. + -- use the current window if no other window is available. + get_selection_window = function() + local wins = vim.api.nvim_list_wins() + table.insert(wins, 1, vim.api.nvim_get_current_win()) + for _, win in ipairs(wins) do + local buf = vim.api.nvim_win_get_buf(win) + if vim.bo[buf].buftype == "" then + return win + end + end + return 0 + end, + mappings = { + i = { + [""] = open_with_trouble, + [""] = open_with_trouble, + [""] = find_files_no_ignore, + [""] = find_files_with_hidden, + [""] = actions.cycle_history_next, + [""] = actions.cycle_history_prev, + [""] = actions.preview_scrolling_down, + [""] = actions.preview_scrolling_up, + }, + n = { + ["q"] = actions.close, + }, + }, + }, + pickers = { + find_files = { + find_command = find_command, + hidden = true, + }, + }, + } +end +``` + + + + + + +```lua +{ + "nvim-telescope/telescope.nvim", + cmd = "Telescope", + version = false, -- telescope did only one release, so use HEAD for now + dependencies = { + { + "nvim-telescope/telescope-fzf-native.nvim", + build = (build_cmd ~= "cmake") and "make" + or "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build", + enabled = build_cmd ~= nil, + config = function(plugin) + LazyVim.on_load("telescope.nvim", function() + local ok, err = pcall(require("telescope").load_extension, "fzf") + if not ok then + local lib = plugin.dir .. "/build/libfzf." .. (LazyVim.is_win() and "dll" or "so") + if not vim.uv.fs_stat(lib) then + LazyVim.warn("`telescope-fzf-native.nvim` not built. Rebuilding...") + require("lazy").build({ plugins = { plugin }, show = false }):wait(function() + LazyVim.info("Rebuilding `telescope-fzf-native.nvim` done.\nPlease restart Neovim.") + end) + else + LazyVim.error("Failed to load `telescope-fzf-native.nvim`:\n" .. err) + end + end + end) + end, + }, + }, + keys = { + { + ",", + "Telescope buffers sort_mru=true sort_lastused=true", + desc = "Switch Buffer", + }, + { "/", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" }, + { ":", "Telescope command_history", desc = "Command History" }, + { "", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, + -- find + { + "fb", + "Telescope buffers sort_mru=true sort_lastused=true ignore_current_buffer=true", + desc = "Buffers", + }, + { "fc", LazyVim.pick.config_files(), desc = "Find Config File" }, + { "ff", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, + { "fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, + { "fg", "Telescope git_files", desc = "Find Files (git-files)" }, + { "fr", "Telescope oldfiles", desc = "Recent" }, + { "fR", LazyVim.pick("oldfiles", { cwd = vim.uv.cwd() }), desc = "Recent (cwd)" }, + -- git + { "gc", "Telescope git_commits", desc = "Commits" }, + { "gs", "Telescope git_status", desc = "Status" }, + -- search + { 's"', "Telescope registers", desc = "Registers" }, + { "sa", "Telescope autocommands", desc = "Auto Commands" }, + { "sb", "Telescope current_buffer_fuzzy_find", desc = "Buffer" }, + { "sc", "Telescope command_history", desc = "Command History" }, + { "sC", "Telescope commands", desc = "Commands" }, + { "sd", "Telescope diagnostics bufnr=0", desc = "Document Diagnostics" }, + { "sD", "Telescope diagnostics", desc = "Workspace Diagnostics" }, + { "sg", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" }, + { "sG", LazyVim.pick("live_grep", { root = false }), desc = "Grep (cwd)" }, + { "sh", "Telescope help_tags", desc = "Help Pages" }, + { "sH", "Telescope highlights", desc = "Search Highlight Groups" }, + { "sj", "Telescope jumplist", desc = "Jumplist" }, + { "sk", "Telescope keymaps", desc = "Key Maps" }, + { "sl", "Telescope loclist", desc = "Location List" }, + { "sM", "Telescope man_pages", desc = "Man Pages" }, + { "sm", "Telescope marks", desc = "Jump to Mark" }, + { "so", "Telescope vim_options", desc = "Options" }, + { "sR", "Telescope resume", desc = "Resume" }, + { "sq", "Telescope quickfix", desc = "Quickfix List" }, + { "sw", LazyVim.pick("grep_string", { word_match = "-w" }), desc = "Word (Root Dir)" }, + { "sW", LazyVim.pick("grep_string", { root = false, word_match = "-w" }), desc = "Word (cwd)" }, + { "sw", LazyVim.pick("grep_string"), mode = "v", desc = "Selection (Root Dir)" }, + { "sW", LazyVim.pick("grep_string", { root = false }), mode = "v", desc = "Selection (cwd)" }, + { "uC", LazyVim.pick("colorscheme", { enable_preview = true }), desc = "Colorscheme with Preview" }, + { + "ss", + function() + require("telescope.builtin").lsp_document_symbols({ + symbols = LazyVim.config.get_kind_filter(), + }) + end, + desc = "Goto Symbol", + }, + { + "sS", + function() + require("telescope.builtin").lsp_dynamic_workspace_symbols({ + symbols = LazyVim.config.get_kind_filter(), + }) + end, + desc = "Goto Symbol (Workspace)", + }, + }, + opts = function() + local actions = require("telescope.actions") + + local open_with_trouble = function(...) + return require("trouble.sources.telescope").open(...) + end + local find_files_no_ignore = function() + local action_state = require("telescope.actions.state") + local line = action_state.get_current_line() + LazyVim.pick("find_files", { no_ignore = true, default_text = line })() + end + local find_files_with_hidden = function() + local action_state = require("telescope.actions.state") + local line = action_state.get_current_line() + LazyVim.pick("find_files", { hidden = true, default_text = line })() + end + + local function find_command() + if 1 == vim.fn.executable("rg") then + return { "rg", "--files", "--color", "never", "-g", "!.git" } + elseif 1 == vim.fn.executable("fd") then + return { "fd", "--type", "f", "--color", "never", "-E", ".git" } + elseif 1 == vim.fn.executable("fdfind") then + return { "fdfind", "--type", "f", "--color", "never", "-E", ".git" } + elseif 1 == vim.fn.executable("find") and vim.fn.has("win32") == 0 then + return { "find", ".", "-type", "f" } + elseif 1 == vim.fn.executable("where") then + return { "where", "/r", ".", "*" } + end + end + + return { + defaults = { + prompt_prefix = " ", + selection_caret = " ", + -- open files in the first window that is an actual file. + -- use the current window if no other window is available. + get_selection_window = function() + local wins = vim.api.nvim_list_wins() + table.insert(wins, 1, vim.api.nvim_get_current_win()) + for _, win in ipairs(wins) do + local buf = vim.api.nvim_win_get_buf(win) + if vim.bo[buf].buftype == "" then + return win + end + end + return 0 + end, + mappings = { + i = { + [""] = open_with_trouble, + [""] = open_with_trouble, + [""] = find_files_no_ignore, + [""] = find_files_with_hidden, + [""] = actions.cycle_history_next, + [""] = actions.cycle_history_prev, + [""] = actions.preview_scrolling_down, + [""] = actions.preview_scrolling_up, + }, + n = { + ["q"] = actions.close, + }, + }, + }, + pickers = { + find_files = { + find_command = find_command, + hidden = true, + }, + }, + } + end, +} +``` + + + + + +## [dressing.nvim](https://github.com/stevearc/dressing.nvim) + + better vim.ui with telescope + + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "stevearc/dressing.nvim", + lazy = true, + init = function() + ---@diagnostic disable-next-line: duplicate-set-field + vim.ui.select = function(...) + require("lazy").load({ plugins = { "dressing.nvim" } }) + return vim.ui.select(...) + end + ---@diagnostic disable-next-line: duplicate-set-field + vim.ui.input = function(...) + require("lazy").load({ plugins = { "dressing.nvim" } }) + return vim.ui.input(...) + end + end, +} +``` + + + + + +## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) + + Flash Telescope config + + + + + + +```lua +opts = function(_, opts) + if not LazyVim.has("flash.nvim") then return end + local function flash(prompt_bufnr) + require("flash").jump({ + pattern = "^", + label = { after = { 0, 0 } }, + search = { + mode = "search", + exclude = { + function(win) + return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "TelescopeResults" + end, + }, + }, + action = function(match) + local picker = require("telescope.actions.state").get_current_picker(prompt_bufnr) + picker:set_selection(match.pos[1] - 1) + end, + }) + end + opts.defaults = vim.tbl_deep_extend("force", opts.defaults or {}, { + mappings = { n = { s = flash }, i = { [""] = flash } }, + }) +end +``` + + + + + + +```lua +{ + "nvim-telescope/telescope.nvim", + optional = true, + opts = function(_, opts) + if not LazyVim.has("flash.nvim") then + return + end + local function flash(prompt_bufnr) + require("flash").jump({ + pattern = "^", + label = { after = { 0, 0 } }, + search = { + mode = "search", + exclude = { + function(win) + return vim.bo[vim.api.nvim_win_get_buf(win)].filetype ~= "TelescopeResults" + end, + }, + }, + action = function(match) + local picker = require("telescope.actions.state").get_current_picker(prompt_bufnr) + picker:set_selection(match.pos[1] - 1) + end, + }) + end + opts.defaults = vim.tbl_deep_extend("force", opts.defaults or {}, { + mappings = { n = { s = flash }, i = { [""] = flash } }, + }) + end, +} +``` + + + + + +## [telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim) + + + + + +```lua +opts = {} +``` + + + + + + +```lua +{ + "nvim-telescope/telescope-fzf-native.nvim", + build = (build_cmd ~= "cmake") and "make" + or "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build", + enabled = build_cmd ~= nil, + config = function(plugin) + LazyVim.on_load("telescope.nvim", function() + local ok, err = pcall(require("telescope").load_extension, "fzf") + if not ok then + local lib = plugin.dir .. "/build/libfzf." .. (LazyVim.is_win() and "dll" or "so") + if not vim.uv.fs_stat(lib) then + LazyVim.warn("`telescope-fzf-native.nvim` not built. Rebuilding...") + require("lazy").build({ plugins = { plugin }, show = false }):wait(function() + LazyVim.info("Rebuilding `telescope-fzf-native.nvim` done.\nPlease restart Neovim.") + end) + else + LazyVim.error("Failed to load `telescope-fzf-native.nvim`:\n" .. err) + end + end + end) + end, +} +``` + + + + + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + + + + +```lua +opts = function() local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { @@ -58,9 +488,6 @@ end { "neovim/nvim-lspconfig", opts = function() - if LazyVim.pick.want() ~= "telescope" then - return - end local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { diff --git a/docs/extras/lang/sql.md b/docs/extras/lang/sql.md index 4e6ea462d2..5719e54d68 100644 --- a/docs/extras/lang/sql.md +++ b/docs/extras/lang/sql.md @@ -99,7 +99,7 @@ opts = nil vim.api.nvim_create_autocmd("FileType", { pattern = sql_ft, callback = function() - if LazyVim.cmp_engine() == "nvim-cmp" then + if LazyVim.has_extra("coding.nvim-cmp") then local cmp = require("cmp") -- global sources diff --git a/docs/keymaps.md b/docs/keymaps.md index 2a0ea885bf..aaeb9a7e31 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -517,6 +517,18 @@ Part of [lazyvim.plugins.extras.editor.mini-files](/extras/editor/mini-files) | <leader>fm | Open mini.files (Directory of Current File) | **n** | | <leader>fM | Open mini.files (cwd) | **n** | +## [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) +Part of [lazyvim.plugins.extras.editor.neo-tree](/extras/editor/neo-tree) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>be | Buffer Explorer | **n** | +| <leader>e | Explorer NeoTree (Root Dir) | **n** | +| <leader>E | Explorer NeoTree (cwd) | **n** | +| <leader>fe | Explorer NeoTree (Root Dir) | **n** | +| <leader>fE | Explorer NeoTree (cwd) | **n** | +| <leader>ge | Git Explorer | **n** | + ## [outline.nvim](https://github.com/hedyhli/outline.nvim.git) Part of [lazyvim.plugins.extras.editor.outline](/extras/editor/outline) @@ -554,74 +566,6 @@ Part of [lazyvim.plugins.extras.editor.refactoring](/extras/editor/refactoring) | <leader>rs | Refactor | **v** | | <leader>rx | Extract Variable | **v** | -## [snacks.nvim](https://github.com/folke/snacks.nvim.git) -Part of [lazyvim.plugins.extras.editor.snacks_explorer](/extras/editor/snacks_explorer) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader>e | Explorer Snacks (root dir) | **n** | -| <leader>E | Explorer Snacks (cwd) | **n** | -| <leader>fe | Explorer Snacks (root dir) | **n** | -| <leader>fE | Explorer Snacks (cwd) | **n** | - -## [snacks.nvim](https://github.com/folke/snacks.nvim.git) -Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_picker) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader><space> | Find Files (Root Dir) | **n** | -| <leader>, | Buffers | **n** | -| <leader>/ | Grep (Root Dir) | **n** | -| <leader>: | Command History | **n** | -| <leader>fb | Buffers | **n** | -| <leader>fB | Buffers (all) | **n** | -| <leader>fc | Find Config File | **n** | -| <leader>ff | Find Files (Root Dir) | **n** | -| <leader>fF | Find Files (cwd) | **n** | -| <leader>fg | Find Files (git-files) | **n** | -| <leader>fp | Projects | **n** | -| <leader>fr | Recent | **n** | -| <leader>fR | Recent (cwd) | **n** | -| <leader>gc | Git Log | **n** | -| <leader>gd | Git Diff (hunks) | **n** | -| <leader>gs | Git Status | **n** | -| <leader>gS | Git Stash | **n** | -| <leader>n | Notification History | **n** | -| <leader>s" | Registers | **n** | -| <leader>s/ | Search History | **n** | -| <leader>sa | Autocmds | **n** | -| <leader>sb | Buffer Lines | **n** | -| <leader>sB | Grep Open Buffers | **n** | -| <leader>sc | Command History | **n** | -| <leader>sC | Commands | **n** | -| <leader>sd | Diagnostics | **n** | -| <leader>sD | Buffer Diagnostics | **n** | -| <leader>sg | Grep (Root Dir) | **n** | -| <leader>sG | Grep (cwd) | **n** | -| <leader>sh | Help Pages | **n** | -| <leader>sH | Highlights | **n** | -| <leader>si | Icons | **n** | -| <leader>sj | Jumps | **n** | -| <leader>sk | Keymaps | **n** | -| <leader>sl | Location List | **n** | -| <leader>sm | Marks | **n** | -| <leader>sM | Man Pages | **n** | -| <leader>sp | Search for Plugin Spec | **n** | -| <leader>sq | Quickfix List | **n** | -| <leader>sR | Resume | **n** | -| <leader>su | Undotree | **n** | -| <leader>sw | Visual selection or word (Root Dir) | **n**, **x** | -| <leader>sW | Visual selection or word (cwd) | **n**, **x** | -| <leader>uC | Colorschemes | **n** | - -## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) -Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_picker) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader>st | Todo | **n** | -| <leader>sT | Todo/Fix/Fixme | **n** | - ## [nvim-ansible](https://github.com/mfussenegger/nvim-ansible.git) Part of [lazyvim.plugins.extras.lang.ansible](/extras/lang/ansible) diff --git a/docs/plugins/coding.md b/docs/plugins/coding.md index a1c5ab9d61..8f6e3400cc 100644 --- a/docs/plugins/coding.md +++ b/docs/plugins/coding.md @@ -5,11 +5,6 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -### Includes the following extras - -- [coding.blink](/extras/coding/blink) -- [coding.nvim-cmp](/extras/coding/nvim-cmp) - ## [mini.pairs](https://github.com/echasnovski/mini.pairs) auto pairs diff --git a/docs/plugins/editor.md b/docs/plugins/editor.md index 22319385b1..44e7c9b22c 100644 --- a/docs/plugins/editor.md +++ b/docs/plugins/editor.md @@ -5,205 +5,6 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -### Includes the following extras - -- [editor.fzf](/extras/editor/fzf) -- [editor.snacks_picker](/extras/editor/snacks_picker) -- [editor.telescope](/extras/editor/telescope) - -## [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) - - file explorer - - - - - - -```lua -opts = { - sources = { "filesystem", "buffers", "git_status" }, - open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" }, - filesystem = { - bind_to_cwd = false, - follow_current_file = { enabled = true }, - use_libuv_file_watcher = true, - }, - window = { - mappings = { - ["l"] = "open", - ["h"] = "close_node", - [""] = "none", - ["Y"] = { - function(state) - local node = state.tree:get_node() - local path = node:get_id() - vim.fn.setreg("+", path, "c") - end, - desc = "Copy Path to Clipboard", - }, - ["O"] = { - function(state) - require("lazy.util").open(state.tree:get_node().path, { system = true }) - end, - desc = "Open with System Application", - }, - ["P"] = { "toggle_preview", config = { use_float = false } }, - }, - }, - default_component_configs = { - indent = { - with_expanders = true, -- if nil and file nesting is enabled, will enable expanders - expander_collapsed = "", - expander_expanded = "", - expander_highlight = "NeoTreeExpander", - }, - git_status = { - symbols = { - unstaged = "󰄱", - staged = "󰱒", - }, - }, - }, -} -``` - - - - - - -```lua -{ - "nvim-neo-tree/neo-tree.nvim", - cmd = "Neotree", - keys = { - { - "fe", - function() - require("neo-tree.command").execute({ toggle = true, dir = LazyVim.root() }) - end, - desc = "Explorer NeoTree (Root Dir)", - }, - { - "fE", - function() - require("neo-tree.command").execute({ toggle = true, dir = vim.uv.cwd() }) - end, - desc = "Explorer NeoTree (cwd)", - }, - { "e", "fe", desc = "Explorer NeoTree (Root Dir)", remap = true }, - { "E", "fE", desc = "Explorer NeoTree (cwd)", remap = true }, - { - "ge", - function() - require("neo-tree.command").execute({ source = "git_status", toggle = true }) - end, - desc = "Git Explorer", - }, - { - "be", - function() - require("neo-tree.command").execute({ source = "buffers", toggle = true }) - end, - desc = "Buffer Explorer", - }, - }, - deactivate = function() - vim.cmd([[Neotree close]]) - end, - init = function() - -- FIX: use `autocmd` for lazy-loading neo-tree instead of directly requiring it, - -- because `cwd` is not set up properly. - vim.api.nvim_create_autocmd("BufEnter", { - group = vim.api.nvim_create_augroup("Neotree_start_directory", { clear = true }), - desc = "Start Neo-tree with directory", - once = true, - callback = function() - if package.loaded["neo-tree"] then - return - else - local stats = vim.uv.fs_stat(vim.fn.argv(0)) - if stats and stats.type == "directory" then - require("neo-tree") - end - end - end, - }) - end, - opts = { - sources = { "filesystem", "buffers", "git_status" }, - open_files_do_not_replace_types = { "terminal", "Trouble", "trouble", "qf", "Outline" }, - filesystem = { - bind_to_cwd = false, - follow_current_file = { enabled = true }, - use_libuv_file_watcher = true, - }, - window = { - mappings = { - ["l"] = "open", - ["h"] = "close_node", - [""] = "none", - ["Y"] = { - function(state) - local node = state.tree:get_node() - local path = node:get_id() - vim.fn.setreg("+", path, "c") - end, - desc = "Copy Path to Clipboard", - }, - ["O"] = { - function(state) - require("lazy.util").open(state.tree:get_node().path, { system = true }) - end, - desc = "Open with System Application", - }, - ["P"] = { "toggle_preview", config = { use_float = false } }, - }, - }, - default_component_configs = { - indent = { - with_expanders = true, -- if nil and file nesting is enabled, will enable expanders - expander_collapsed = "", - expander_expanded = "", - expander_highlight = "NeoTreeExpander", - }, - git_status = { - symbols = { - unstaged = "󰄱", - staged = "󰱒", - }, - }, - }, - }, - config = function(_, opts) - local function on_move(data) - Snacks.rename.on_rename_file(data.source, data.destination) - end - - local events = require("neo-tree.events") - opts.event_handlers = opts.event_handlers or {} - vim.list_extend(opts.event_handlers, { - { event = events.FILE_MOVED, handler = on_move }, - { event = events.FILE_RENAMED, handler = on_move }, - }) - require("neo-tree").setup(opts) - vim.api.nvim_create_autocmd("TermClose", { - pattern = "*lazygit", - callback = function() - if package.loaded["neo-tree.sources.git_status"] then - require("neo-tree.sources.git_status").refresh() - end - end, - }) - end, -} -``` - - - - - ## [grug-far.nvim](https://github.com/MagicDuck/grug-far.nvim) search/replace in multiple files From 893ebebbe0ad6bb99e54991516be9281c0fd918f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 8 Feb 2025 15:17:19 +0000 Subject: [PATCH 074/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 40 +++++ docs/keymaps.md | 233 ++++++++++++++-------------- docs/plugins/ui.md | 46 ------ 3 files changed, 155 insertions(+), 164 deletions(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index b0ca5ded92..95e0444ef4 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -275,6 +275,46 @@ end +```lua +opts = function(_, opts) + table.insert(opts.dashboard.preset.keys, 3, { + icon = " ", + key = "p", + desc = "Projects", + action = ":lua Snacks.picker.projects()", + }) +end +``` + + + + + + +```lua +{ + "folke/snacks.nvim", + opts = function(_, opts) + table.insert(opts.dashboard.preset.keys, 3, { + icon = " ", + key = "p", + desc = "Projects", + action = ":lua Snacks.picker.projects()", + }) + end, +} +``` + + + + + +## [snacks.nvim](https://github.com/folke/snacks.nvim) + + + + + ```lua opts = { picker = { diff --git a/docs/keymaps.md b/docs/keymaps.md index aaeb9a7e31..859f4eb0be 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -165,49 +165,6 @@ possible keymaps starting with ``. | s | Flash | **n**, **o**, **x** | | S | Flash Treesitter | **n**, **o**, **x** | -## [fzf-lua](https://github.com/ibhagwan/fzf-lua.git) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader><space> | Find Files (Root Dir) | **n** | -| <leader>, | Switch Buffer | **n** | -| <leader>/ | Grep (Root Dir) | **n** | -| <leader>: | Command History | **n** | -| <leader>fb | Buffers | **n** | -| <leader>fc | Find Config File | **n** | -| <leader>ff | Find Files (Root Dir) | **n** | -| <leader>fF | Find Files (cwd) | **n** | -| <leader>fg | Find Files (git-files) | **n** | -| <leader>fr | Recent | **n** | -| <leader>fR | Recent (cwd) | **n** | -| <leader>gc | Commits | **n** | -| <leader>gs | Status | **n** | -| <leader>s" | Registers | **n** | -| <leader>sa | Auto Commands | **n** | -| <leader>sb | Buffer | **n** | -| <leader>sc | Command History | **n** | -| <leader>sC | Commands | **n** | -| <leader>sd | Document Diagnostics | **n** | -| <leader>sD | Workspace Diagnostics | **n** | -| <leader>sg | Grep (Root Dir) | **n** | -| <leader>sG | Grep (cwd) | **n** | -| <leader>sh | Help Pages | **n** | -| <leader>sH | Search Highlight Groups | **n** | -| <leader>sj | Jumplist | **n** | -| <leader>sk | Key Maps | **n** | -| <leader>sl | Location List | **n** | -| <leader>sm | Jump to Mark | **n** | -| <leader>sM | Man Pages | **n** | -| <leader>sq | Quickfix List | **n** | -| <leader>sR | Resume | **n** | -| <leader>ss | Goto Symbol | **n** | -| <leader>sS | Goto Symbol (Workspace) | **n** | -| <leader>sw | Word (Root Dir) | **n** | -| <leader>sW | Word (cwd) | **n** | -| <leader>sw | Selection (Root Dir) | **v** | -| <leader>sW | Selection (cwd) | **v** | -| <leader>uC | Colorscheme with Preview | **n** | - ## [grug-far.nvim](https://github.com/MagicDuck/grug-far.nvim.git) | Key | Description | Mode | @@ -220,17 +177,6 @@ possible keymaps starting with ``. | --- | --- | --- | | <leader>cm | Mason | **n** | -## [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader>be | Buffer Explorer | **n** | -| <leader>e | Explorer NeoTree (Root Dir) | **n** | -| <leader>E | Explorer NeoTree (cwd) | **n** | -| <leader>fe | Explorer NeoTree (Root Dir) | **n** | -| <leader>fE | Explorer NeoTree (cwd) | **n** | -| <leader>ge | Git Explorer | **n** | - ## [noice.nvim](https://github.com/folke/noice.nvim.git) | Key | Description | Mode | @@ -265,10 +211,57 @@ possible keymaps starting with ``. | Key | Description | Mode | | --- | --- | --- | +| <leader><space> | Find Files (Root Dir) | **n** | +| <leader>, | Buffers | **n** | | <leader>. | Toggle Scratch Buffer | **n** | +| <leader>/ | Grep (Root Dir) | **n** | +| <leader>: | Command History | **n** | | <leader>dps | Profiler Scratch Buffer | **n** | +| <leader>e | Explorer Snacks (root dir) | **n** | +| <leader>E | Explorer Snacks (cwd) | **n** | +| <leader>fb | Buffers | **n** | +| <leader>fB | Buffers (all) | **n** | +| <leader>fc | Find Config File | **n** | +| <leader>fe | Explorer Snacks (root dir) | **n** | +| <leader>fE | Explorer Snacks (cwd) | **n** | +| <leader>ff | Find Files (Root Dir) | **n** | +| <leader>fF | Find Files (cwd) | **n** | +| <leader>fg | Find Files (git-files) | **n** | +| <leader>fp | Projects | **n** | +| <leader>fr | Recent | **n** | +| <leader>fR | Recent (cwd) | **n** | +| <leader>gc | Git Log | **n** | +| <leader>gd | Git Diff (hunks) | **n** | +| <leader>gs | Git Status | **n** | +| <leader>gS | Git Stash | **n** | | <leader>n | Notification History | **n** | | <leader>S | Select Scratch Buffer | **n** | +| <leader>s" | Registers | **n** | +| <leader>s/ | Search History | **n** | +| <leader>sa | Autocmds | **n** | +| <leader>sb | Buffer Lines | **n** | +| <leader>sB | Grep Open Buffers | **n** | +| <leader>sc | Command History | **n** | +| <leader>sC | Commands | **n** | +| <leader>sd | Diagnostics | **n** | +| <leader>sD | Buffer Diagnostics | **n** | +| <leader>sg | Grep (Root Dir) | **n** | +| <leader>sG | Grep (cwd) | **n** | +| <leader>sh | Help Pages | **n** | +| <leader>sH | Highlights | **n** | +| <leader>si | Icons | **n** | +| <leader>sj | Jumps | **n** | +| <leader>sk | Keymaps | **n** | +| <leader>sl | Location List | **n** | +| <leader>sm | Marks | **n** | +| <leader>sM | Man Pages | **n** | +| <leader>sp | Search for Plugin Spec | **n** | +| <leader>sq | Quickfix List | **n** | +| <leader>sR | Resume | **n** | +| <leader>su | Undotree | **n** | +| <leader>sw | Visual selection or word (Root Dir) | **n**, **x** | +| <leader>sW | Visual selection or word (cwd) | **n**, **x** | +| <leader>uC | Colorschemes | **n** | | <leader>un | Dismiss All Notifications | **n** | ## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) @@ -413,58 +406,6 @@ Part of [lazyvim.plugins.extras.editor.dial](/extras/editor/dial) | g<C-a> | Increment | **n**, **v** | | g<C-x> | Decrement | **n**, **v** | -## [fzf-lua](https://github.com/ibhagwan/fzf-lua.git) -Part of [lazyvim.plugins.extras.editor.fzf](/extras/editor/fzf) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader><space> | Find Files (Root Dir) | **n** | -| <leader>, | Switch Buffer | **n** | -| <leader>/ | Grep (Root Dir) | **n** | -| <leader>: | Command History | **n** | -| <leader>fb | Buffers | **n** | -| <leader>fc | Find Config File | **n** | -| <leader>ff | Find Files (Root Dir) | **n** | -| <leader>fF | Find Files (cwd) | **n** | -| <leader>fg | Find Files (git-files) | **n** | -| <leader>fr | Recent | **n** | -| <leader>fR | Recent (cwd) | **n** | -| <leader>gc | Commits | **n** | -| <leader>gs | Status | **n** | -| <leader>s" | Registers | **n** | -| <leader>sa | Auto Commands | **n** | -| <leader>sb | Buffer | **n** | -| <leader>sc | Command History | **n** | -| <leader>sC | Commands | **n** | -| <leader>sd | Document Diagnostics | **n** | -| <leader>sD | Workspace Diagnostics | **n** | -| <leader>sg | Grep (Root Dir) | **n** | -| <leader>sG | Grep (cwd) | **n** | -| <leader>sh | Help Pages | **n** | -| <leader>sH | Search Highlight Groups | **n** | -| <leader>sj | Jumplist | **n** | -| <leader>sk | Key Maps | **n** | -| <leader>sl | Location List | **n** | -| <leader>sm | Jump to Mark | **n** | -| <leader>sM | Man Pages | **n** | -| <leader>sq | Quickfix List | **n** | -| <leader>sR | Resume | **n** | -| <leader>ss | Goto Symbol | **n** | -| <leader>sS | Goto Symbol (Workspace) | **n** | -| <leader>sw | Word (Root Dir) | **n** | -| <leader>sW | Word (cwd) | **n** | -| <leader>sw | Selection (Root Dir) | **v** | -| <leader>sW | Selection (cwd) | **v** | -| <leader>uC | Colorscheme with Preview | **n** | - -## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) -Part of [lazyvim.plugins.extras.editor.fzf](/extras/editor/fzf) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader>st | Todo | **n** | -| <leader>sT | Todo/Fix/Fixme | **n** | - ## [harpoon](https://github.com/ThePrimeagen/harpoon.git) Part of [lazyvim.plugins.extras.editor.harpoon2](/extras/editor/harpoon2) @@ -517,18 +458,6 @@ Part of [lazyvim.plugins.extras.editor.mini-files](/extras/editor/mini-files) | <leader>fm | Open mini.files (Directory of Current File) | **n** | | <leader>fM | Open mini.files (cwd) | **n** | -## [neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim.git) -Part of [lazyvim.plugins.extras.editor.neo-tree](/extras/editor/neo-tree) - -| Key | Description | Mode | -| --- | --- | --- | -| <leader>be | Buffer Explorer | **n** | -| <leader>e | Explorer NeoTree (Root Dir) | **n** | -| <leader>E | Explorer NeoTree (cwd) | **n** | -| <leader>fe | Explorer NeoTree (Root Dir) | **n** | -| <leader>fE | Explorer NeoTree (cwd) | **n** | -| <leader>ge | Git Explorer | **n** | - ## [outline.nvim](https://github.com/hedyhli/outline.nvim.git) Part of [lazyvim.plugins.extras.editor.outline](/extras/editor/outline) @@ -566,6 +495,74 @@ Part of [lazyvim.plugins.extras.editor.refactoring](/extras/editor/refactoring) | <leader>rs | Refactor | **v** | | <leader>rx | Extract Variable | **v** | +## [snacks.nvim](https://github.com/folke/snacks.nvim.git) +Part of [lazyvim.plugins.extras.editor.snacks_explorer](/extras/editor/snacks_explorer) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>e | Explorer Snacks (root dir) | **n** | +| <leader>E | Explorer Snacks (cwd) | **n** | +| <leader>fe | Explorer Snacks (root dir) | **n** | +| <leader>fE | Explorer Snacks (cwd) | **n** | + +## [snacks.nvim](https://github.com/folke/snacks.nvim.git) +Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_picker) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader><space> | Find Files (Root Dir) | **n** | +| <leader>, | Buffers | **n** | +| <leader>/ | Grep (Root Dir) | **n** | +| <leader>: | Command History | **n** | +| <leader>fb | Buffers | **n** | +| <leader>fB | Buffers (all) | **n** | +| <leader>fc | Find Config File | **n** | +| <leader>ff | Find Files (Root Dir) | **n** | +| <leader>fF | Find Files (cwd) | **n** | +| <leader>fg | Find Files (git-files) | **n** | +| <leader>fp | Projects | **n** | +| <leader>fr | Recent | **n** | +| <leader>fR | Recent (cwd) | **n** | +| <leader>gc | Git Log | **n** | +| <leader>gd | Git Diff (hunks) | **n** | +| <leader>gs | Git Status | **n** | +| <leader>gS | Git Stash | **n** | +| <leader>n | Notification History | **n** | +| <leader>s" | Registers | **n** | +| <leader>s/ | Search History | **n** | +| <leader>sa | Autocmds | **n** | +| <leader>sb | Buffer Lines | **n** | +| <leader>sB | Grep Open Buffers | **n** | +| <leader>sc | Command History | **n** | +| <leader>sC | Commands | **n** | +| <leader>sd | Diagnostics | **n** | +| <leader>sD | Buffer Diagnostics | **n** | +| <leader>sg | Grep (Root Dir) | **n** | +| <leader>sG | Grep (cwd) | **n** | +| <leader>sh | Help Pages | **n** | +| <leader>sH | Highlights | **n** | +| <leader>si | Icons | **n** | +| <leader>sj | Jumps | **n** | +| <leader>sk | Keymaps | **n** | +| <leader>sl | Location List | **n** | +| <leader>sm | Marks | **n** | +| <leader>sM | Man Pages | **n** | +| <leader>sp | Search for Plugin Spec | **n** | +| <leader>sq | Quickfix List | **n** | +| <leader>sR | Resume | **n** | +| <leader>su | Undotree | **n** | +| <leader>sw | Visual selection or word (Root Dir) | **n**, **x** | +| <leader>sW | Visual selection or word (cwd) | **n**, **x** | +| <leader>uC | Colorschemes | **n** | + +## [todo-comments.nvim](https://github.com/folke/todo-comments.nvim.git) +Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_picker) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>st | Todo | **n** | +| <leader>sT | Todo/Fix/Fixme | **n** | + ## [nvim-ansible](https://github.com/mfussenegger/nvim-ansible.git) Part of [lazyvim.plugins.extras.lang.ansible](/extras/lang/ansible) diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index 65693d0574..31650b4ea5 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -703,50 +703,4 @@ opts = { -## [snacks.nvim](https://github.com/folke/snacks.nvim) - - - - - -```lua -opts = function(_, opts) - if not opts.picker then - return - end - table.insert(opts.dashboard.preset.keys, 3, { - icon = " ", - key = "p", - desc = "Projects", - action = ":lua Snacks.picker.projects()", - }) -end -``` - - - - - - -```lua -{ - "folke/snacks.nvim", - opts = function(_, opts) - if not opts.picker then - return - end - table.insert(opts.dashboard.preset.keys, 3, { - icon = " ", - key = "p", - desc = "Projects", - action = ":lua Snacks.picker.projects()", - }) - end, -} -``` - - - - - From fb012130696599d9061d7041c2451b4401d02e66 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 10 Feb 2025 23:18:53 +0000 Subject: [PATCH 075/187] chore(build): auto-generate docs --- docs/extras/coding/mini-surround.md | 1 - docs/extras/editor/snacks_explorer.md | 25 ++----------------------- 2 files changed, 2 insertions(+), 24 deletions(-) diff --git a/docs/extras/coding/mini-surround.md b/docs/extras/coding/mini-surround.md index c03691a35e..46900ec0af 100644 --- a/docs/extras/coding/mini-surround.md +++ b/docs/extras/coding/mini-surround.md @@ -45,7 +45,6 @@ opts = { ```lua { "echasnovski/mini.surround", - recommended = true, keys = function(_, keys) -- Populate the keys based on the user's options local opts = LazyVim.opts("mini.surround") diff --git a/docs/extras/editor/snacks_explorer.md b/docs/extras/editor/snacks_explorer.md index 7a88e8aee8..9f75636083 100644 --- a/docs/extras/editor/snacks_explorer.md +++ b/docs/extras/editor/snacks_explorer.md @@ -24,7 +24,7 @@ import TabItem from '@theme/TabItem'; ```lua -opts = { explorer = {} } +opts = nil ``` @@ -33,28 +33,7 @@ opts = { explorer = {} } ```lua -{ - "folke/snacks.nvim", - opts = { explorer = {} }, - keys = { - { - "fe", - function() - Snacks.explorer({ cwd = LazyVim.root() }) - end, - desc = "Explorer Snacks (root dir)", - }, - { - "fE", - function() - Snacks.explorer() - end, - desc = "Explorer Snacks (cwd)", - }, - { "e", "fe", desc = "Explorer Snacks (root dir)", remap = true }, - { "E", "fE", desc = "Explorer Snacks (cwd)", remap = true }, - }, -} +"folke/snacks.nvim" ``` From 0ff8079b430d64456ff5dad261c9712cff7bea3e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 12 Feb 2025 13:24:31 +0000 Subject: [PATCH 076/187] chore(build): auto-generate docs --- docs/extras/editor/fzf.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 47674a5493..21fb14c0c2 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -447,10 +447,10 @@ opts = function() local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { - { "gd", "FzfLua lsp_definitions jump_to_single_result=true ignore_current_line=true", desc = "Goto Definition", has = "definition" }, - { "gr", "FzfLua lsp_references jump_to_single_result=true ignore_current_line=true", desc = "References", nowait = true }, - { "gI", "FzfLua lsp_implementations jump_to_single_result=true ignore_current_line=true", desc = "Goto Implementation" }, - { "gy", "FzfLua lsp_typedefs jump_to_single_result=true ignore_current_line=true", desc = "Goto T[y]pe Definition" }, + { "gd", "FzfLua lsp_definitions jump1=true ignore_current_line=true", desc = "Goto Definition", has = "definition" }, + { "gr", "FzfLua lsp_references jump1=true ignore_current_line=true", desc = "References", nowait = true }, + { "gI", "FzfLua lsp_implementations jump1=true ignore_current_line=true", desc = "Goto Implementation" }, + { "gy", "FzfLua lsp_typedefs jump1=true ignore_current_line=true", desc = "Goto T[y]pe Definition" }, }) end ``` @@ -467,10 +467,10 @@ end local Keys = require("lazyvim.plugins.lsp.keymaps").get() -- stylua: ignore vim.list_extend(Keys, { - { "gd", "FzfLua lsp_definitions jump_to_single_result=true ignore_current_line=true", desc = "Goto Definition", has = "definition" }, - { "gr", "FzfLua lsp_references jump_to_single_result=true ignore_current_line=true", desc = "References", nowait = true }, - { "gI", "FzfLua lsp_implementations jump_to_single_result=true ignore_current_line=true", desc = "Goto Implementation" }, - { "gy", "FzfLua lsp_typedefs jump_to_single_result=true ignore_current_line=true", desc = "Goto T[y]pe Definition" }, + { "gd", "FzfLua lsp_definitions jump1=true ignore_current_line=true", desc = "Goto Definition", has = "definition" }, + { "gr", "FzfLua lsp_references jump1=true ignore_current_line=true", desc = "References", nowait = true }, + { "gI", "FzfLua lsp_implementations jump1=true ignore_current_line=true", desc = "Goto Implementation" }, + { "gy", "FzfLua lsp_typedefs jump1=true ignore_current_line=true", desc = "Goto T[y]pe Definition" }, }) end, } From fa9c06f821506f72a7f1448f17fcd288872ce81e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 14 Feb 2025 17:16:09 +0000 Subject: [PATCH 077/187] chore(build): auto-generate docs --- docs/extras/coding/neogen.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/extras/coding/neogen.md b/docs/extras/coding/neogen.md index 9b06050614..d3270a726e 100644 --- a/docs/extras/coding/neogen.md +++ b/docs/extras/coding/neogen.md @@ -31,6 +31,7 @@ opts = function(_, opts) local map = { ["LuaSnip"] = "luasnip", + ["mini.snippets"] = "mini", ["nvim-snippy"] = "snippy", ["vim-vsnip"] = "vsnip", } @@ -56,6 +57,7 @@ end ```lua { "danymat/neogen", + dependencies = LazyVim.has("mini.snippets") and { "mini.snippets" } or {}, cmd = "Neogen", keys = { { @@ -73,6 +75,7 @@ end local map = { ["LuaSnip"] = "luasnip", + ["mini.snippets"] = "mini", ["nvim-snippy"] = "snippy", ["vim-vsnip"] = "vsnip", } From 46faf916fb3e455a43a01006af5adb5a29766f02 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 15 Feb 2025 08:22:05 +0000 Subject: [PATCH 078/187] chore(build): auto-generate docs --- docs/configuration/general.md | 17 +++- docs/extras/editor/snacks_picker.md | 139 ++++++++++++++++++++++++++++ 2 files changed, 154 insertions(+), 2 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index b845f27cd1..7b431a6554 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -293,8 +293,21 @@ map("n", "l", "Lazy", { desc = "Lazy" }) -- new file map("n", "fn", "enew", { desc = "New File" }) -map("n", "xl", "lopen", { desc = "Location List" }) -map("n", "xq", "copen", { desc = "Quickfix List" }) +-- location list +map("n", "xl", function() + local success, err = pcall(vim.fn.getloclist(0, { winid = 0 }).winid ~= 0 and vim.cmd.lclose or vim.cmd.lopen) + if not success and err then + vim.notify(err, vim.log.levels.ERROR) + end +end, { desc = "Location List" }) + +-- quickfix list +map("n", "xq", function() + local success, err = pcall(vim.fn.getqflist({ winid = 0 }).winid ~= 0 and vim.cmd.cclose or vim.cmd.copen) + if not success and err then + vim.notify(err, vim.log.levels.ERROR) + end +end, { desc = "Quickfix List" }) map("n", "[q", vim.cmd.cprev, { desc = "Previous Quickfix" }) map("n", "]q", vim.cmd.cnext, { desc = "Next Quickfix" }) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 95e0444ef4..20aafbd464 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -428,6 +428,145 @@ opts = nil +## [alpha-nvim](https://github.com/goolord/alpha-nvim) _(optional)_ + + + + + +```lua +opts = function(_, dashboard) + local button = dashboard.button("p", " " .. " Projects", [[ lua Snacks.picker.projects() ]]) + button.opts.hl = "AlphaButtons" + button.opts.hl_shortcut = "AlphaShortcut" + table.insert(dashboard.section.buttons.val, 4, button) +end +``` + + + + + + +```lua +{ + "goolord/alpha-nvim", + optional = true, + opts = function(_, dashboard) + local button = dashboard.button("p", " " .. " Projects", [[ lua Snacks.picker.projects() ]]) + button.opts.hl = "AlphaButtons" + button.opts.hl_shortcut = "AlphaShortcut" + table.insert(dashboard.section.buttons.val, 4, button) + end, +} +``` + + + + + +## [mini.starter](https://github.com/echasnovski/mini.starter) _(optional)_ + + + + + +```lua +opts = function(_, opts) + local items = { + { + name = "Projects", + action = [[lua Snacks.picker.projects()]], + section = string.rep(" ", 22) .. "Telescope", + }, + } + vim.list_extend(opts.items, items) +end +``` + + + + + + +```lua +{ + "echasnovski/mini.starter", + optional = true, + opts = function(_, opts) + local items = { + { + name = "Projects", + action = [[lua Snacks.picker.projects()]], + section = string.rep(" ", 22) .. "Telescope", + }, + } + vim.list_extend(opts.items, items) + end, +} +``` + + + + + +## [dashboard-nvim](https://github.com/nvimdev/dashboard-nvim) _(optional)_ + + + + + +```lua +opts = function(_, opts) + if not vim.tbl_get(opts, "config", "center") then + return + end + local projects = { + action = "lua Snacks.picker.projects()", + desc = " Projects", + icon = " ", + key = "p", + } + + projects.desc = projects.desc .. string.rep(" ", 43 - #projects.desc) + projects.key_format = " %s" + + table.insert(opts.config.center, 3, projects) +end +``` + + + + + + +```lua +{ + "nvimdev/dashboard-nvim", + optional = true, + opts = function(_, opts) + if not vim.tbl_get(opts, "config", "center") then + return + end + local projects = { + action = "lua Snacks.picker.projects()", + desc = " Projects", + icon = " ", + key = "p", + } + + projects.desc = projects.desc .. string.rep(" ", 43 - #projects.desc) + projects.key_format = " %s" + + table.insert(opts.config.center, 3, projects) + end, +} +``` + + + + + ## [flash.nvim](https://github.com/folke/flash.nvim) _(optional)_ From a7df2134e497a94a5a0cfbfaff942a19d8a6edd1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 15 Feb 2025 15:18:09 +0000 Subject: [PATCH 079/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 20aafbd464..841e50911a 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -170,7 +170,7 @@ opts = function(_, opts) win = { input = { keys = { - [""] = { + [""] = { "trouble_open", mode = { "n", "i" }, }, @@ -203,7 +203,7 @@ end win = { input = { keys = { - [""] = { + [""] = { "trouble_open", mode = { "n", "i" }, }, From dc6f745dbd9b1b8b4d34324dc2bde4c988510145 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 15 Feb 2025 21:16:48 +0000 Subject: [PATCH 080/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 370fed2557..5942ffaf12 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -79,7 +79,6 @@ opts = { -- with blink.compat compat = {}, default = { "lsp", "path", "snippets", "buffer" }, - cmdline = {}, }, keymap = { @@ -162,7 +161,6 @@ opts = { -- with blink.compat compat = {}, default = { "lsp", "path", "snippets", "buffer" }, - cmdline = {}, }, keymap = { @@ -172,6 +170,15 @@ opts = { }, ---@param opts blink.cmp.Config | { sources: { compat: string[] } } config = function(_, opts) + -- HACK: remove when next `blink.cmp` stable release is available + -- and just do `opts.cmdline.sources = {}` directly in `opts` + -- Should be greater than current 0.11.0 + if not vim.g.lazyvim_blink_main then + opts.sources["cmdline"] = {} + else + opts.cmdline = opts.cmdline or {} + opts.cmdline.sources = {} + end -- setup compat sources local enabled = opts.sources.default for _, source in ipairs(opts.sources.compat or {}) do From 839fcb7a3906d7d332cce86439e52c36bf5c4c0a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 15 Feb 2025 22:17:18 +0000 Subject: [PATCH 081/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 5942ffaf12..2eb4307264 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -81,6 +81,10 @@ opts = { default = { "lsp", "path", "snippets", "buffer" }, }, + cmdline = { + sources = {}, + }, + keymap = { preset = "enter", [""] = { "select_and_accept" }, @@ -163,6 +167,10 @@ opts = { default = { "lsp", "path", "snippets", "buffer" }, }, + cmdline = { + sources = {}, + }, + keymap = { preset = "enter", [""] = { "select_and_accept" }, @@ -170,15 +178,6 @@ opts = { }, ---@param opts blink.cmp.Config | { sources: { compat: string[] } } config = function(_, opts) - -- HACK: remove when next `blink.cmp` stable release is available - -- and just do `opts.cmdline.sources = {}` directly in `opts` - -- Should be greater than current 0.11.0 - if not vim.g.lazyvim_blink_main then - opts.sources["cmdline"] = {} - else - opts.cmdline = opts.cmdline or {} - opts.cmdline.sources = {} - end -- setup compat sources local enabled = opts.sources.default for _, source in ipairs(opts.sources.compat or {}) do From fa10e6d73f6541a74afc5307d54b4c671f13eac9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 15 Feb 2025 23:16:38 +0000 Subject: [PATCH 082/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 2eb4307264..8ce3de2703 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -82,6 +82,7 @@ opts = { }, cmdline = { + enabled = false, sources = {}, }, @@ -168,6 +169,7 @@ opts = { }, cmdline = { + enabled = false, sources = {}, }, From 769f6cf638cc7b9b0f296567898f6c02d0590e2e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 16 Feb 2025 07:18:38 +0000 Subject: [PATCH 083/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 8ce3de2703..aa19f2d76d 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -83,7 +83,6 @@ opts = { cmdline = { enabled = false, - sources = {}, }, keymap = { @@ -170,7 +169,6 @@ opts = { cmdline = { enabled = false, - sources = {}, }, keymap = { From 5516b5a541d1e07fcda2102173970ff8ff35f253 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 16 Feb 2025 08:21:52 +0000 Subject: [PATCH 084/187] chore(build): auto-generate docs --- docs/extras/coding/mini-snippets.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/extras/coding/mini-snippets.md b/docs/extras/coding/mini-snippets.md index 0d4aab1d8c..9209ef4747 100644 --- a/docs/extras/coding/mini-snippets.md +++ b/docs/extras/coding/mini-snippets.md @@ -257,21 +257,25 @@ opts = function(_, opts) end -- Standalone -- + local blink = require("blink.cmp") expand_select_override = function(snippets, insert) -- Schedule, otherwise blink's virtual text is not removed on vim.ui.select - require("blink.cmp").cancel() + blink.cancel() vim.schedule(function() MiniSnippets.default_select(snippets, insert) end) end -- -- Blink performs a require on blink.cmp.sources.snippets.default - -- By removing the source, the default engine will not be used + -- By removing the source, that default engine will not be used opts.sources.default = vim.tbl_filter(function(source) return source ~= "snippets" end, opts.sources.default) opts.snippets = { -- need to repeat blink's preset here - expand = expand_from_lsp, + expand = function(snippet) + expand_from_lsp(snippet) + blink.resubscribe() + end, active = function() return MiniSnippets.session.get(false) ~= nil end, @@ -299,21 +303,25 @@ end end -- Standalone -- + local blink = require("blink.cmp") expand_select_override = function(snippets, insert) -- Schedule, otherwise blink's virtual text is not removed on vim.ui.select - require("blink.cmp").cancel() + blink.cancel() vim.schedule(function() MiniSnippets.default_select(snippets, insert) end) end -- -- Blink performs a require on blink.cmp.sources.snippets.default - -- By removing the source, the default engine will not be used + -- By removing the source, that default engine will not be used opts.sources.default = vim.tbl_filter(function(source) return source ~= "snippets" end, opts.sources.default) opts.snippets = { -- need to repeat blink's preset here - expand = expand_from_lsp, + expand = function(snippet) + expand_from_lsp(snippet) + blink.resubscribe() + end, active = function() return MiniSnippets.session.get(false) ~= nil end, From 7066b9b997bdd68b704f3cacb315e768c44d588b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 16 Feb 2025 12:36:44 +0000 Subject: [PATCH 085/187] chore(build): auto-generate docs --- docs/extras/util/octo.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/extras/util/octo.md b/docs/extras/util/octo.md index 87ac2b4e7d..e9c2660a4d 100644 --- a/docs/extras/util/octo.md +++ b/docs/extras/util/octo.md @@ -95,12 +95,14 @@ opts = { ```lua opts = function(_, opts) vim.treesitter.language.register("markdown", "octo") - if LazyVim.has("telescope.nvim") then + if LazyVim.has_extra("editor.telescope") then opts.picker = "telescope" - elseif LazyVim.has("fzf-lua") then + elseif LazyVim.has_extra("editor.fzf") then opts.picker = "fzf-lua" + elseif LazyVim.has_extra("editor.snacks_picker") then + opts.picker = "snacks" else - LazyVim.error("`octo.nvim` requires `telescope.nvim` or `fzf-lua`") + LazyVim.error("`octo.nvim` requires `telescope.nvim` or `fzf-lua` or `snacks.nvim`") end -- Keep some empty windows in sessions @@ -129,12 +131,14 @@ end "pwntester/octo.nvim", opts = function(_, opts) vim.treesitter.language.register("markdown", "octo") - if LazyVim.has("telescope.nvim") then + if LazyVim.has_extra("editor.telescope") then opts.picker = "telescope" - elseif LazyVim.has("fzf-lua") then + elseif LazyVim.has_extra("editor.fzf") then opts.picker = "fzf-lua" + elseif LazyVim.has_extra("editor.snacks_picker") then + opts.picker = "snacks" else - LazyVim.error("`octo.nvim` requires `telescope.nvim` or `fzf-lua`") + LazyVim.error("`octo.nvim` requires `telescope.nvim` or `fzf-lua` or `snacks.nvim`") end -- Keep some empty windows in sessions From 8249f7c61ba30d9d4c63ded0b843915713474437 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 18 Feb 2025 22:17:58 +0000 Subject: [PATCH 086/187] chore(build): auto-generate docs --- docs/configuration/general.md | 2 +- docs/extras/editor/snacks_picker.md | 1 - docs/keymaps.md | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 7b431a6554..fad5a15210 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -378,7 +378,7 @@ map("n", "qq", "qa", { desc = "Quit All" }) -- highlights under cursor map("n", "ui", vim.show_pos, { desc = "Inspect Pos" }) -map("n", "uI", "InspectTree", { desc = "Inspect Tree" }) +map("n", "uI", function() vim.treesitter.inspect_tree() vim.api.nvim_input("I") end, { desc = "Inspect Tree" }) -- LazyVim Changelog map("n", "L", function() LazyVim.news.changelog() end, { desc = "LazyVim Changelog" }) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 841e50911a..19de86b1f3 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -110,7 +110,6 @@ opts = { { "fR", function() Snacks.picker.recent({ filter = { cwd = true }}) end, desc = "Recent (cwd)" }, { "fp", function() Snacks.picker.projects() end, desc = "Projects" }, -- git - { "gc", function() Snacks.picker.git_log() end, desc = "Git Log" }, { "gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (hunks)" }, { "gs", function() Snacks.picker.git_status() end, desc = "Git Status" }, { "gS", function() Snacks.picker.git_stash() end, desc = "Git Stash" }, diff --git a/docs/keymaps.md b/docs/keymaps.md index 859f4eb0be..362968e564 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -230,7 +230,6 @@ possible keymaps starting with ``. | <leader>fp | Projects | **n** | | <leader>fr | Recent | **n** | | <leader>fR | Recent (cwd) | **n** | -| <leader>gc | Git Log | **n** | | <leader>gd | Git Diff (hunks) | **n** | | <leader>gs | Git Status | **n** | | <leader>gS | Git Stash | **n** | @@ -523,7 +522,6 @@ Part of [lazyvim.plugins.extras.editor.snacks_picker](/extras/editor/snacks_pick | <leader>fp | Projects | **n** | | <leader>fr | Recent | **n** | | <leader>fR | Recent (cwd) | **n** | -| <leader>gc | Git Log | **n** | | <leader>gd | Git Diff (hunks) | **n** | | <leader>gs | Git Status | **n** | | <leader>gS | Git Stash | **n** | From e859434cdb5b9bd47d207a60213fe98089c3795a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 21 Feb 2025 14:16:59 +0000 Subject: [PATCH 087/187] chore(build): auto-generate docs --- docs/extras/util/chezmoi.md | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/docs/extras/util/chezmoi.md b/docs/extras/util/chezmoi.md index 03ff171595..56779856e5 100644 --- a/docs/extras/util/chezmoi.md +++ b/docs/extras/util/chezmoi.md @@ -78,6 +78,7 @@ opts = { ```lua { "xvzc/chezmoi.nvim", + cmd = { "ChezmoiEdit" }, keys = { { "sz", @@ -237,4 +238,63 @@ end +## [snacks.nvim](https://github.com/folke/snacks.nvim) _(optional)_ + + + + + +```lua +opts = function(_, opts) + local chezmoi_entry = { + icon = " ", + key = "c", + desc = "Config", + action = pick_chezmoi, + } + local config_index + for i = #opts.dashboard.preset.keys, 1, -1 do + if opts.dashboard.preset.keys[i].key == "c" then + table.remove(opts.dashboard.preset.keys, i) + config_index = i + break + end + end + table.insert(opts.dashboard.preset.keys, config_index, chezmoi_entry) +end +``` + + + + + + +```lua +{ + "folke/snacks.nvim", + optional = true, + opts = function(_, opts) + local chezmoi_entry = { + icon = " ", + key = "c", + desc = "Config", + action = pick_chezmoi, + } + local config_index + for i = #opts.dashboard.preset.keys, 1, -1 do + if opts.dashboard.preset.keys[i].key == "c" then + table.remove(opts.dashboard.preset.keys, i) + config_index = i + break + end + end + table.insert(opts.dashboard.preset.keys, config_index, chezmoi_entry) + end, +} +``` + + + + + From 336048b7ab5533516b535b3f9cc72756f2536827 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 22 Feb 2025 07:16:12 +0000 Subject: [PATCH 088/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index aa19f2d76d..e454846ca0 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -229,6 +229,7 @@ opts = { items = transform_items and transform_items(ctx, items) or items for _, item in ipairs(items) do item.kind = kind_idx or item.kind + item.kind_icon = LazyVim.config.icons.kinds[item.kind_name] or item.kind_icon or nil end return items end From eac44cd13239c68d2e6efa498b44447f4aff2dab Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 1 Mar 2025 15:19:16 +0000 Subject: [PATCH 089/187] chore(build): auto-generate docs --- docs/extras/ai/copilot-chat.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/docs/extras/ai/copilot-chat.md b/docs/extras/ai/copilot-chat.md index aaab9fb7b8..08f795a644 100644 --- a/docs/extras/ai/copilot-chat.md +++ b/docs/extras/ai/copilot-chat.md @@ -82,16 +82,25 @@ end { "aq", function() - local input = vim.fn.input("Quick Chat: ") - if input ~= "" then - require("CopilotChat").ask(input) - end + vim.ui.input({ + prompt = "Quick Chat: ", + }, function(input) + if input ~= "" then + require("CopilotChat").ask(input) + end + end) end, desc = "Quick Chat (CopilotChat)", mode = { "n", "v" }, }, - -- Show prompts actions with telescope - { "ap", M.pick("prompt"), desc = "Prompt Actions (CopilotChat)", mode = { "n", "v" } }, + { + "ap", + function() + require("CopilotChat").select_prompt() + end, + desc = "Prompt Actions (CopilotChat)", + mode = { "n", "v" }, + }, }, config = function(_, opts) local chat = require("CopilotChat") From 485d853b1e52533c4e360d036f2d27f7c0dc06e1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 27 Mar 2025 01:40:16 +0000 Subject: [PATCH 090/187] chore(build): auto-generate docs --- docs/keymaps.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/keymaps.md b/docs/keymaps.md index 362968e564..ae631f58c0 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -107,8 +107,6 @@ possible keymaps starting with ``. | <leader><tab>] | Next Tab | **n** | | <leader><tab>d | Close Tab | **n** | | <leader><tab>[ | Previous Tab | **n** | -| <Tab> | Jump Next | **s** | -| <S-Tab> | Jump Previous | **i**, **s** | ## LSP From 5cc96146d96bb61ad915088bc3eec4151643cd6f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 12 May 2025 09:24:59 +0000 Subject: [PATCH 091/187] chore(build): auto-generate docs --- docs/extras/formatting/biome.md | 4 +- docs/extras/formatting/black.md | 4 +- docs/extras/formatting/prettier.md | 4 +- docs/extras/lang/ansible.md | 4 +- docs/extras/lang/clangd.md | 6 +-- docs/extras/lang/cmake.md | 2 +- docs/extras/lang/docker.md | 2 +- docs/extras/lang/elm.md | 4 +- docs/extras/lang/go.md | 16 ++++---- docs/extras/lang/haskell.md | 10 ++--- docs/extras/lang/java.md | 6 +-- docs/extras/lang/kotlin.md | 8 ++-- docs/extras/lang/markdown.md | 4 +- docs/extras/lang/omnisharp.md | 4 +- docs/extras/lang/php.md | 4 +- docs/extras/lang/ruby.md | 4 +- docs/extras/lang/rust.md | 4 +- docs/extras/lang/sql.md | 4 +- docs/extras/lang/terraform.md | 4 +- docs/extras/lang/typescript.md | 6 +-- docs/extras/lsp/none-ls.md | 2 +- docs/extras/util/dot.md | 4 +- docs/extras/util/gitui.md | 4 +- docs/keymaps.md | 4 +- docs/plugins/formatting.md | 2 +- docs/plugins/lsp.md | 63 ++++++++++++++++++++++++++---- 26 files changed, 116 insertions(+), 67 deletions(-) diff --git a/docs/extras/formatting/biome.md b/docs/extras/formatting/biome.md index 4cafb2b34a..7779155c9a 100644 --- a/docs/extras/formatting/biome.md +++ b/docs/extras/formatting/biome.md @@ -26,7 +26,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -43,7 +43,7 @@ opts = { ensure_installed = { "biome" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "biome" } }, } ``` diff --git a/docs/extras/formatting/black.md b/docs/extras/formatting/black.md index fcdb98bdd9..cee7a9e135 100644 --- a/docs/extras/formatting/black.md +++ b/docs/extras/formatting/black.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -36,7 +36,7 @@ end ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = function(_, opts) table.insert(opts.ensure_installed, "black") end, diff --git a/docs/extras/formatting/prettier.md b/docs/extras/formatting/prettier.md index cc5d67f52b..b9f931d023 100644 --- a/docs/extras/formatting/prettier.md +++ b/docs/extras/formatting/prettier.md @@ -27,7 +27,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -44,7 +44,7 @@ opts = { ensure_installed = { "prettier" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "prettier" } }, } ``` diff --git a/docs/extras/lang/ansible.md b/docs/extras/lang/ansible.md index 945ee62eb1..f1aaab7d1d 100644 --- a/docs/extras/lang/ansible.md +++ b/docs/extras/lang/ansible.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -34,7 +34,7 @@ opts = { ensure_installed = { "ansible-lint" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "ansible-lint" } }, } ``` diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index 2080b76d57..71bbaa8579 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -335,7 +335,7 @@ end optional = true, dependencies = { -- Ensure C/C++ debugger is installed - "williamboman/mason.nvim", + "mason-org/mason.nvim", optional = true, opts = { ensure_installed = { "codelldb" } }, }, @@ -383,7 +383,7 @@ end -## [mason.nvim](https://github.com/williamboman/mason.nvim) _(optional)_ +## [mason.nvim](https://github.com/mason-org/mason.nvim) _(optional)_ @@ -401,7 +401,7 @@ opts = { ensure_installed = { "codelldb" } } ```lua { -- Ensure C/C++ debugger is installed - "williamboman/mason.nvim", + "mason-org/mason.nvim", optional = true, opts = { ensure_installed = { "codelldb" } }, } diff --git a/docs/extras/lang/cmake.md b/docs/extras/lang/cmake.md index a89528270b..5afda47776 100644 --- a/docs/extras/lang/cmake.md +++ b/docs/extras/lang/cmake.md @@ -43,7 +43,7 @@ opts = { ensure_installed = { "cmake" } } -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) diff --git a/docs/extras/lang/docker.md b/docs/extras/lang/docker.md index bf90b23b18..edf1590581 100644 --- a/docs/extras/lang/docker.md +++ b/docs/extras/lang/docker.md @@ -43,7 +43,7 @@ opts = { ensure_installed = { "dockerfile" } } -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) diff --git a/docs/extras/lang/elm.md b/docs/extras/lang/elm.md index 10982c7dc4..938920e05a 100644 --- a/docs/extras/lang/elm.md +++ b/docs/extras/lang/elm.md @@ -43,7 +43,7 @@ opts = { ensure_installed = { "elm" } } -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -60,7 +60,7 @@ opts = { ensure_installed = { "elm-format" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "elm-format" } }, } ``` diff --git a/docs/extras/lang/go.md b/docs/extras/lang/go.md index 52ed2ef1d2..ed6cebc295 100644 --- a/docs/extras/lang/go.md +++ b/docs/extras/lang/go.md @@ -189,7 +189,7 @@ opts = { -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) Ensure Go tools are installed @@ -209,7 +209,7 @@ opts = { ensure_installed = { "goimports", "gofumpt" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "goimports", "gofumpt" } }, } ``` @@ -218,7 +218,7 @@ opts = { ensure_installed = { "goimports", "gofumpt" } } -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -235,7 +235,7 @@ opts = { ensure_installed = { "gomodifytags", "impl" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "gomodifytags", "impl" } }, } ``` @@ -244,7 +244,7 @@ opts = { ensure_installed = { "gomodifytags", "impl" } } -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -261,7 +261,7 @@ opts = { ensure_installed = { "delve" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "delve" } }, } ``` @@ -393,7 +393,7 @@ end optional = true, dependencies = { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "gomodifytags", "impl" } }, }, }, @@ -469,7 +469,7 @@ opts = nil optional = true, dependencies = { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "delve" } }, }, { diff --git a/docs/extras/lang/haskell.md b/docs/extras/lang/haskell.md index 189ef749ac..277062b2d7 100644 --- a/docs/extras/lang/haskell.md +++ b/docs/extras/lang/haskell.md @@ -82,7 +82,7 @@ opts = {} -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -99,7 +99,7 @@ opts = { ensure_installed = { "haskell-language-server" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "haskell-language-server" } }, } ``` @@ -108,7 +108,7 @@ opts = { ensure_installed = { "haskell-language-server" } } -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -125,7 +125,7 @@ opts = { ensure_installed = { "haskell-debug-adapter" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "haskell-debug-adapter" } }, } ``` @@ -355,7 +355,7 @@ opts = nil optional = true, dependencies = { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "haskell-debug-adapter" } }, }, }, diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 0d88c559d8..46d273559f 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -46,7 +46,7 @@ opts = { ensure_installed = { "java" } } -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -63,7 +63,7 @@ opts = { ensure_installed = { "java-debug-adapter", "java-test" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "java-debug-adapter", "java-test" } }, } ``` @@ -496,7 +496,7 @@ end end, dependencies = { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "java-debug-adapter", "java-test" } }, }, }, diff --git a/docs/extras/lang/kotlin.md b/docs/extras/lang/kotlin.md index a82eeb8321..a926807297 100644 --- a/docs/extras/lang/kotlin.md +++ b/docs/extras/lang/kotlin.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) Add packages(linting, debug adapter) @@ -37,7 +37,7 @@ opts = { ensure_installed = { "ktlint" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "ktlint" } }, } ``` @@ -136,7 +136,7 @@ opts = { { "mfussenegger/nvim-lint", optional = true, - dependencies = "williamboman/mason.nvim", + dependencies = "mason-org/mason.nvim", opts = { linters_by_ft = { kotlin = { "ktlint" } }, }, @@ -288,7 +288,7 @@ end { "mfussenegger/nvim-dap", optional = true, - dependencies = "williamboman/mason.nvim", + dependencies = "mason-org/mason.nvim", opts = function() local dap = require("dap") if not dap.adapters.kotlin then diff --git a/docs/extras/lang/markdown.md b/docs/extras/lang/markdown.md index d031ae6dcc..18e76211f9 100644 --- a/docs/extras/lang/markdown.md +++ b/docs/extras/lang/markdown.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -34,7 +34,7 @@ opts = { ensure_installed = { "markdownlint-cli2", "markdown-toc" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "markdownlint-cli2", "markdown-toc" } }, } ``` diff --git a/docs/extras/lang/omnisharp.md b/docs/extras/lang/omnisharp.md index 879d96f473..a136c3de28 100644 --- a/docs/extras/lang/omnisharp.md +++ b/docs/extras/lang/omnisharp.md @@ -66,7 +66,7 @@ opts = { ensure_installed = { "c_sharp" } } -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -83,7 +83,7 @@ opts = { ensure_installed = { "csharpier", "netcoredbg" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "csharpier", "netcoredbg" } }, } ``` diff --git a/docs/extras/lang/php.md b/docs/extras/lang/php.md index 08c0650c1b..cf776ee750 100644 --- a/docs/extras/lang/php.md +++ b/docs/extras/lang/php.md @@ -103,7 +103,7 @@ opts = { -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -125,7 +125,7 @@ opts = { ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "phpcs", diff --git a/docs/extras/lang/ruby.md b/docs/extras/lang/ruby.md index f67b981de2..89e3b56022 100644 --- a/docs/extras/lang/ruby.md +++ b/docs/extras/lang/ruby.md @@ -119,7 +119,7 @@ opts = { -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -136,7 +136,7 @@ opts = { ensure_installed = { "erb-formatter", "erb-lint" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "erb-formatter", "erb-lint" } }, } ``` diff --git a/docs/extras/lang/rust.md b/docs/extras/lang/rust.md index 7c76ca494b..b41afadb46 100644 --- a/docs/extras/lang/rust.md +++ b/docs/extras/lang/rust.md @@ -304,7 +304,7 @@ opts = { -## [mason.nvim](https://github.com/williamboman/mason.nvim) _(optional)_ +## [mason.nvim](https://github.com/mason-org/mason.nvim) _(optional)_ Ensure Rust debugger is installed @@ -330,7 +330,7 @@ end ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", optional = true, opts = function(_, opts) opts.ensure_installed = opts.ensure_installed or {} diff --git a/docs/extras/lang/sql.md b/docs/extras/lang/sql.md index 5719e54d68..1e7b7f71a9 100644 --- a/docs/extras/lang/sql.md +++ b/docs/extras/lang/sql.md @@ -195,7 +195,7 @@ opts = nil -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) Linters & formatters @@ -215,7 +215,7 @@ opts = { ensure_installed = { "sqlfluff" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "sqlfluff" } }, } ``` diff --git a/docs/extras/lang/terraform.md b/docs/extras/lang/terraform.md index 3a605b5a43..b7db716f7e 100644 --- a/docs/extras/lang/terraform.md +++ b/docs/extras/lang/terraform.md @@ -77,7 +77,7 @@ opts = { -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) ensure terraform tools are installed @@ -97,7 +97,7 @@ opts = { ensure_installed = { "tflint" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "tflint" } }, } ``` diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index bff51eefdf..ed1e86a7c1 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -386,7 +386,7 @@ opts = { -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -406,7 +406,7 @@ end ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = function(_, opts) opts.ensure_installed = opts.ensure_installed or {} table.insert(opts.ensure_installed, "js-debug-adapter") @@ -549,7 +549,7 @@ end optional = true, dependencies = { { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = function(_, opts) opts.ensure_installed = opts.ensure_installed or {} table.insert(opts.ensure_installed, "js-debug-adapter") diff --git a/docs/extras/lsp/none-ls.md b/docs/extras/lsp/none-ls.md index d5a87ae9d6..ddb5f4f81c 100644 --- a/docs/extras/lsp/none-ls.md +++ b/docs/extras/lsp/none-ls.md @@ -92,7 +92,7 @@ end -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) diff --git a/docs/extras/util/dot.md b/docs/extras/util/dot.md index 411d5449e1..f58d86c62d 100644 --- a/docs/extras/util/dot.md +++ b/docs/extras/util/dot.md @@ -51,7 +51,7 @@ opts = { -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -68,7 +68,7 @@ opts = { ensure_installed = { "shellcheck" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "shellcheck" } }, } ``` diff --git a/docs/extras/util/gitui.md b/docs/extras/util/gitui.md index 31e525e0d1..b258db9cf5 100644 --- a/docs/extras/util/gitui.md +++ b/docs/extras/util/gitui.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) Ensure GitUI tool is installed @@ -37,7 +37,7 @@ opts = { ensure_installed = { "gitui" } } ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "gitui" } }, keys = { { diff --git a/docs/keymaps.md b/docs/keymaps.md index ae631f58c0..856383e340 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -169,7 +169,7 @@ possible keymaps starting with ``. | --- | --- | --- | | <leader>sr | Search and Replace | **n**, **v** | -## [mason.nvim](https://github.com/williamboman/mason.nvim.git) +## [mason.nvim](https://github.com/mason-org/mason.nvim.git) | Key | Description | Mode | | --- | --- | --- | @@ -633,7 +633,7 @@ Part of [lazyvim.plugins.extras.util.chezmoi](/extras/util/chezmoi) | --- | --- | --- | | <leader>sz | Chezmoi | **n** | -## [mason.nvim](https://github.com/williamboman/mason.nvim.git) +## [mason.nvim](https://github.com/mason-org/mason.nvim.git) Part of [lazyvim.plugins.extras.util.gitui](/extras/util/gitui) | Key | Description | Mode | diff --git a/docs/plugins/formatting.md b/docs/plugins/formatting.md index db151eeb05..928917c4f5 100644 --- a/docs/plugins/formatting.md +++ b/docs/plugins/formatting.md @@ -161,7 +161,7 @@ end -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 8bf86454e2..b0a1c1544d 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -155,7 +155,7 @@ end event = "LazyFile", dependencies = { "mason.nvim", - { "williamboman/mason-lspconfig.nvim", config = function() end }, + { "mason-org/mason-lspconfig.nvim", config = function() end }, }, opts = function() ---@class PluginLspOpts @@ -409,7 +409,7 @@ end -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) @@ -427,7 +427,7 @@ opts = nil ```lua { "mason.nvim", - { "williamboman/mason-lspconfig.nvim", config = function() end }, + { "mason-org/mason-lspconfig.nvim", config = function() end }, } ``` @@ -435,7 +435,7 @@ opts = nil -## [mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim) +## [mason-lspconfig.nvim](https://github.com/mason-org/mason-lspconfig.nvim) @@ -451,14 +451,14 @@ opts = {} ```lua -{ "williamboman/mason-lspconfig.nvim", config = function() end } +{ "mason-org/mason-lspconfig.nvim", config = function() end } ``` -## [mason.nvim](https://github.com/williamboman/mason.nvim) +## [mason.nvim](https://github.com/mason-org/mason.nvim) cmdline tools and lsp servers @@ -484,7 +484,7 @@ opts = { ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", cmd = "Mason", keys = { { "cm", "Mason", desc = "Mason" } }, build = ":MasonUpdate", @@ -525,4 +525,53 @@ opts = { +## [mason.nvim](https://github.com/mason-org/mason.nvim) + + pin to v1 for now + + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "mason-org/mason.nvim", version = "^1.0.0" } +``` + + + + + +## [mason-lspconfig.nvim](https://github.com/mason-org/mason-lspconfig.nvim) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "mason-org/mason-lspconfig.nvim", version = "^1.0.0" } +``` + + + + + From 027c3e7a78838a9db23124fb642783fc6466df64 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 05:20:51 +0000 Subject: [PATCH 092/187] chore(build): auto-generate docs --- docs/extras/ai/copilot.md | 4 ++-- docs/extras/coding/blink.md | 2 +- docs/extras/lang/python.md | 42 +++++++++++++++++++++++++++++++++++++ docs/keymaps.md | 7 +++++++ 4 files changed, 52 insertions(+), 3 deletions(-) diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index ef34ffca14..da15718aa6 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -218,7 +218,7 @@ opts = function(_, opts) LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() local clients = package.loaded["copilot"] and LazyVim.lsp.get_clients({ name = "copilot", bufnr = 0 }) or {} if #clients > 0 then - local status = require("copilot.api").status.data.status + local status = require("copilot.status").data.status return (status == "InProgress" and "pending") or (status == "Warning" and "error") or "ok" end end) @@ -243,7 +243,7 @@ end LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() local clients = package.loaded["copilot"] and LazyVim.lsp.get_clients({ name = "copilot", bufnr = 0 }) or {} if #clients > 0 then - local status = require("copilot.api").status.data.status + local status = require("copilot.status").data.status return (status == "InProgress" and "pending") or (status == "Warning" and "error") or "ok" end end) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index e454846ca0..cd2553f501 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -195,7 +195,7 @@ opts = { if not opts.keymap[""] then if opts.keymap.preset == "super-tab" then -- super-tab opts.keymap[""] = { - require("blink.cmp.keymap.presets")["super-tab"][""][1], + require("blink.cmp.keymap.presets").get("super-tab")[""][1], LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), "fallback", } diff --git a/docs/extras/lang/python.md b/docs/extras/lang/python.md index 987e02032a..e14dfa310d 100644 --- a/docs/extras/lang/python.md +++ b/docs/extras/lang/python.md @@ -251,6 +251,48 @@ opts = {} +## [venv-selector.nvim](https://github.com/linux-cultist/venv-selector.nvim) + + + + + +```lua +opts = { + settings = { + options = { + notify_user_on_venv_activation = true, + }, + }, +} +``` + + + + + + +```lua +{ + "linux-cultist/venv-selector.nvim", + cmd = "VenvSelect", + opts = { + settings = { + options = { + notify_user_on_venv_activation = true, + }, + }, + }, + -- Call config for Python files and load the cached venv automatically + ft = "python", + keys = { { "cv", ":VenvSelect", desc = "Select VirtualEnv", ft = "python" } }, +} +``` + + + + + ## [neotest](https://github.com/nvim-neotest/neotest) _(optional)_ diff --git a/docs/keymaps.md b/docs/keymaps.md index 856383e340..12bb0ae0dd 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -581,6 +581,13 @@ Part of [lazyvim.plugins.extras.lang.python](/extras/lang/python) | <leader>dPc | Debug Class | **n** | | <leader>dPt | Debug Method | **n** | +## [venv-selector.nvim](https://github.com/linux-cultist/venv-selector.nvim.git) +Part of [lazyvim.plugins.extras.lang.python](/extras/lang/python) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>cv | Select VirtualEnv | **n** | + ## [vim-dadbod-ui](https://github.com/kristijanhusak/vim-dadbod-ui.git) Part of [lazyvim.plugins.extras.lang.sql](/extras/lang/sql) From d33c13aeb692ad1316fb604ac52a78df43920e73 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Mon, 15 Sep 2025 11:01:51 +0200 Subject: [PATCH 093/187] docs: update required Neovim version --- docs/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/intro.md b/docs/intro.md index 635138e8bd..88e938e78b 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -24,7 +24,7 @@ to make it easy to customize and extend your config. ## ⚡️ Requirements -- Neovim >= **0.9.0** (needs to be built with **LuaJIT**) +- Neovim >= **0.11.0** (needs to be built with **LuaJIT**) - Git >= **2.19.0** (for partial clones support) - a [Nerd Font](https://www.nerdfonts.com/)(v3.0 or greater) **_(optional, but needed to display some icons)_** - [lazygit](https://github.com/jesseduffield/lazygit) **_(optional)_** From fc7d5578d2e17c4ad610c14bb0f42e3f9560a69b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 09:24:26 +0000 Subject: [PATCH 094/187] chore(build): auto-generate docs --- docs/configuration/general.md | 24 +++---------- docs/extras/editor/navic.md | 2 +- docs/extras/lang/rust.md | 1 - docs/extras/lang/svelte.md | 10 ------ docs/extras/lang/typescript.md | 8 ++--- docs/extras/lang/yaml.md | 20 ----------- docs/plugins/colorscheme.md | 6 ++-- docs/plugins/lsp.md | 64 +++++++++++++--------------------- 8 files changed, 37 insertions(+), 98 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index fad5a15210..43ad2e4426 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -120,7 +120,10 @@ opt.fillchars = { diff = "╱", eob = " ", } +opt.foldexpr = "v:lua.require'lazyvim.util'.ui.foldexpr()" opt.foldlevel = 99 +opt.foldmethod = "expr" +opt.foldtext = "" opt.formatexpr = "v:lua.require'lazyvim.util'.format.formatexpr()" opt.formatoptions = "jcroqlnt" -- tcqj opt.grepformat = "%f:%l:%c:%m" @@ -147,6 +150,7 @@ opt.sidescrolloff = 8 -- Columns of context opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time opt.smartcase = true -- Don't ignore case with capitals opt.smartindent = true -- Insert indents automatically +opt.smoothscroll = true opt.spelllang = { "en" } opt.splitbelow = true -- Put new windows below current opt.splitkeep = "screen" @@ -163,16 +167,6 @@ opt.wildmode = "longest:full,full" -- Command-line completion mode opt.winminwidth = 5 -- Minimum window width opt.wrap = false -- Disable line wrap -if vim.fn.has("nvim-0.10") == 1 then - opt.smoothscroll = true - opt.foldexpr = "v:lua.require'lazyvim.util'.ui.foldexpr()" - opt.foldmethod = "expr" - opt.foldtext = "" -else - opt.foldmethod = "indent" - opt.foldtext = "v:lua.require'lazyvim.util'.ui.foldtext()" -end - -- Fix markdown indentation settings vim.g.markdown_recommended_style = 0 @@ -409,16 +403,6 @@ map("n", "]", "tabnext", { desc = "Next Tab" }) map("n", "d", "tabclose", { desc = "Close Tab" }) map("n", "[", "tabprevious", { desc = "Previous Tab" }) --- native snippets. only needed on < 0.11, as 0.11 creates these by default -if vim.fn.has("nvim-0.11") == 0 then - map("s", "", function() - return vim.snippet.active({ direction = 1 }) and "lua vim.snippet.jump(1)" or "" - end, { expr = true, desc = "Jump Next" }) - map({ "i", "s" }, "", function() - return vim.snippet.active({ direction = -1 }) and "lua vim.snippet.jump(-1)" or "" - end, { expr = true, desc = "Jump Previous" }) -end - ``` diff --git a/docs/extras/editor/navic.md b/docs/extras/editor/navic.md index dbaa5c90aa..772bc80e0c 100644 --- a/docs/extras/editor/navic.md +++ b/docs/extras/editor/navic.md @@ -52,7 +52,7 @@ end init = function() vim.g.navic_silence = true LazyVim.lsp.on_attach(function(client, buffer) - if client.supports_method("textDocument/documentSymbol") then + if client:supports_method("textDocument/documentSymbol") then require("nvim-navic").attach(client, buffer) end end) diff --git a/docs/extras/lang/rust.md b/docs/extras/lang/rust.md index b41afadb46..31349c95ce 100644 --- a/docs/extras/lang/rust.md +++ b/docs/extras/lang/rust.md @@ -180,7 +180,6 @@ opts = { ```lua { "mrcjkb/rustaceanvim", - version = vim.fn.has("nvim-0.10.0") == 0 and "^4" or false, ft = { "rust" }, opts = { server = { diff --git a/docs/extras/lang/svelte.md b/docs/extras/lang/svelte.md index 6fa6e4333d..a9d491129f 100644 --- a/docs/extras/lang/svelte.md +++ b/docs/extras/lang/svelte.md @@ -67,11 +67,6 @@ opts = { desc = "Organize Imports", }, }, - capabilities = { - workspace = { - didChangeWatchedFiles = vim.fn.has("nvim-0.10") == 0 and { dynamicRegistration = true }, - }, - }, }, }, } @@ -95,11 +90,6 @@ opts = { desc = "Organize Imports", }, }, - capabilities = { - workspace = { - didChangeWatchedFiles = vim.fn.has("nvim-0.10") == 0 and { dynamicRegistration = true }, - }, - }, }, }, }, diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index ed1e86a7c1..f37fc9e86d 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -148,14 +148,14 @@ opts = { local action, uri, range = unpack(command.arguments) local function move(newf) - client.request("workspace/executeCommand", { + client:request("workspace/executeCommand", { command = command.command, arguments = { action, uri, range, newf }, }) end local fname = vim.uri_to_fname(uri) - client.request("workspace/executeCommand", { + client:request("workspace/executeCommand", { command = "typescript.tsserverRequest", arguments = { "getMoveToRefactoringFileSuggestions", @@ -329,14 +329,14 @@ opts = { local action, uri, range = unpack(command.arguments) local function move(newf) - client.request("workspace/executeCommand", { + client:request("workspace/executeCommand", { command = command.command, arguments = { action, uri, range, newf }, }) end local fname = vim.uri_to_fname(uri) - client.request("workspace/executeCommand", { + client:request("workspace/executeCommand", { command = "typescript.tsserverRequest", arguments = { "getMoveToRefactoringFileSuggestions", diff --git a/docs/extras/lang/yaml.md b/docs/extras/lang/yaml.md index 4187fe9b2b..31b56141d5 100644 --- a/docs/extras/lang/yaml.md +++ b/docs/extras/lang/yaml.md @@ -97,16 +97,6 @@ opts = { }, }, }, - setup = { - yamlls = function() - -- Neovim < 0.10 does not have dynamic registration for formatting - if vim.fn.has("nvim-0.10") == 0 then - LazyVim.lsp.on_attach(function(client, _) - client.server_capabilities.documentFormattingProvider = true - end, "yamlls") - end - end, - }, } ``` @@ -158,16 +148,6 @@ opts = { }, }, }, - setup = { - yamlls = function() - -- Neovim < 0.10 does not have dynamic registration for formatting - if vim.fn.has("nvim-0.10") == 0 then - LazyVim.lsp.on_attach(function(client, _) - client.server_capabilities.documentFormattingProvider = true - end, "yamlls") - end - end, - }, }, } ``` diff --git a/docs/plugins/colorscheme.md b/docs/plugins/colorscheme.md index 52f5b30b8a..ae7751596f 100644 --- a/docs/plugins/colorscheme.md +++ b/docs/plugins/colorscheme.md @@ -160,7 +160,7 @@ opts = { optional = true, opts = function(_, opts) if (vim.g.colors_name or ""):find("catppuccin") then - opts.highlights = require("catppuccin.groups.integrations.bufferline").get() + opts.highlights = require("catppuccin.groups.integrations.bufferline").get_theme() end end, }, @@ -181,7 +181,7 @@ opts = { ```lua opts = function(_, opts) if (vim.g.colors_name or ""):find("catppuccin") then - opts.highlights = require("catppuccin.groups.integrations.bufferline").get() + opts.highlights = require("catppuccin.groups.integrations.bufferline").get_theme() end end ``` @@ -197,7 +197,7 @@ end optional = true, opts = function(_, opts) if (vim.g.colors_name or ""):find("catppuccin") then - opts.highlights = require("catppuccin.groups.integrations.bufferline").get() + opts.highlights = require("catppuccin.groups.integrations.bufferline").get_theme() end end, } diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index b0a1c1544d..e796429c03 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -275,53 +275,39 @@ end LazyVim.lsp.setup() LazyVim.lsp.on_dynamic_capability(require("lazyvim.plugins.lsp.keymaps").on_attach) - -- diagnostics signs - if vim.fn.has("nvim-0.10.0") == 0 then - if type(opts.diagnostics.signs) ~= "boolean" then - for severity, icon in pairs(opts.diagnostics.signs.text) do - local name = vim.diagnostic.severity[severity]:lower():gsub("^%l", string.upper) - name = "DiagnosticSign" .. name - vim.fn.sign_define(name, { text = icon, texthl = name, numhl = "" }) + -- inlay hints + if opts.inlay_hints.enabled then + LazyVim.lsp.on_supports_method("textDocument/inlayHint", function(client, buffer) + if + vim.api.nvim_buf_is_valid(buffer) + and vim.bo[buffer].buftype == "" + and not vim.tbl_contains(opts.inlay_hints.exclude, vim.bo[buffer].filetype) + then + vim.lsp.inlay_hint.enable(true, { bufnr = buffer }) end - end + end) end - if vim.fn.has("nvim-0.10") == 1 then - -- inlay hints - if opts.inlay_hints.enabled then - LazyVim.lsp.on_supports_method("textDocument/inlayHint", function(client, buffer) - if - vim.api.nvim_buf_is_valid(buffer) - and vim.bo[buffer].buftype == "" - and not vim.tbl_contains(opts.inlay_hints.exclude, vim.bo[buffer].filetype) - then - vim.lsp.inlay_hint.enable(true, { bufnr = buffer }) - end - end) - end - - -- code lens - if opts.codelens.enabled and vim.lsp.codelens then - LazyVim.lsp.on_supports_method("textDocument/codeLens", function(client, buffer) - vim.lsp.codelens.refresh() - vim.api.nvim_create_autocmd({ "BufEnter", "CursorHold", "InsertLeave" }, { - buffer = buffer, - callback = vim.lsp.codelens.refresh, - }) - end) - end + -- code lens + if opts.codelens.enabled and vim.lsp.codelens then + LazyVim.lsp.on_supports_method("textDocument/codeLens", function(client, buffer) + vim.lsp.codelens.refresh() + vim.api.nvim_create_autocmd({ "BufEnter", "CursorHold", "InsertLeave" }, { + buffer = buffer, + callback = vim.lsp.codelens.refresh, + }) + end) end if type(opts.diagnostics.virtual_text) == "table" and opts.diagnostics.virtual_text.prefix == "icons" then - opts.diagnostics.virtual_text.prefix = vim.fn.has("nvim-0.10.0") == 0 and "●" - or function(diagnostic) - local icons = LazyVim.config.icons.diagnostics - for d, icon in pairs(icons) do - if diagnostic.severity == vim.diagnostic.severity[d:upper()] then - return icon - end + opts.diagnostics.virtual_text.prefix = function(diagnostic) + local icons = LazyVim.config.icons.diagnostics + for d, icon in pairs(icons) do + if diagnostic.severity == vim.diagnostic.severity[d:upper()] then + return icon end end + end end vim.diagnostic.config(vim.deepcopy(opts.diagnostics)) From 0037f9957572ac4aed1b0d283f82ce589adb417e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 10:22:41 +0000 Subject: [PATCH 095/187] chore(build): auto-generate docs --- docs/extras/ai/copilot-chat.md | 54 ++++++++++++++++ docs/extras/coding/mini-comment.md | 4 +- docs/extras/coding/mini-snippets.md | 8 +-- docs/extras/coding/mini-surround.md | 4 +- docs/extras/editor/harpoon2.md | 2 +- docs/extras/editor/leap.md | 4 +- docs/extras/editor/mini-diff.md | 6 +- docs/extras/editor/mini-files.md | 4 +- docs/extras/editor/mini-move.md | 4 +- docs/extras/editor/snacks_picker.md | 4 +- docs/extras/lang/go.md | 4 +- docs/extras/lang/java.md | 14 ++--- docs/extras/lang/php.md | 10 ++- docs/extras/lang/rust.md | 10 +-- docs/extras/lang/typescript.md | 4 +- docs/extras/ui/mini-animate.md | 4 +- docs/extras/ui/mini-indentscope.md | 4 +- docs/extras/ui/mini-starter.md | 6 +- docs/extras/ui/smear-cursor.md | 6 +- docs/extras/util/chezmoi.md | 4 +- docs/extras/util/mini-hipatterns.md | 4 +- docs/extras/util/project.md | 4 +- docs/keymaps.md | 12 ++-- docs/news.md | 12 ++++ docs/plugins/coding.md | 8 +-- docs/plugins/lsp.md | 98 +++++++++-------------------- docs/plugins/ui.md | 4 +- 27 files changed, 161 insertions(+), 141 deletions(-) diff --git a/docs/extras/ai/copilot-chat.md b/docs/extras/ai/copilot-chat.md index 08f795a644..e0a7c39cc5 100644 --- a/docs/extras/ai/copilot-chat.md +++ b/docs/extras/ai/copilot-chat.md @@ -166,4 +166,58 @@ end +## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ + + Blink integration + + + + + + +```lua +opts = { + sources = { + providers = { + path = { + -- Path sources triggered by "/" interfere with CopilotChat commands + enabled = function() + return vim.bo.filetype ~= "copilot-chat" + end, + }, + }, + }, +} +``` + + + + + + +```lua +{ + "saghen/blink.cmp", + optional = true, + ---@module 'blink.cmp' + ---@type blink.cmp.Config + opts = { + sources = { + providers = { + path = { + -- Path sources triggered by "/" interfere with CopilotChat commands + enabled = function() + return vim.bo.filetype ~= "copilot-chat" + end, + }, + }, + }, + }, +} +``` + + + + + diff --git a/docs/extras/coding/mini-comment.md b/docs/extras/coding/mini-comment.md index 5cba4fd597..1affa0afeb 100644 --- a/docs/extras/coding/mini-comment.md +++ b/docs/extras/coding/mini-comment.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.comment](https://github.com/echasnovski/mini.comment) +## [mini.comment](https://github.com/nvim-mini/mini.comment) @@ -40,7 +40,7 @@ opts = { ```lua { - "echasnovski/mini.comment", + "nvim-mini/mini.comment", event = "VeryLazy", opts = { options = { diff --git a/docs/extras/coding/mini-snippets.md b/docs/extras/coding/mini-snippets.md index 9209ef4747..1dedddda55 100644 --- a/docs/extras/coding/mini-snippets.md +++ b/docs/extras/coding/mini-snippets.md @@ -17,14 +17,14 @@ Additional options for this extra can be configured in your [lua/config/options. vim.g.lazyvim_mini_snippets_in_completion = true -- NOTE: Please also read: --- https://github.com/echasnovski/mini.nvim/blob/main/readmes/mini-snippets.md#expand +-- https://github.com/nvim-mini/mini.nvim/blob/main/readmes/mini-snippets.md#expand -- :h MiniSnippets-session -- Example override for your own config: --[[ return { { -"echasnovski/mini.snippets", +"nvim-mini/mini.snippets", opts = function(_, opts) -- By default, for opts.snippets, the extra for mini.snippets only adds gen_loader.from_lang() -- This provides a sensible quickstart, integrating with friendly-snippets @@ -58,7 +58,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.snippets](https://github.com/echasnovski/mini.snippets) +## [mini.snippets](https://github.com/nvim-mini/mini.snippets) @@ -102,7 +102,7 @@ end ```lua { - "echasnovski/mini.snippets", + "nvim-mini/mini.snippets", event = "InsertEnter", -- don't depend on other plugins to load... dependencies = "rafamadriz/friendly-snippets", opts = function() diff --git a/docs/extras/coding/mini-surround.md b/docs/extras/coding/mini-surround.md index 46900ec0af..de7f962d36 100644 --- a/docs/extras/coding/mini-surround.md +++ b/docs/extras/coding/mini-surround.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.surround](https://github.com/echasnovski/mini.surround) +## [mini.surround](https://github.com/nvim-mini/mini.surround) @@ -44,7 +44,7 @@ opts = { ```lua { - "echasnovski/mini.surround", + "nvim-mini/mini.surround", keys = function(_, keys) -- Populate the keys based on the user's options local opts = LazyVim.opts("mini.surround") diff --git a/docs/extras/editor/harpoon2.md b/docs/extras/editor/harpoon2.md index b31891b85a..6f751e77c2 100644 --- a/docs/extras/editor/harpoon2.md +++ b/docs/extras/editor/harpoon2.md @@ -70,7 +70,7 @@ opts = { }, } - for i = 1, 5 do + for i = 1, 9 do table.insert(keys, { "" .. i, function() diff --git a/docs/extras/editor/leap.md b/docs/extras/editor/leap.md index ef2b4f0bd4..f4fbd8542b 100644 --- a/docs/extras/editor/leap.md +++ b/docs/extras/editor/leap.md @@ -121,7 +121,7 @@ opts = nil -## [mini.surround](https://github.com/echasnovski/mini.surround) _(optional)_ +## [mini.surround](https://github.com/nvim-mini/mini.surround) _(optional)_ rename surround mappings from gs to gz to prevent conflict with leap @@ -151,7 +151,7 @@ opts = { ```lua { - "echasnovski/mini.surround", + "nvim-mini/mini.surround", optional = true, opts = { mappings = { diff --git a/docs/extras/editor/mini-diff.md b/docs/extras/editor/mini-diff.md index 2234cf2370..68ed550696 100644 --- a/docs/extras/editor/mini-diff.md +++ b/docs/extras/editor/mini-diff.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.diff](https://github.com/echasnovski/mini.diff) +## [mini.diff](https://github.com/nvim-mini/mini.diff) setup mini.diff @@ -46,7 +46,7 @@ opts = { ```lua { - "echasnovski/mini.diff", + "nvim-mini/mini.diff", event = "VeryLazy", keys = { { @@ -74,7 +74,7 @@ opts = { -## [mini.diff](https://github.com/echasnovski/mini.diff) +## [mini.diff](https://github.com/nvim-mini/mini.diff) diff --git a/docs/extras/editor/mini-files.md b/docs/extras/editor/mini-files.md index 6cb36a3217..cc8aa5f9f3 100644 --- a/docs/extras/editor/mini-files.md +++ b/docs/extras/editor/mini-files.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.files](https://github.com/echasnovski/mini.files) +## [mini.files](https://github.com/nvim-mini/mini.files) @@ -45,7 +45,7 @@ opts = { ```lua { - "echasnovski/mini.files", + "nvim-mini/mini.files", opts = { windows = { preview = true, diff --git a/docs/extras/editor/mini-move.md b/docs/extras/editor/mini-move.md index 83736f80db..e9038ffb60 100644 --- a/docs/extras/editor/mini-move.md +++ b/docs/extras/editor/mini-move.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.move](https://github.com/echasnovski/mini.move) +## [mini.move](https://github.com/nvim-mini/mini.move) @@ -34,7 +34,7 @@ opts = {} ```lua { - "echasnovski/mini.move", + "nvim-mini/mini.move", event = "VeryLazy", opts = {}, } diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 19de86b1f3..3e1c49a344 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -464,7 +464,7 @@ end -## [mini.starter](https://github.com/echasnovski/mini.starter) _(optional)_ +## [mini.starter](https://github.com/nvim-mini/mini.starter) _(optional)_ @@ -490,7 +490,7 @@ end ```lua { - "echasnovski/mini.starter", + "nvim-mini/mini.starter", optional = true, opts = function(_, opts) local items = { diff --git a/docs/extras/lang/go.md b/docs/extras/lang/go.md index ed6cebc295..42d6754343 100644 --- a/docs/extras/lang/go.md +++ b/docs/extras/lang/go.md @@ -321,7 +321,7 @@ opts = nil -## [mini.icons](https://github.com/echasnovski/mini.icons) +## [mini.icons](https://github.com/nvim-mini/mini.icons) Filetype icons @@ -348,7 +348,7 @@ opts = { ```lua { - "echasnovski/mini.icons", + "nvim-mini/mini.icons", opts = { file = { [".go-version"] = { glyph = "", hl = "MiniIconsBlue" }, diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 46d273559f..d2c9788a92 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -135,8 +135,7 @@ opts = { opts = function() local cmd = { vim.fn.exepath("jdtls") } if LazyVim.has("mason.nvim") then - local mason_registry = require("mason-registry") - local lombok_jar = mason_registry.get_package("jdtls"):get_install_path() .. "/lombok.jar" + local lombok_jar = vim.fn.expand("$MASON/share/jdtls/lombok.jar") table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) end return { @@ -207,8 +206,7 @@ end opts = function() local cmd = { vim.fn.exepath("jdtls") } if LazyVim.has("mason.nvim") then - local mason_registry = require("mason-registry") - local lombok_jar = mason_registry.get_package("jdtls"):get_install_path() .. "/lombok.jar" + local lombok_jar = vim.fn.expand("$MASON/share/jdtls/lombok.jar") table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) end return { @@ -271,17 +269,13 @@ end if LazyVim.has("mason.nvim") then local mason_registry = require("mason-registry") if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then - local java_dbg_pkg = mason_registry.get_package("java-debug-adapter") - local java_dbg_path = java_dbg_pkg:get_install_path() local jar_patterns = { - java_dbg_path .. "/extension/server/com.microsoft.java.debug.plugin-*.jar", + vim.fn.expand("$MASON/share/java-debug-adapter/com.microsoft.java.debug.plugin-*.jar"), } -- java-test also depends on java-debug-adapter. if opts.test and mason_registry.is_installed("java-test") then - local java_test_pkg = mason_registry.get_package("java-test") - local java_test_path = java_test_pkg:get_install_path() vim.list_extend(jar_patterns, { - java_test_path .. "/extension/server/*.jar", + vim.fn.expand("$MASON/share/java-test/*.jar"), }) end for _, jar_pattern in ipairs(jar_patterns) do diff --git a/docs/extras/lang/php.md b/docs/extras/lang/php.md index cf776ee750..03d36ab268 100644 --- a/docs/extras/lang/php.md +++ b/docs/extras/lang/php.md @@ -148,11 +148,10 @@ opts = { ```lua opts = function() local dap = require("dap") - local path = require("mason-registry").get_package("php-debug-adapter"):get_install_path() dap.adapters.php = { type = "executable", - command = "node", - args = { path .. "/extension/out/phpDebug.js" }, + command = "php-debug-adapter", + args = {}, } end ``` @@ -168,11 +167,10 @@ end optional = true, opts = function() local dap = require("dap") - local path = require("mason-registry").get_package("php-debug-adapter"):get_install_path() dap.adapters.php = { type = "executable", - command = "node", - args = { path .. "/extension/out/phpDebug.js" }, + command = "php-debug-adapter", + args = {}, } end, } diff --git a/docs/extras/lang/rust.md b/docs/extras/lang/rust.md index 31349c95ce..589654b997 100644 --- a/docs/extras/lang/rust.md +++ b/docs/extras/lang/rust.md @@ -234,13 +234,9 @@ opts = { }, config = function(_, opts) if LazyVim.has("mason.nvim") then - local package_path = require("mason-registry").get_package("codelldb"):get_install_path() - local codelldb = package_path .. "/extension/adapter/codelldb" - local library_path = package_path .. "/extension/lldb/lib/liblldb.dylib" - local uname = io.popen("uname"):read("*l") - if uname == "Linux" then - library_path = package_path .. "/extension/lldb/lib/liblldb.so" - end + local codelldb = vim.fn.exepath("codelldb") + local codelldb_lib_ext = io.popen("uname"):read("*l") == "Linux" and ".so" or ".dylib" + local library_path = vim.fn.expand("$MASON/opt/lldb/lib/liblldb" .. codelldb_lib_ext) opts.dap = { adapter = require("rustaceanvim.config").get_codelldb_adapter(codelldb, library_path), } diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index f37fc9e86d..d09706fe62 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -418,7 +418,7 @@ end -## [mini.icons](https://github.com/echasnovski/mini.icons) +## [mini.icons](https://github.com/nvim-mini/mini.icons) Filetype icons @@ -450,7 +450,7 @@ opts = { ```lua { - "echasnovski/mini.icons", + "nvim-mini/mini.icons", opts = { file = { [".eslintrc.js"] = { glyph = "󰱺", hl = "MiniIconsYellow" }, diff --git a/docs/extras/ui/mini-animate.md b/docs/extras/ui/mini-animate.md index a000366efe..71e3753aaf 100644 --- a/docs/extras/ui/mini-animate.md +++ b/docs/extras/ui/mini-animate.md @@ -50,7 +50,7 @@ opts = { -## [mini.animate](https://github.com/echasnovski/mini.animate) +## [mini.animate](https://github.com/nvim-mini/mini.animate) setup animate @@ -116,7 +116,7 @@ end ```lua { - "echasnovski/mini.animate", + "nvim-mini/mini.animate", event = "VeryLazy", cond = vim.g.neovide == nil, opts = function(_, opts) diff --git a/docs/extras/ui/mini-indentscope.md b/docs/extras/ui/mini-indentscope.md index c4ba22b34a..f8810aec93 100644 --- a/docs/extras/ui/mini-indentscope.md +++ b/docs/extras/ui/mini-indentscope.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.indentscope](https://github.com/echasnovski/mini.indentscope) +## [mini.indentscope](https://github.com/nvim-mini/mini.indentscope) Active indent guide and indent text objects. When you're browsing code, this highlights the current level of indentation, and animates @@ -43,7 +43,7 @@ opts = { ```lua { - "echasnovski/mini.indentscope", + "nvim-mini/mini.indentscope", version = false, -- wait till new 0.7.0 release to put it back on semver event = "LazyFile", opts = { diff --git a/docs/extras/ui/mini-starter.md b/docs/extras/ui/mini-starter.md index f0a6937964..5fe94a2461 100644 --- a/docs/extras/ui/mini-starter.md +++ b/docs/extras/ui/mini-starter.md @@ -43,7 +43,7 @@ opts = { dashboard = { enabled = false } } -## [mini.starter](https://github.com/echasnovski/mini.starter) +## [mini.starter](https://github.com/nvim-mini/mini.starter) enable mini.starter @@ -99,7 +99,7 @@ end ```lua { - "echasnovski/mini.starter", + "nvim-mini/mini.starter", version = false, -- wait till new 0.7.0 release to put it back on semver event = "VimEnter", opts = function() @@ -161,7 +161,7 @@ end local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) local pad_footer = string.rep(" ", 8) starter.config.footer = pad_footer .. "⚡ Neovim loaded " .. stats.count .. " plugins in " .. ms .. "ms" - -- INFO: based on @echasnovski's recommendation (thanks a lot!!!) + -- INFO: based on @nvim-mini's recommendation (thanks a lot!!!) if vim.bo[ev.buf].filetype == "ministarter" then pcall(starter.refresh) end diff --git a/docs/extras/ui/smear-cursor.md b/docs/extras/ui/smear-cursor.md index 40e1759cbe..bfb003bbf4 100644 --- a/docs/extras/ui/smear-cursor.md +++ b/docs/extras/ui/smear-cursor.md @@ -47,7 +47,7 @@ opts = { specs = { -- disable mini.animate cursor { - "echasnovski/mini.animate", + "nvim-mini/mini.animate", optional = true, opts = { cursor = { enable = false }, @@ -61,7 +61,7 @@ opts = { -## [mini.animate](https://github.com/echasnovski/mini.animate) _(optional)_ +## [mini.animate](https://github.com/nvim-mini/mini.animate) _(optional)_ disable mini.animate cursor @@ -83,7 +83,7 @@ opts = { ```lua { - "echasnovski/mini.animate", + "nvim-mini/mini.animate", optional = true, opts = { cursor = { enable = false }, diff --git a/docs/extras/util/chezmoi.md b/docs/extras/util/chezmoi.md index 56779856e5..8946d000b6 100644 --- a/docs/extras/util/chezmoi.md +++ b/docs/extras/util/chezmoi.md @@ -116,7 +116,7 @@ opts = { -## [mini.icons](https://github.com/echasnovski/mini.icons) +## [mini.icons](https://github.com/nvim-mini/mini.icons) Filetype icons @@ -150,7 +150,7 @@ opts = { ```lua { - "echasnovski/mini.icons", + "nvim-mini/mini.icons", opts = { file = { [".chezmoiignore"] = { glyph = "", hl = "MiniIconsGrey" }, diff --git a/docs/extras/util/mini-hipatterns.md b/docs/extras/util/mini-hipatterns.md index 2ec0cdf417..a58f74acba 100644 --- a/docs/extras/util/mini-hipatterns.md +++ b/docs/extras/util/mini-hipatterns.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.hipatterns](https://github.com/echasnovski/mini.hipatterns) +## [mini.hipatterns](https://github.com/nvim-mini/mini.hipatterns) @@ -74,7 +74,7 @@ end ```lua { - "echasnovski/mini.hipatterns", + "nvim-mini/mini.hipatterns", recommended = true, desc = "Highlight colors in your code. Also includes Tailwind CSS support.", event = "LazyFile", diff --git a/docs/extras/util/project.md b/docs/extras/util/project.md index 42d0a86ac6..24f4d56ec2 100644 --- a/docs/extras/util/project.md +++ b/docs/extras/util/project.md @@ -158,7 +158,7 @@ end -## [mini.starter](https://github.com/echasnovski/mini.starter) _(optional)_ +## [mini.starter](https://github.com/nvim-mini/mini.starter) _(optional)_ @@ -184,7 +184,7 @@ end ```lua { - "echasnovski/mini.starter", + "nvim-mini/mini.starter", optional = true, opts = function(_, opts) local items = { diff --git a/docs/keymaps.md b/docs/keymaps.md index 12bb0ae0dd..87ff91bbe5 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -304,7 +304,7 @@ Part of [lazyvim.plugins.extras.ai.copilot-chat](/extras/ai/copilot-chat) | <leader>aq | Quick Chat (CopilotChat) | **n**, **v** | | <leader>ax | Clear (CopilotChat) | **n**, **v** | -## [mini.surround](https://github.com/echasnovski/mini.surround.git) +## [mini.surround](https://github.com/nvim-mini/mini.surround.git) Part of [lazyvim.plugins.extras.coding.mini-surround](/extras/coding/mini-surround) | Key | Description | Mode | @@ -413,6 +413,10 @@ Part of [lazyvim.plugins.extras.editor.harpoon2](/extras/editor/harpoon2) | <leader>3 | Harpoon to File 3 | **n** | | <leader>4 | Harpoon to File 4 | **n** | | <leader>5 | Harpoon to File 5 | **n** | +| <leader>6 | Harpoon to File 6 | **n** | +| <leader>7 | Harpoon to File 7 | **n** | +| <leader>8 | Harpoon to File 8 | **n** | +| <leader>9 | Harpoon to File 9 | **n** | | <leader>h | Harpoon Quick Menu | **n** | | <leader>H | Harpoon File | **n** | @@ -433,21 +437,21 @@ Part of [lazyvim.plugins.extras.editor.leap](/extras/editor/leap) | s | Leap Forward to | **n**, **o**, **x** | | S | Leap Backward to | **n**, **o**, **x** | -## [mini.surround](https://github.com/echasnovski/mini.surround.git) +## [mini.surround](https://github.com/nvim-mini/mini.surround.git) Part of [lazyvim.plugins.extras.editor.leap](/extras/editor/leap) | Key | Description | Mode | | --- | --- | --- | | gz | +surround | **n** | -## [mini.diff](https://github.com/echasnovski/mini.diff.git) +## [mini.diff](https://github.com/nvim-mini/mini.diff.git) Part of [lazyvim.plugins.extras.editor.mini-diff](/extras/editor/mini-diff) | Key | Description | Mode | | --- | --- | --- | | <leader>go | Toggle mini.diff overlay | **n** | -## [mini.files](https://github.com/echasnovski/mini.files.git) +## [mini.files](https://github.com/nvim-mini/mini.files.git) Part of [lazyvim.plugins.extras.editor.mini-files](/extras/editor/mini-files) | Key | Description | Mode | diff --git a/docs/news.md b/docs/news.md index 67c8a75205..9fdc23657b 100644 --- a/docs/news.md +++ b/docs/news.md @@ -4,6 +4,18 @@ sidebar_position: 2 # 📰 What's new? +## 15.x + +**Neovim** `>= 0.11.0` includes a lot of changes to the underlying LSP implementation. + +Going forward, **LazyVim** requires **Neovim** `>= 0.11.0`, and drops support for older versions. + +### Changes + +- removed compatibility code for Neovim `< 0.11` +- updated all LSP code to use the new LSP implementation +- migrated **mason.nvim** and **mason-lspconfig.nvim** to `v2.x` + ## 14.x Big new release with a lot of changes and improvements! diff --git a/docs/plugins/coding.md b/docs/plugins/coding.md index 8f6e3400cc..358dba09a6 100644 --- a/docs/plugins/coding.md +++ b/docs/plugins/coding.md @@ -5,7 +5,7 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [mini.pairs](https://github.com/echasnovski/mini.pairs) +## [mini.pairs](https://github.com/nvim-mini/mini.pairs) auto pairs @@ -36,7 +36,7 @@ opts = { ```lua { - "echasnovski/mini.pairs", + "nvim-mini/mini.pairs", event = "VeryLazy", opts = { modes = { insert = true, command = true, terminal = false }, @@ -90,7 +90,7 @@ opts = {} -## [mini.ai](https://github.com/echasnovski/mini.ai) +## [mini.ai](https://github.com/nvim-mini/mini.ai) Better text-objects @@ -132,7 +132,7 @@ end ```lua { - "echasnovski/mini.ai", + "nvim-mini/mini.ai", event = "VeryLazy", opts = function() local ai = require("mini.ai") diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index e796429c03..7eed1ea35d 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -152,7 +152,7 @@ end ```lua { "neovim/nvim-lspconfig", - event = "LazyFile", + event = { "BufReadPre", "BufNewFile", "BufWritePre" }, dependencies = { "mason.nvim", { "mason-org/mason-lspconfig.nvim", config = function() end }, @@ -324,31 +324,35 @@ end opts.capabilities or {} ) - local function setup(server) + -- get all the servers that are available through mason-lspconfig + local have_mason, mlsp = pcall(require, "mason-lspconfig") + local all_mslp_servers = {} + all_mslp_servers = vim.tbl_keys(require("mason-lspconfig.mappings").get_mason_map().lspconfig_to_package) + + local exclude_automatic_enable = {} ---@type string[] + + local function configure(server) local server_opts = vim.tbl_deep_extend("force", { capabilities = vim.deepcopy(capabilities), }, servers[server] or {}) - if server_opts.enabled == false then - return - end if opts.setup[server] then if opts.setup[server](server, server_opts) then - return + return true end elseif opts.setup["*"] then if opts.setup["*"](server, server_opts) then - return + return true end end - require("lspconfig")[server].setup(server_opts) - end + vim.lsp.config(server, server_opts) - -- get all the servers that are available through mason-lspconfig - local have_mason, mlsp = pcall(require, "mason-lspconfig") - local all_mslp_servers = {} - if have_mason then - all_mslp_servers = vim.tbl_keys(require("mason-lspconfig.mappings.server").lspconfig_to_package) + -- manually enable if mason=false or if this is a server that cannot be installed with mason-lspconfig + if server_opts.mason == false or not vim.tbl_contains(all_mslp_servers, server) then + vim.lsp.enable(server) + return true + end + return false end local ensure_installed = {} ---@type string[] @@ -357,24 +361,31 @@ end server_opts = server_opts == true and {} or server_opts if server_opts.enabled ~= false then -- run manual setup if mason=false or if this is a server that cannot be installed with mason-lspconfig - if server_opts.mason == false or not vim.tbl_contains(all_mslp_servers, server) then - setup(server) + if configure(server) then + exclude_automatic_enable[#exclude_automatic_enable + 1] = server else ensure_installed[#ensure_installed + 1] = server end + else + exclude_automatic_enable[#exclude_automatic_enable + 1] = server end end end if have_mason then - mlsp.setup({ + local setup_config = { ensure_installed = vim.tbl_deep_extend( "force", ensure_installed, LazyVim.opts("mason-lspconfig.nvim").ensure_installed or {} ), - handlers = { setup }, - }) + } + + setup_config.automatic_enable = { + exclude = exclude_automatic_enable, + } + + mlsp.setup(setup_config) end if LazyVim.lsp.is_enabled("denols") and LazyVim.lsp.is_enabled("vtsls") then @@ -511,53 +522,4 @@ opts = { -## [mason.nvim](https://github.com/mason-org/mason.nvim) - - pin to v1 for now - - - - - - -```lua -opts = nil -``` - - - - - - -```lua -{ "mason-org/mason.nvim", version = "^1.0.0" } -``` - - - - - -## [mason-lspconfig.nvim](https://github.com/mason-org/mason-lspconfig.nvim) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -{ "mason-org/mason-lspconfig.nvim", version = "^1.0.0" } -``` - - - - - diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index 31650b4ea5..fe0e4436ce 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -486,7 +486,7 @@ opts = { -## [mini.icons](https://github.com/echasnovski/mini.icons) +## [mini.icons](https://github.com/nvim-mini/mini.icons) icons @@ -514,7 +514,7 @@ opts = { ```lua { - "echasnovski/mini.icons", + "nvim-mini/mini.icons", lazy = true, opts = { file = { From a36423dbd970617a81b1201d7dcb2e107e4cbe1a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 15:22:37 +0000 Subject: [PATCH 096/187] chore(build): auto-generate docs --- docs/extras/lang/clangd.md | 66 +++++++++----- docs/extras/lang/ruby.md | 4 +- docs/extras/ui/treesitter-main.md | 146 ++++++++++++++++++++++++++++++ docs/keymaps.md | 18 ++++ docs/news.md | 11 +-- docs/plugins/lsp.md | 74 +++++++-------- 6 files changed, 241 insertions(+), 78 deletions(-) create mode 100644 docs/extras/ui/treesitter-main.md diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index 71bbaa8579..ce23541b07 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -139,18 +139,27 @@ opts = { keys = { { "ch", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, }, - root_dir = function(fname) - return require("lspconfig.util").root_pattern( - "Makefile", - "configure.ac", - "configure.in", - "config.h.in", - "meson.build", - "meson_options.txt", - "build.ninja" - )(fname) or require("lspconfig.util").root_pattern("compile_commands.json", "compile_flags.txt")( - fname - ) or require("lspconfig.util").find_git_ancestor(fname) + root_dir = function(bufnr, ondir) + local root_directory = function(fname) + return require("lspconfig.util").root_pattern( + "Makefile", + "configure.ac", + "configure.in", + "config.h.in", + "meson.build", + "meson_options.txt", + "build.ninja" + )(fname) or require("lspconfig.util").root_pattern( + "compile_commands.json", + "compile_flags.txt" + )(fname) or require("lspconfig.util").find_git_ancestor(fname) + end + if type(bufnr) == "string" then + return root_directory(bufnr) + else + local fname = vim.api.nvim_buf_get_name(bufnr) + ondir(root_directory(fname)) + end end, capabilities = { offsetEncoding = { "utf-16" }, @@ -196,18 +205,27 @@ opts = { keys = { { "ch", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, }, - root_dir = function(fname) - return require("lspconfig.util").root_pattern( - "Makefile", - "configure.ac", - "configure.in", - "config.h.in", - "meson.build", - "meson_options.txt", - "build.ninja" - )(fname) or require("lspconfig.util").root_pattern("compile_commands.json", "compile_flags.txt")( - fname - ) or require("lspconfig.util").find_git_ancestor(fname) + root_dir = function(bufnr, ondir) + local root_directory = function(fname) + return require("lspconfig.util").root_pattern( + "Makefile", + "configure.ac", + "configure.in", + "config.h.in", + "meson.build", + "meson_options.txt", + "build.ninja" + )(fname) or require("lspconfig.util").root_pattern( + "compile_commands.json", + "compile_flags.txt" + )(fname) or require("lspconfig.util").find_git_ancestor(fname) + end + if type(bufnr) == "string" then + return root_directory(bufnr) + else + local fname = vim.api.nvim_buf_get_name(bufnr) + ondir(root_directory(fname)) + end end, capabilities = { offsetEncoding = { "utf-16" }, diff --git a/docs/extras/lang/ruby.md b/docs/extras/lang/ruby.md index 89e3b56022..f70d5bfd49 100644 --- a/docs/extras/lang/ruby.md +++ b/docs/extras/lang/ruby.md @@ -62,7 +62,6 @@ opts = { ensure_installed = { "ruby" } } ```lua opts = { - ---@type lspconfig.options servers = { ruby_lsp = { enabled = lsp == "ruby_lsp", @@ -91,9 +90,8 @@ opts = { ```lua { "neovim/nvim-lspconfig", - ---@class PluginLspOpts + ---@type PluginLspOpts opts = { - ---@type lspconfig.options servers = { ruby_lsp = { enabled = lsp == "ruby_lsp", diff --git a/docs/extras/ui/treesitter-main.md b/docs/extras/ui/treesitter-main.md new file mode 100644 index 0000000000..f609613411 --- /dev/null +++ b/docs/extras/ui/treesitter-main.md @@ -0,0 +1,146 @@ +# `Treesitter-main` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) + + + + + +```lua +opts = {} +``` + + + + + + +```lua +{ + "nvim-treesitter/nvim-treesitter", + version = false, -- last release is way too old and doesn't work on Windows + branch = "main", + build = ":TSUpdate", + lazy = true, + cmd = { "TSUpdate", "TSInstall", "TSLog", "TSUninstall" }, + init = function() end, + ---@param opts TSConfig + config = function(_, opts) + if vim.fn.executable("tree-sitter") == 0 then + LazyVim.error("**treesitter-main** requires the `tree-sitter` executable to be installed") + return + end + if type(opts.ensure_installed) ~= "table" then + error("opts.ensure_installed must be a table") + end + + local TS = require("nvim-treesitter") + TS.setup(opts) + + local needed = LazyVim.dedup(opts.ensure_installed --[[@as string[] ]]) + local installed = TS.get_installed("parsers") + local install = vim.tbl_filter(function(lang) + return not vim.tbl_contains(installed, lang) + end, needed) + + if #install > 0 then + TS.install(install, { summary = true }) + end + + -- backwards compatibility with the old treesitter config for indent + if vim.tbl_get(opts, "indent", "enable") then + vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" + end + + -- backwards compatibility with the old treesitter config for highlight + if vim.tbl_get(opts, "highlight", "enable") then + vim.api.nvim_create_autocmd("FileType", { + callback = function() + pcall(vim.treesitter.start) + end, + }) + end + end, +} +``` + + + + + +## [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) + + + + + +```lua +opts = {} +``` + + + + + + +```lua +{ + "nvim-treesitter/nvim-treesitter-textobjects", + branch = "main", + event = "VeryLazy", + opts = {}, + keys = function() + local moves = { + goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer", ["]a"] = "@parameter.inner" }, + goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer", ["]A"] = "@parameter.inner" }, + goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer", ["[a"] = "@parameter.inner" }, + goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer", ["[A"] = "@parameter.inner" }, + } + local ret = {} ---@type LazyKeysSpec[] + for method, keymaps in pairs(moves) do + for key, query in pairs(keymaps) do + local desc = query:gsub("@", ""):gsub("%..*", "") + desc = desc:sub(1, 1):upper() .. desc:sub(2) + desc = (key:sub(1, 1) == "[" and "Prev " or "Next ") .. desc + desc = desc .. (key:sub(2, 2) == key:sub(2, 2):upper() and " End" or " Start") + ret[#ret + 1] = { + key, + function() + require("nvim-treesitter-textobjects.move")[method](query, "textobjects") + end, + desc = desc, + mode = { "n", "x", "o" }, + silent = true, + } + end + end + return ret + end, + config = function(_, opts) + require("nvim-treesitter-textobjects").setup(opts) + end, +} +``` + + + + + + diff --git a/docs/keymaps.md b/docs/keymaps.md index 87ff91bbe5..92119126dc 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -637,6 +637,24 @@ Part of [lazyvim.plugins.extras.ui.edgy](/extras/ui/edgy) | <leader>ue | Edgy Toggle | **n** | | <leader>uE | Edgy Select Window | **n** | +## [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects.git) +Part of [lazyvim.plugins.extras.ui.treesitter-main](/extras/ui/treesitter-main) + +| Key | Description | Mode | +| --- | --- | --- | +| [a | Prev Parameter Start | **n**, **o**, **x** | +| [A | Prev Parameter End | **n**, **o**, **x** | +| [c | Prev Class Start | **n**, **o**, **x** | +| [C | Prev Class End | **n**, **o**, **x** | +| [f | Prev Function Start | **n**, **o**, **x** | +| [F | Prev Function End | **n**, **o**, **x** | +| ]a | Next Parameter Start | **n**, **o**, **x** | +| ]A | Next Parameter End | **n**, **o**, **x** | +| ]c | Next Class Start | **n**, **o**, **x** | +| ]C | Next Class End | **n**, **o**, **x** | +| ]f | Next Function Start | **n**, **o**, **x** | +| ]F | Next Function End | **n**, **o**, **x** | + ## [chezmoi.nvim](https://github.com/xvzc/chezmoi.nvim.git) Part of [lazyvim.plugins.extras.util.chezmoi](/extras/util/chezmoi) diff --git a/docs/news.md b/docs/news.md index 9fdc23657b..7b5228579c 100644 --- a/docs/news.md +++ b/docs/news.md @@ -15,6 +15,8 @@ Going forward, **LazyVim** requires **Neovim** `>= 0.11.0`, and drops support fo - removed compatibility code for Neovim `< 0.11` - updated all LSP code to use the new LSP implementation - migrated **mason.nvim** and **mason-lspconfig.nvim** to `v2.x` +- added new `treesitter-main` extra to test the new `main` branch of `nvim-treesitter` + - after enabling, you will get errors. Update with `:Lazy` and restart Neovim ## 14.x @@ -126,7 +128,6 @@ vim.g.snacks_animate = false ## 11.x - **Keymaps:** - - `gB` to open the current repo in the browser - `gco` and `gcO` to add a comment below or above the current line - `wm` to toggle window maximize @@ -139,7 +140,6 @@ vim.g.snacks_animate = false It's a great plugin that enhances the native text objects. - `:LazyExtras` now has multiple new sections: - - **Enabled**: extras that are currently enabled - **Recommended Languages**: language extras recommended for the current buffer / directory - **Recommended Plugins**: extras that are recommended for most users @@ -177,7 +177,6 @@ Additionally, some core plugins have been moved to extras. ``` - plugins moved to extras: - - `mini.surround` - `mini.indentscope` scopes are now also highlighted with `indent-blankline` - `nvim-treesitter-context` @@ -195,7 +194,6 @@ Additionally, some core plugins have been moved to extras. You can find the updated docs [here](https://github.com/folke/trouble.nvim/tree/dev) - The **lazygit** integration now configures: - - the theme based on the colorscheme - nerd font icons (v3) - editor preset is set to `nvim-remote` for better interop with Neovim @@ -236,9 +234,7 @@ Additionally, some core plugins have been moved to extras. - New `:LazyExtras` command for managing **LazyVim** extras - Improved **formatting**: - - **LazyVim** can now work with multiple formatters. Types: - - **primary**: only one primary formatter can be active at a time. _(conform, none-ls, LSP)_ - **secondary**: multiple secondary formatters can be active _(eslint, ...)_ @@ -257,18 +253,15 @@ Additionally, some core plugins have been moved to extras. ``` - `none-ls.nvim` is no longer installed by default - - `conform.nvim` is now the default formatter - `nvim-lint` is now the default linter - If you want to keep using `none-ls.nvim`, you can enable the **lsp.none-ls** extra - `dashboard.nvim` is the new default dashboard plugin - - If you want to keep using `alpha.nvim`, you can enable the **ui.alpha** extra - Improved **root detection**: - - New `:LazyRoot` command that shows info about the root dir detection - Configurable with `vim.g.root_spec` diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 7eed1ea35d..47699d8454 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -93,7 +93,7 @@ opts = function() timeout_ms = nil, }, -- LSP Server Settings - ---@type lspconfig.options + ---@type table servers = { lua_ls = { -- mason = false, -- set to false if you don't want this server to be installed with mason @@ -129,7 +129,7 @@ opts = function() }, -- you can do any additional lsp server setup here -- return true if you don't want this server to be setup with lspconfig - ---@type table + ---@type table setup = { -- example to setup with typescript.nvim -- tsserver = function(_, opts) @@ -213,7 +213,7 @@ end timeout_ms = nil, }, -- LSP Server Settings - ---@type lspconfig.options + ---@type table servers = { lua_ls = { -- mason = false, -- set to false if you don't want this server to be installed with mason @@ -249,7 +249,7 @@ end }, -- you can do any additional lsp server setup here -- return true if you don't want this server to be setup with lspconfig - ---@type table + ---@type table setup = { -- example to setup with typescript.nvim -- tsserver = function(_, opts) @@ -299,6 +299,7 @@ end end) end + -- diagnostics if type(opts.diagnostics.virtual_text) == "table" and opts.diagnostics.virtual_text.prefix == "icons" then opts.diagnostics.virtual_text.prefix = function(diagnostic) local icons = LazyVim.config.icons.diagnostics @@ -307,48 +308,42 @@ end return icon end end + return "●" end end - vim.diagnostic.config(vim.deepcopy(opts.diagnostics)) - local servers = opts.servers - local has_cmp, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") - local has_blink, blink = pcall(require, "blink.cmp") local capabilities = vim.tbl_deep_extend( "force", {}, vim.lsp.protocol.make_client_capabilities(), - has_cmp and cmp_nvim_lsp.default_capabilities() or {}, - has_blink and blink.get_lsp_capabilities() or {}, + LazyVim.has("nvim-cmp") and require("cmp_nvim_lsp").default_capabilities() or {}, + LazyVim.has("blink.nvim") and require("blink.cmp").get_lsp_capabilities() or {}, opts.capabilities or {} ) -- get all the servers that are available through mason-lspconfig - local have_mason, mlsp = pcall(require, "mason-lspconfig") - local all_mslp_servers = {} - all_mslp_servers = vim.tbl_keys(require("mason-lspconfig.mappings").get_mason_map().lspconfig_to_package) + local have_mason = LazyVim.has("mason-lspconfig.nvim") + local mason_all = have_mason + and vim.tbl_keys(require("mason-lspconfig.mappings").get_mason_map().lspconfig_to_package) + or {} --[[ @as string[] ]] local exclude_automatic_enable = {} ---@type string[] local function configure(server) local server_opts = vim.tbl_deep_extend("force", { capabilities = vim.deepcopy(capabilities), - }, servers[server] or {}) + }, opts.servers[server] or {}) - if opts.setup[server] then - if opts.setup[server](server, server_opts) then - return true - end - elseif opts.setup["*"] then - if opts.setup["*"](server, server_opts) then - return true - end + local setup = opts.setup[server] or opts.setup["*"] + if setup and setup(server, server_opts) then + return true -- lsp will be setup by the setup function end + vim.lsp.config(server, server_opts) -- manually enable if mason=false or if this is a server that cannot be installed with mason-lspconfig - if server_opts.mason == false or not vim.tbl_contains(all_mslp_servers, server) then + if server_opts.mason == false or not vim.tbl_contains(mason_all, server) then vim.lsp.enable(server) return true end @@ -356,36 +351,31 @@ end end local ensure_installed = {} ---@type string[] - for server, server_opts in pairs(servers) do - if server_opts then - server_opts = server_opts == true and {} or server_opts - if server_opts.enabled ~= false then - -- run manual setup if mason=false or if this is a server that cannot be installed with mason-lspconfig - if configure(server) then - exclude_automatic_enable[#exclude_automatic_enable + 1] = server - else - ensure_installed[#ensure_installed + 1] = server - end - else + for server, server_opts in pairs(opts.servers) do + server_opts = server_opts == true and {} or server_opts or false + if server_opts and server_opts.enabled ~= false then + -- run manual setup if mason=false or if this is a server that cannot be installed with mason-lspconfig + if configure(server) then exclude_automatic_enable[#exclude_automatic_enable + 1] = server + else + ensure_installed[#ensure_installed + 1] = server end + else + exclude_automatic_enable[#exclude_automatic_enable + 1] = server end end if have_mason then - local setup_config = { + require("mason-lspconfig").setup({ ensure_installed = vim.tbl_deep_extend( "force", ensure_installed, LazyVim.opts("mason-lspconfig.nvim").ensure_installed or {} ), - } - - setup_config.automatic_enable = { - exclude = exclude_automatic_enable, - } - - mlsp.setup(setup_config) + automatic_enable = { + exclude = exclude_automatic_enable, + }, + }) end if LazyVim.lsp.is_enabled("denols") and LazyVim.lsp.is_enabled("vtsls") then From 0d2f1a3a815bcfd0dcd84af9fe0710c6f679062d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 19:16:07 +0000 Subject: [PATCH 097/187] chore(build): auto-generate docs --- docs/extras/lang/clangd.md | 76 +++++++++++++------------------ docs/extras/lang/java.md | 10 +--- docs/extras/lang/ocaml.md | 40 ++++++++-------- docs/extras/lang/r.md | 12 +---- docs/extras/lang/tailwind.md | 6 +-- docs/extras/ui/treesitter-main.md | 8 +++- docs/plugins/lsp.md | 29 ++++++++---- 7 files changed, 81 insertions(+), 100 deletions(-) diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index ce23541b07..7524bae379 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -139,28 +139,22 @@ opts = { keys = { { "ch", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, }, - root_dir = function(bufnr, ondir) - local root_directory = function(fname) - return require("lspconfig.util").root_pattern( - "Makefile", - "configure.ac", - "configure.in", - "config.h.in", - "meson.build", - "meson_options.txt", - "build.ninja" - )(fname) or require("lspconfig.util").root_pattern( - "compile_commands.json", - "compile_flags.txt" - )(fname) or require("lspconfig.util").find_git_ancestor(fname) - end - if type(bufnr) == "string" then - return root_directory(bufnr) - else - local fname = vim.api.nvim_buf_get_name(bufnr) - ondir(root_directory(fname)) - end - end, + root_markers = { + ".clangd", + ".clang-tidy", + ".clang-format", + "compile_commands.json", + "compile_flags.txt", + "configure.ac", -- AutoTools + "Makefile", + "configure.ac", + "configure.in", + "config.h.in", + "meson.build", + "meson_options.txt", + "build.ninja", + ".git", + }, capabilities = { offsetEncoding = { "utf-16" }, }, @@ -205,28 +199,22 @@ opts = { keys = { { "ch", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, }, - root_dir = function(bufnr, ondir) - local root_directory = function(fname) - return require("lspconfig.util").root_pattern( - "Makefile", - "configure.ac", - "configure.in", - "config.h.in", - "meson.build", - "meson_options.txt", - "build.ninja" - )(fname) or require("lspconfig.util").root_pattern( - "compile_commands.json", - "compile_flags.txt" - )(fname) or require("lspconfig.util").find_git_ancestor(fname) - end - if type(bufnr) == "string" then - return root_directory(bufnr) - else - local fname = vim.api.nvim_buf_get_name(bufnr) - ondir(root_directory(fname)) - end - end, + root_markers = { + ".clangd", + ".clang-tidy", + ".clang-format", + "compile_commands.json", + "compile_flags.txt", + "configure.ac", -- AutoTools + "Makefile", + "configure.ac", + "configure.in", + "config.h.in", + "meson.build", + "meson_options.txt", + "build.ninja", + ".git", + }, capabilities = { offsetEncoding = { "utf-16" }, }, diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index d2c9788a92..1bfcbfb8b1 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -139,9 +139,6 @@ opts = function() table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) end return { - -- How to find the root dir for a given filename. The default comes from - -- lspconfig which provides a function specifically for java projects. - root_dir = LazyVim.lsp.get_raw_config("jdtls").default_config.root_dir, -- How to find the project name for a given root dir. project_name = function(root_dir) @@ -210,9 +207,6 @@ end table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) end return { - -- How to find the root dir for a given filename. The default comes from - -- lspconfig which provides a function specifically for java projects. - root_dir = LazyVim.lsp.get_raw_config("jdtls").default_config.root_dir, -- How to find the project name for a given root dir. project_name = function(root_dir) @@ -286,12 +280,10 @@ end end end local function attach_jdtls() - local fname = vim.api.nvim_buf_get_name(0) - -- Configuration can be augmented and overridden by opts.jdtls local config = extend_or_override({ cmd = opts.full_cmd(opts), - root_dir = opts.root_dir(fname), + root_dir = vim.fs.root(0, vim.lsp.config.jdtls.root_markers), init_options = { bundles = bundles, }, diff --git a/docs/extras/lang/ocaml.md b/docs/extras/lang/ocaml.md index bb410d4219..c4a7bbdfce 100644 --- a/docs/extras/lang/ocaml.md +++ b/docs/extras/lang/ocaml.md @@ -69,17 +69,15 @@ opts = { "reason", "dune", }, - root_dir = function(fname) - return require("lspconfig.util").root_pattern( - "*.opam", - "esy.json", - "package.json", - ".git", - "dune-project", - "dune-workspace", - "*.ml" - )(fname) - end, + root_markers = { + "*.opam", + "esy.json", + "package.json", + ".git", + "dune-project", + "dune-workspace", + "*.ml", + }, }, }, } @@ -104,17 +102,15 @@ opts = { "reason", "dune", }, - root_dir = function(fname) - return require("lspconfig.util").root_pattern( - "*.opam", - "esy.json", - "package.json", - ".git", - "dune-project", - "dune-workspace", - "*.ml" - )(fname) - end, + root_markers = { + "*.opam", + "esy.json", + "package.json", + ".git", + "dune-project", + "dune-workspace", + "*.ml", + }, }, }, }, diff --git a/docs/extras/lang/r.md b/docs/extras/lang/r.md index c2b15db096..3db28e27a8 100644 --- a/docs/extras/lang/r.md +++ b/docs/extras/lang/r.md @@ -172,11 +172,7 @@ opts = { ensure_installed = { "r", "rnoweb" } } opts = { servers = { r_language_server = { - root_dir = function(fname) - return require("lspconfig.util").root_pattern("DESCRIPTION", "NAMESPACE", ".Rbuildignore")(fname) - or require("lspconfig.util").find_git_ancestor(fname) - or vim.loop.os_homedir() - end, + root_markers = { "DESCRIPTION", "NAMESPACE", ".Rbuildignore" }, }, }, } @@ -193,11 +189,7 @@ opts = { opts = { servers = { r_language_server = { - root_dir = function(fname) - return require("lspconfig.util").root_pattern("DESCRIPTION", "NAMESPACE", ".Rbuildignore")(fname) - or require("lspconfig.util").find_git_ancestor(fname) - or vim.loop.os_homedir() - end, + root_markers = { "DESCRIPTION", "NAMESPACE", ".Rbuildignore" }, }, }, }, diff --git a/docs/extras/lang/tailwind.md b/docs/extras/lang/tailwind.md index 5868f4b0f0..24de525c55 100644 --- a/docs/extras/lang/tailwind.md +++ b/docs/extras/lang/tailwind.md @@ -37,11 +37,10 @@ opts = { }, setup = { tailwindcss = function(_, opts) - local tw = LazyVim.lsp.get_raw_config("tailwindcss") opts.filetypes = opts.filetypes or {} -- Add default filetypes - vim.list_extend(opts.filetypes, tw.default_config.filetypes) + vim.list_extend(opts.filetypes, vim.lsp.config.tailwindcss.filetypes) -- Remove excluded filetypes --- @param ft string @@ -88,11 +87,10 @@ opts = { }, setup = { tailwindcss = function(_, opts) - local tw = LazyVim.lsp.get_raw_config("tailwindcss") opts.filetypes = opts.filetypes or {} -- Add default filetypes - vim.list_extend(opts.filetypes, tw.default_config.filetypes) + vim.list_extend(opts.filetypes, vim.lsp.config.tailwindcss.filetypes) -- Remove excluded filetypes --- @param ft string diff --git a/docs/extras/ui/treesitter-main.md b/docs/extras/ui/treesitter-main.md index f609613411..d222d301c6 100644 --- a/docs/extras/ui/treesitter-main.md +++ b/docs/extras/ui/treesitter-main.md @@ -62,6 +62,7 @@ opts = {} if #install > 0 then TS.install(install, { summary = true }) + vim.list_extend(installed, install) end -- backwards compatibility with the old treesitter config for indent @@ -72,8 +73,11 @@ opts = {} -- backwards compatibility with the old treesitter config for highlight if vim.tbl_get(opts, "highlight", "enable") then vim.api.nvim_create_autocmd("FileType", { - callback = function() - pcall(vim.treesitter.start) + callback = function(ev) + local lang = vim.treesitter.language.get_lang(ev.match) + if vim.tbl_contains(installed, lang) then + pcall(vim.treesitter.start) + end end, }) end diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 47699d8454..3b12e0d3aa 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -378,15 +378,26 @@ end }) end - if LazyVim.lsp.is_enabled("denols") and LazyVim.lsp.is_enabled("vtsls") then - local is_deno = require("lspconfig.util").root_pattern("deno.json", "deno.jsonc") - LazyVim.lsp.disable("vtsls", is_deno) - LazyVim.lsp.disable("denols", function(root_dir, config) - if not is_deno(root_dir) then - config.settings.deno.enable = false - end - return false - end) + if vim.lsp.is_enabled("denols") and vim.lsp.is_enabled("vtsls") then + ---@param server string + local resolve = function(server) + local markers, root_dir = vim.lsp.config[server].root_markers, vim.lsp.config[server].root_dir + vim.lsp.config(server, { + root_dir = function(bufnr, on_dir) + local is_deno = vim.fs.root(bufnr, { "deno.json", "deno.jsonc" }) ~= nil + if is_deno == (server == "denols") then + if root_dir then + return root_dir(bufnr, on_dir) + elseif type(markers) == "table" then + local root = vim.fs.root(bufnr, markers) + return root and on_dir(root) + end + end + end, + }) + end + resolve("denols") + resolve("vtsls") end end, } From eb58c02fbdbbb2fc62953d3d73e0774708c6757b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 15 Sep 2025 20:22:19 +0000 Subject: [PATCH 098/187] chore(build): auto-generate docs --- docs/extras/lang/json.md | 4 ++-- docs/extras/lang/yaml.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/extras/lang/json.md b/docs/extras/lang/json.md index d8b5647780..d46b14e072 100644 --- a/docs/extras/lang/json.md +++ b/docs/extras/lang/json.md @@ -91,7 +91,7 @@ opts = { servers = { jsonls = { -- lazy-load schemastore when needed - on_new_config = function(new_config) + before_init = function(_, new_config) new_config.settings.json.schemas = new_config.settings.json.schemas or {} vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas()) end, @@ -121,7 +121,7 @@ opts = { servers = { jsonls = { -- lazy-load schemastore when needed - on_new_config = function(new_config) + before_init = function(_, new_config) new_config.settings.json.schemas = new_config.settings.json.schemas or {} vim.list_extend(new_config.settings.json.schemas, require("schemastore").json.schemas()) end, diff --git a/docs/extras/lang/yaml.md b/docs/extras/lang/yaml.md index 31b56141d5..042ee19fb0 100644 --- a/docs/extras/lang/yaml.md +++ b/docs/extras/lang/yaml.md @@ -71,7 +71,7 @@ opts = { }, }, -- lazy-load schemastore when needed - on_new_config = function(new_config) + before_init = function(_, new_config) new_config.settings.yaml.schemas = vim.tbl_deep_extend( "force", new_config.settings.yaml.schemas or {}, @@ -122,7 +122,7 @@ opts = { }, }, -- lazy-load schemastore when needed - on_new_config = function(new_config) + before_init = function(_, new_config) new_config.settings.yaml.schemas = vim.tbl_deep_extend( "force", new_config.settings.yaml.schemas or {}, From 1f423de53f79bd448709de2e7fa235dd20ae7c80 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 07:20:43 +0000 Subject: [PATCH 099/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 46 +++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index cd2553f501..21728ed019 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -41,6 +41,7 @@ opts = { return LazyVim.cmp.expand(snippet) end, }, + appearance = { -- sets the fallback highlight groups to nvim-cmp's highlight groups -- useful for when your theme doesn't support blink.cmp @@ -50,6 +51,7 @@ opts = { -- adjusts spacing to ensure icons are aligned nerd_font_variant = "mono", }, + completion = { accept = { -- experimental auto-brackets support @@ -82,7 +84,20 @@ opts = { }, cmdline = { - enabled = false, + enabled = true, + keymap = { + preset = "cmdline", + -- [""] = { "show", "accept" }, + -- [""] = { "accept_and_enter", "fallback" }, + }, + completion = { + menu = { + auto_show = function(ctx) + return vim.fn.getcmdtype() == ":" + end, + }, + ghost_text = { enabled = true }, + }, }, keymap = { @@ -117,7 +132,7 @@ opts = { version = not vim.g.lazyvim_blink_main and "*", }, }, - event = "InsertEnter", + event = { "InsertEnter", "CmdlineEnter" }, ---@module 'blink.cmp' ---@type blink.cmp.Config @@ -127,6 +142,7 @@ opts = { return LazyVim.cmp.expand(snippet) end, }, + appearance = { -- sets the fallback highlight groups to nvim-cmp's highlight groups -- useful for when your theme doesn't support blink.cmp @@ -136,6 +152,7 @@ opts = { -- adjusts spacing to ensure icons are aligned nerd_font_variant = "mono", }, + completion = { accept = { -- experimental auto-brackets support @@ -168,7 +185,20 @@ opts = { }, cmdline = { - enabled = false, + enabled = true, + keymap = { + preset = "cmdline", + -- [""] = { "show", "accept" }, + -- [""] = { "accept_and_enter", "fallback" }, + }, + completion = { + menu = { + auto_show = function(ctx) + return vim.fn.getcmdtype() == ":" + end, + }, + ghost_text = { enabled = true }, + }, }, keymap = { @@ -327,8 +357,9 @@ end ```lua opts = { sources = { - -- add lazydev to your completion providers - default = { "lazydev" }, + per_filetype = { + lua = { inherit_defaults = true, "lazydev" }, + }, providers = { lazydev = { name = "LazyDev", @@ -350,8 +381,9 @@ opts = { "saghen/blink.cmp", opts = { sources = { - -- add lazydev to your completion providers - default = { "lazydev" }, + per_filetype = { + lua = { inherit_defaults = true, "lazydev" }, + }, providers = { lazydev = { name = "LazyDev", From 90616bdcf68524877dde8b6f4eb5248b3714562d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 10:21:37 +0000 Subject: [PATCH 100/187] chore(build): auto-generate docs --- docs/extras/lang/haskell.md | 50 +++++++++++++++---------------- docs/extras/lang/java.md | 6 +++- docs/extras/lang/ocaml.md | 30 ++++++++----------- docs/extras/ui/treesitter-main.md | 18 ++++++----- 4 files changed, 52 insertions(+), 52 deletions(-) diff --git a/docs/extras/lang/haskell.md b/docs/extras/lang/haskell.md index 277062b2d7..878e90a3da 100644 --- a/docs/extras/lang/haskell.md +++ b/docs/extras/lang/haskell.md @@ -231,7 +231,7 @@ opts = {} "luc-tielen/telescope_hoogle", ft = { "haskell", "lhaskell", "cabal", "cabalproject" }, dependencies = { - { "nvim-telescope/telescope.nvim" }, + { "nvim-telescope/telescope.nvim", optional = true }, }, config = function() local ok, telescope = pcall(require, "telescope") @@ -288,7 +288,7 @@ opts = { -## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) +## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) _(optional)_ @@ -311,29 +311,6 @@ opts = nil -## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -{ "nvim-telescope/telescope.nvim" } -``` - - - - - ## [nvim-dap](https://github.com/mfussenegger/nvim-dap) _(optional)_ @@ -404,4 +381,27 @@ opts = { +## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) _(optional)_ + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "nvim-telescope/telescope.nvim", optional = true } +``` + + + + + diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 1bfcbfb8b1..fe44b53b5d 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -139,6 +139,7 @@ opts = function() table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) end return { + root_dir = require("lspconfig.util").root_pattern(vim.lsp.config.jdtls.root_markers), -- How to find the project name for a given root dir. project_name = function(root_dir) @@ -207,6 +208,7 @@ end table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) end return { + root_dir = require("lspconfig.util").root_pattern(vim.lsp.config.jdtls.root_markers), -- How to find the project name for a given root dir. project_name = function(root_dir) @@ -280,10 +282,12 @@ end end end local function attach_jdtls() + local fname = vim.api.nvim_buf_get_name(0) + -- Configuration can be augmented and overridden by opts.jdtls local config = extend_or_override({ cmd = opts.full_cmd(opts), - root_dir = vim.fs.root(0, vim.lsp.config.jdtls.root_markers), + root_dir = opts.root_dir(fname), init_options = { bundles = bundles, }, diff --git a/docs/extras/lang/ocaml.md b/docs/extras/lang/ocaml.md index c4a7bbdfce..15aea82b9c 100644 --- a/docs/extras/lang/ocaml.md +++ b/docs/extras/lang/ocaml.md @@ -69,15 +69,12 @@ opts = { "reason", "dune", }, - root_markers = { - "*.opam", - "esy.json", - "package.json", - ".git", - "dune-project", - "dune-workspace", - "*.ml", - }, + root_dir = function(bufnr, on_dir) + local util = require("lspconfig.util") + local fname = vim.api.nvim_buf_get_name(bufnr) + --stylua: ignore + on_dir(util.root_pattern("*.opam", "esy.json", "package.json", ".git", "dune-project", "dune-workspace", "*.ml")( fname)) + end, }, }, } @@ -102,15 +99,12 @@ opts = { "reason", "dune", }, - root_markers = { - "*.opam", - "esy.json", - "package.json", - ".git", - "dune-project", - "dune-workspace", - "*.ml", - }, + root_dir = function(bufnr, on_dir) + local util = require("lspconfig.util") + local fname = vim.api.nvim_buf_get_name(bufnr) + --stylua: ignore + on_dir(util.root_pattern("*.opam", "esy.json", "package.json", ".git", "dune-project", "dune-workspace", "*.ml")( fname)) + end, }, }, }, diff --git a/docs/extras/ui/treesitter-main.md b/docs/extras/ui/treesitter-main.md index d222d301c6..eaaf739ec9 100644 --- a/docs/extras/ui/treesitter-main.md +++ b/docs/extras/ui/treesitter-main.md @@ -65,19 +65,21 @@ opts = {} vim.list_extend(installed, install) end - -- backwards compatibility with the old treesitter config for indent - if vim.tbl_get(opts, "indent", "enable") then - vim.bo.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" - end - - -- backwards compatibility with the old treesitter config for highlight - if vim.tbl_get(opts, "highlight", "enable") then + -- backwards compatibility with the old treesitter config for highlight and indent + local highlight, indent = vim.tbl_get(opts, "highlight", "enable"), vim.tbl_get(opts, "indent", "enable") + if highlight or indent then vim.api.nvim_create_autocmd("FileType", { callback = function(ev) local lang = vim.treesitter.language.get_lang(ev.match) - if vim.tbl_contains(installed, lang) then + if not vim.tbl_contains(installed, lang) then + return + end + if highlight then pcall(vim.treesitter.start) end + if indent then + vim.bo[ev.buf].indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" + end end, }) end From 35951d10ec6496c7cbeb0b5bd7027964c2833472 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 11:16:57 +0000 Subject: [PATCH 101/187] chore(build): auto-generate docs --- docs/extras/editor/refactoring.md | 35 +++++++++++++++++++------------ docs/keymaps.md | 17 +++++++-------- 2 files changed, 30 insertions(+), 22 deletions(-) diff --git a/docs/extras/editor/refactoring.md b/docs/extras/editor/refactoring.md index 04454a21d4..1ba0f7415a 100644 --- a/docs/extras/editor/refactoring.md +++ b/docs/extras/editor/refactoring.md @@ -64,34 +64,39 @@ opts = { "nvim-treesitter/nvim-treesitter", }, keys = { - { "r", "", desc = "+refactor", mode = { "n", "v" } }, + { "r", "", desc = "+refactor", mode = { "n", "x" } }, { "rs", pick, - mode = "v", + mode = { "n", "x" }, desc = "Refactor", }, { "ri", function() - require("refactoring").refactor("Inline Variable") + return require("refactoring").refactor("Inline Variable") end, - mode = { "n", "v" }, + mode = { "n", "x" }, desc = "Inline Variable", + expr = true, }, { "rb", function() - require("refactoring").refactor("Extract Block") + return require("refactoring").refactor("Extract Block") end, + mode = { "n", "x" }, desc = "Extract Block", + expr = true, }, { "rf", function() - require("refactoring").refactor("Extract Block To File") + return require("refactoring").refactor("Extract Block To File") end, + mode = { "n", "x" }, desc = "Extract Block To File", + expr = true, }, { "rP", @@ -105,6 +110,7 @@ opts = { function() require("refactoring").debug.print_var({ normal = true }) end, + mode = { "n", "x" }, desc = "Debug Print Variable", }, { @@ -117,33 +123,36 @@ opts = { { "rf", function() - require("refactoring").refactor("Extract Function") + return require("refactoring").refactor("Extract Function") end, - mode = "v", + mode = { "n", "x" }, desc = "Extract Function", + expr = true, }, { "rF", function() - require("refactoring").refactor("Extract Function To File") + return require("refactoring").refactor("Extract Function To File") end, - mode = "v", + mode = { "n", "x" }, desc = "Extract Function To File", + expr = true, }, { "rx", function() - require("refactoring").refactor("Extract Variable") + return require("refactoring").refactor("Extract Variable") end, - mode = "v", + mode = { "n", "x" }, desc = "Extract Variable", + expr = true, }, { "rp", function() require("refactoring").debug.print_var() end, - mode = "v", + mode = { "n", "x" }, desc = "Debug Print Variable", }, }, diff --git a/docs/keymaps.md b/docs/keymaps.md index 92119126dc..2679ba72a5 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -484,17 +484,16 @@ Part of [lazyvim.plugins.extras.editor.refactoring](/extras/editor/refactoring) | Key | Description | Mode | | --- | --- | --- | -| <leader>r | +refactor | **n**, **v** | -| <leader>rb | Extract Block | **n** | +| <leader>r | +refactor | **n**, **x** | +| <leader>rb | Extract Block | **n**, **x** | | <leader>rc | Debug Cleanup | **n** | -| <leader>rf | Extract Block To File | **n** | -| <leader>rf | Extract Function | **v** | -| <leader>rF | Extract Function To File | **v** | -| <leader>ri | Inline Variable | **n**, **v** | -| <leader>rp | Debug Print Variable | **n**, **v** | +| <leader>rf | Extract Function | **n**, **x** | +| <leader>rF | Extract Function To File | **n**, **x** | +| <leader>ri | Inline Variable | **n**, **x** | +| <leader>rp | Debug Print Variable | **n**, **x** | | <leader>rP | Debug Print | **n** | -| <leader>rs | Refactor | **v** | -| <leader>rx | Extract Variable | **v** | +| <leader>rs | Refactor | **n**, **x** | +| <leader>rx | Extract Variable | **n**, **x** | ## [snacks.nvim](https://github.com/folke/snacks.nvim.git) Part of [lazyvim.plugins.extras.editor.snacks_explorer](/extras/editor/snacks_explorer) From 4140f9abe8b2b4b2644fe0543b887acdd54fb01c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 14:20:53 +0000 Subject: [PATCH 102/187] chore(build): auto-generate docs --- docs/extras/coding/nvim-cmp.md | 6 ++++++ docs/plugins/lsp.md | 19 ++++++------------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/docs/extras/coding/nvim-cmp.md b/docs/extras/coding/nvim-cmp.md index 0a335e9fa4..0c25b2ab09 100644 --- a/docs/extras/coding/nvim-cmp.md +++ b/docs/extras/coding/nvim-cmp.md @@ -28,6 +28,9 @@ import TabItem from '@theme/TabItem'; ```lua opts = function() + -- Register nvim-cmp lsp capabilities + vim.lsp.config("*", { capabilities = require("cmp_nvim_lsp").default_capabilities() }) + vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) local cmp = require("cmp") local defaults = require("cmp.config.default")() @@ -119,6 +122,9 @@ end -- } -- ``` opts = function() + -- Register nvim-cmp lsp capabilities + vim.lsp.config("*", { capabilities = require("cmp_nvim_lsp").default_capabilities() }) + vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) local cmp = require("cmp") local defaults = require("cmp.config.default")() diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 3b12e0d3aa..f7f2cd953c 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -93,7 +93,7 @@ opts = function() timeout_ms = nil, }, -- LSP Server Settings - ---@type table + ---@type table servers = { lua_ls = { -- mason = false, -- set to false if you don't want this server to be installed with mason @@ -213,7 +213,7 @@ end timeout_ms = nil, }, -- LSP Server Settings - ---@type table + ---@type table servers = { lua_ls = { -- mason = false, -- set to false if you don't want this server to be installed with mason @@ -313,14 +313,9 @@ end end vim.diagnostic.config(vim.deepcopy(opts.diagnostics)) - local capabilities = vim.tbl_deep_extend( - "force", - {}, - vim.lsp.protocol.make_client_capabilities(), - LazyVim.has("nvim-cmp") and require("cmp_nvim_lsp").default_capabilities() or {}, - LazyVim.has("blink.nvim") and require("blink.cmp").get_lsp_capabilities() or {}, - opts.capabilities or {} - ) + if opts.capabilities then + vim.lsp.config("*", { capabilities = opts.capabilities }) + end -- get all the servers that are available through mason-lspconfig local have_mason = LazyVim.has("mason-lspconfig.nvim") @@ -331,9 +326,7 @@ end local exclude_automatic_enable = {} ---@type string[] local function configure(server) - local server_opts = vim.tbl_deep_extend("force", { - capabilities = vim.deepcopy(capabilities), - }, opts.servers[server] or {}) + local server_opts = opts.servers[server] or {} local setup = opts.setup[server] or opts.setup["*"] if setup and setup(server, server_opts) then From c74a301af8836f39a26aee596a084f68fe1b403d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 16 Sep 2025 16:26:41 +0000 Subject: [PATCH 103/187] chore(build): auto-generate docs --- docs/extras/ai/copilot.md | 4 ++-- docs/extras/coding/blink.md | 14 ++++---------- docs/extras/editor/fzf.md | 4 ++-- docs/extras/linting/eslint.md | 4 ++-- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index da15718aa6..a6a4faccde 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -216,7 +216,7 @@ opts = function(_, opts) opts.sections.lualine_x, 2, LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() - local clients = package.loaded["copilot"] and LazyVim.lsp.get_clients({ name = "copilot", bufnr = 0 }) or {} + local clients = package.loaded["copilot"] and vim.lsp.get_clients({ name = "copilot", bufnr = 0 }) or {} if #clients > 0 then local status = require("copilot.status").data.status return (status == "InProgress" and "pending") or (status == "Warning" and "error") or "ok" @@ -241,7 +241,7 @@ end opts.sections.lualine_x, 2, LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() - local clients = package.loaded["copilot"] and LazyVim.lsp.get_clients({ name = "copilot", bufnr = 0 }) or {} + local clients = package.loaded["copilot"] and vim.lsp.get_clients({ name = "copilot", bufnr = 0 }) or {} if #clients > 0 then local status = require("copilot.status").data.status return (status == "InProgress" and "pending") or (status == "Warning" and "error") or "ok" diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 21728ed019..9a8b01c20d 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -85,12 +85,9 @@ opts = { cmdline = { enabled = true, - keymap = { - preset = "cmdline", - -- [""] = { "show", "accept" }, - -- [""] = { "accept_and_enter", "fallback" }, - }, + keymap = { preset = "cmdline" }, completion = { + list = { selection = { preselect = false } }, menu = { auto_show = function(ctx) return vim.fn.getcmdtype() == ":" @@ -186,12 +183,9 @@ opts = { cmdline = { enabled = true, - keymap = { - preset = "cmdline", - -- [""] = { "show", "accept" }, - -- [""] = { "accept_and_enter", "fallback" }, - }, + keymap = { preset = "cmdline" }, completion = { + list = { selection = { preselect = false } }, menu = { auto_show = function(ctx) return vim.fn.getcmdtype() == ":" diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 21fb14c0c2..cf2db117a0 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -113,7 +113,7 @@ opts = function(_, opts) -- height is number of items minus 15 lines for the preview, with a max of 80% screen height height = math.floor(math.min(vim.o.lines * 0.8 - 16, #items + 2) + 0.5) + 16, width = 0.5, - preview = not vim.tbl_isempty(LazyVim.lsp.get_clients({ bufnr = 0, name = "vtsls" })) and { + preview = not vim.tbl_isempty(vim.lsp.get_clients({ bufnr = 0, name = "vtsls" })) and { layout = "vertical", vertical = "down:15,border-top", hidden = "hidden", @@ -258,7 +258,7 @@ end -- height is number of items minus 15 lines for the preview, with a max of 80% screen height height = math.floor(math.min(vim.o.lines * 0.8 - 16, #items + 2) + 0.5) + 16, width = 0.5, - preview = not vim.tbl_isempty(LazyVim.lsp.get_clients({ bufnr = 0, name = "vtsls" })) and { + preview = not vim.tbl_isempty(vim.lsp.get_clients({ bufnr = 0, name = "vtsls" })) and { layout = "vertical", vertical = "down:15,border-top", hidden = "hidden", diff --git a/docs/extras/linting/eslint.md b/docs/extras/linting/eslint.md index 8b8b636a79..02f12881e3 100644 --- a/docs/extras/linting/eslint.md +++ b/docs/extras/linting/eslint.md @@ -51,7 +51,7 @@ opts = { end local function get_client(buf) - return LazyVim.lsp.get_clients({ name = "eslint", bufnr = buf })[1] + return vim.lsp.get_clients({ name = "eslint", bufnr = buf })[1] end local formatter = LazyVim.lsp.formatter({ @@ -113,7 +113,7 @@ opts = { end local function get_client(buf) - return LazyVim.lsp.get_clients({ name = "eslint", bufnr = buf })[1] + return vim.lsp.get_clients({ name = "eslint", bufnr = buf })[1] end local formatter = LazyVim.lsp.formatter({ From 9d6aff184182db825476ffb6f19b0e0ec1d0081b Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 17 Sep 2025 07:02:30 +0200 Subject: [PATCH 104/187] docs: bump Neovim requirement to 0.11.2 --- docs/intro.md | 2 +- docs/keymaps.md | 5 +++++ docs/news.md | 6 +++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/intro.md b/docs/intro.md index 88e938e78b..8f8a13becb 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -24,7 +24,7 @@ to make it easy to customize and extend your config. ## ⚡️ Requirements -- Neovim >= **0.11.0** (needs to be built with **LuaJIT**) +- Neovim >= **0.11.2** (needs to be built with **LuaJIT**) - Git >= **2.19.0** (for partial clones support) - a [Nerd Font](https://www.nerdfonts.com/)(v3.0 or greater) **_(optional, but needed to display some icons)_** - [lazygit](https://github.com/jesseduffield/lazygit) **_(optional)_** diff --git a/docs/keymaps.md b/docs/keymaps.md index 2679ba72a5..ed39c1da57 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -82,6 +82,11 @@ possible keymaps starting with ``. | <leader>dpp | Toggle Profiler | **n** | | <leader>dph | Toggle Profiler Highlights | **n** | | <leader>uh | Toggle Inlay Hints | **n** | +| <leader>gg | Lazygit (Root Dir) | **n** | +| <leader>gG | Lazygit (cwd) | **n** | +| <leader>gf | Git Current File History | **n** | +| <leader>gl | Git Log | **n** | +| <leader>gL | Git Log (cwd) | **n** | | <leader>gb | Git Blame Line | **n** | | <leader>gB | Git Browse (open) | **n**, **x** | | <leader>gY | Git Browse (copy) | **n**, **x** | diff --git a/docs/news.md b/docs/news.md index 7b5228579c..0f5c121bfd 100644 --- a/docs/news.md +++ b/docs/news.md @@ -6,13 +6,13 @@ sidebar_position: 2 ## 15.x -**Neovim** `>= 0.11.0` includes a lot of changes to the underlying LSP implementation. +**Neovim** `>= 0.11.2` includes a lot of changes to the underlying LSP implementation. -Going forward, **LazyVim** requires **Neovim** `>= 0.11.0`, and drops support for older versions. +Going forward, **LazyVim** requires **Neovim** `>= 0.11.2`, and drops support for older versions. ### Changes -- removed compatibility code for Neovim `< 0.11` +- removed compatibility code for Neovim `< 0.11.2` - updated all LSP code to use the new LSP implementation - migrated **mason.nvim** and **mason-lspconfig.nvim** to `v2.x` - added new `treesitter-main` extra to test the new `main` branch of `nvim-treesitter` From 6a803c02a08925987bee35bf38bf4c37701e85db Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 05:02:58 +0000 Subject: [PATCH 105/187] chore(build): auto-generate docs --- docs/keymaps.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/keymaps.md b/docs/keymaps.md index ed39c1da57..2679ba72a5 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -82,11 +82,6 @@ possible keymaps starting with ``. | <leader>dpp | Toggle Profiler | **n** | | <leader>dph | Toggle Profiler Highlights | **n** | | <leader>uh | Toggle Inlay Hints | **n** | -| <leader>gg | Lazygit (Root Dir) | **n** | -| <leader>gG | Lazygit (cwd) | **n** | -| <leader>gf | Git Current File History | **n** | -| <leader>gl | Git Log | **n** | -| <leader>gL | Git Log (cwd) | **n** | | <leader>gb | Git Blame Line | **n** | | <leader>gB | Git Browse (open) | **n**, **x** | | <leader>gY | Git Browse (copy) | **n**, **x** | From c5b33e4244963e74a71224d6a287404aa81ef919 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 05:19:43 +0000 Subject: [PATCH 106/187] chore(build): auto-generate docs --- docs/configuration/general.md | 2 +- docs/extras/linting/eslint.md | 48 ++--------------------------------- docs/news.md | 3 ++- docs/plugins/lsp.md | 10 +++----- 4 files changed, 9 insertions(+), 54 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 43ad2e4426..b45358097a 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -105,7 +105,7 @@ local opt = vim.opt opt.autowrite = true -- Enable auto write -- only set clipboard if not in ssh, to make sure the OSC 52 --- integration works automatically. Requires Neovim >= 0.10.0 +-- integration works automatically. opt.clipboard = vim.env.SSH_TTY and "" or "unnamedplus" -- Sync with system clipboard opt.completeopt = "menu,menuone,noselect" opt.conceallevel = 2 -- Hide * markup for bold and italic, but not markers with substitutions diff --git a/docs/extras/linting/eslint.md b/docs/extras/linting/eslint.md index 02f12881e3..62a997c722 100644 --- a/docs/extras/linting/eslint.md +++ b/docs/extras/linting/eslint.md @@ -34,7 +34,7 @@ import TabItem from '@theme/TabItem'; ```lua opts = { - ---@type lspconfig.options + ---@type table servers = { eslint = { settings = { @@ -50,10 +50,6 @@ opts = { return end - local function get_client(buf) - return vim.lsp.get_clients({ name = "eslint", bufnr = buf })[1] - end - local formatter = LazyVim.lsp.formatter({ name = "eslint: lsp", primary = false, @@ -61,24 +57,6 @@ opts = { filter = "eslint", }) - -- Use EslintFixAll on Neovim < 0.10.0 - if not pcall(require, "vim.lsp._dynamic") then - formatter.name = "eslint: EslintFixAll" - formatter.sources = function(buf) - local client = get_client(buf) - return client and { "eslint" } or {} - end - formatter.format = function(buf) - local client = get_client(buf) - if client then - local diag = vim.diagnostic.get(buf, { namespace = vim.lsp.diagnostic.get_namespace(client.id) }) - if #diag > 0 then - vim.cmd("EslintFixAll") - end - end - end - end - -- register the formatter with LazyVim LazyVim.format.register(formatter) end, @@ -96,7 +74,7 @@ opts = { "neovim/nvim-lspconfig", -- other settings removed for brevity opts = { - ---@type lspconfig.options + ---@type table servers = { eslint = { settings = { @@ -112,10 +90,6 @@ opts = { return end - local function get_client(buf) - return vim.lsp.get_clients({ name = "eslint", bufnr = buf })[1] - end - local formatter = LazyVim.lsp.formatter({ name = "eslint: lsp", primary = false, @@ -123,24 +97,6 @@ opts = { filter = "eslint", }) - -- Use EslintFixAll on Neovim < 0.10.0 - if not pcall(require, "vim.lsp._dynamic") then - formatter.name = "eslint: EslintFixAll" - formatter.sources = function(buf) - local client = get_client(buf) - return client and { "eslint" } or {} - end - formatter.format = function(buf) - local client = get_client(buf) - if client then - local diag = vim.diagnostic.get(buf, { namespace = vim.lsp.diagnostic.get_namespace(client.id) }) - if #diag > 0 then - vim.cmd("EslintFixAll") - end - end - end - end - -- register the formatter with LazyVim LazyVim.format.register(formatter) end, diff --git a/docs/news.md b/docs/news.md index 0f5c121bfd..1da38b5327 100644 --- a/docs/news.md +++ b/docs/news.md @@ -13,10 +13,11 @@ Going forward, **LazyVim** requires **Neovim** `>= 0.11.2`, and drops support fo ### Changes - removed compatibility code for Neovim `< 0.11.2` -- updated all LSP code to use the new LSP implementation +- cconfigure **LSP** with the native `vim.lsp.config` - migrated **mason.nvim** and **mason-lspconfig.nvim** to `v2.x` - added new `treesitter-main` extra to test the new `main` branch of `nvim-treesitter` - after enabling, you will get errors. Update with `:Lazy` and restart Neovim +- enabled [blink.cmp](https://github.com/saghen/blink.cmp) **cmdline** completions ## 14.x diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index f7f2cd953c..8f6dc3ab72 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -50,7 +50,6 @@ opts = function() source = "if_many", prefix = "●", -- this will set set the prefix to a function that returns the diagnostics icon based on the severity - -- this only works on a recent 0.10.0 build. Will be set to "●" when not supported -- prefix = "icons", }, severity_sort = true, @@ -63,14 +62,14 @@ opts = function() }, }, }, - -- Enable this to enable the builtin LSP inlay hints on Neovim >= 0.10.0 + -- Enable this to enable the builtin LSP inlay hints on Neovim. -- Be aware that you also will need to properly configure your LSP server to -- provide the inlay hints. inlay_hints = { enabled = true, exclude = { "vue" }, -- filetypes for which you don't want to enable inlay hints }, - -- Enable this to enable the builtin LSP code lenses on Neovim >= 0.10.0 + -- Enable this to enable the builtin LSP code lenses on Neovim. -- Be aware that you also will need to properly configure your LSP server to -- provide the code lenses. codelens = { @@ -170,7 +169,6 @@ end source = "if_many", prefix = "●", -- this will set set the prefix to a function that returns the diagnostics icon based on the severity - -- this only works on a recent 0.10.0 build. Will be set to "●" when not supported -- prefix = "icons", }, severity_sort = true, @@ -183,14 +181,14 @@ end }, }, }, - -- Enable this to enable the builtin LSP inlay hints on Neovim >= 0.10.0 + -- Enable this to enable the builtin LSP inlay hints on Neovim. -- Be aware that you also will need to properly configure your LSP server to -- provide the inlay hints. inlay_hints = { enabled = true, exclude = { "vue" }, -- filetypes for which you don't want to enable inlay hints }, - -- Enable this to enable the builtin LSP code lenses on Neovim >= 0.10.0 + -- Enable this to enable the builtin LSP code lenses on Neovim. -- Be aware that you also will need to properly configure your LSP server to -- provide the code lenses. codelens = { From 053f90ddb5a495a7349dc222578b77f9c9555e9a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 06:31:33 +0000 Subject: [PATCH 107/187] chore(build): auto-generate docs --- docs/extras/lang/vue.md | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/docs/extras/lang/vue.md b/docs/extras/lang/vue.md index f6c04d50c9..1ffe66ff65 100644 --- a/docs/extras/lang/vue.md +++ b/docs/extras/lang/vue.md @@ -59,13 +59,7 @@ opts = { ensure_installed = { "vue", "css" } } ```lua opts = { servers = { - volar = { - init_options = { - vue = { - hybridMode = true, - }, - }, - }, + vue_ls = {}, vtsls = {}, }, } @@ -81,13 +75,7 @@ opts = { "neovim/nvim-lspconfig", opts = { servers = { - volar = { - init_options = { - vue = { - hybridMode = true, - }, - }, - }, + vue_ls = {}, vtsls = {}, }, }, From 20de223a02cc7ce069bbd010007d2432b32bb102 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 17 Sep 2025 10:46:43 +0200 Subject: [PATCH 108/187] fix: fixed build docs --- scripts/build_docs.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/build_docs.lua b/scripts/build_docs.lua index 8a39d8232c..1ea67eb249 100644 --- a/scripts/build_docs.lua +++ b/scripts/build_docs.lua @@ -41,7 +41,8 @@ local function main() -- require("lazy.core.cache").reset() vim.opt.rtp:append(".") - vim.cmd([[TSUpdateSync lua]]) + require("nvim-treesitter").update({ "lua" }):wait(300000) -- max. 5 minutes + -- vim.cmd([[TSUpdateSync lua]]) print("Building docs") From 9b213387ccf13f602ca98b364b66458a645063c6 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 17 Sep 2025 10:48:51 +0200 Subject: [PATCH 109/187] fix: treesitter main --- scripts/build_docs.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_docs.lua b/scripts/build_docs.lua index 1ea67eb249..307d911d50 100644 --- a/scripts/build_docs.lua +++ b/scripts/build_docs.lua @@ -20,7 +20,7 @@ local plugins = { { "LazyVim/LazyVim", import = "lazyvim.plugins", dev = true, version = false }, { "LazyVim/LazyVim", dev = true, version = false }, { "folke/lazy.nvim", version = false }, - { "nvim-treesitter/nvim-treesitter", opts = { ensure_installed = {} } }, + { "nvim-treesitter/nvim-treesitter", branc = "main", opts = { ensure_installed = {} } }, } local function main() From ba3d6bade301f08d730e95a8f2a1ccd99cdf07fe Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 17 Sep 2025 10:54:44 +0200 Subject: [PATCH 110/187] fix: build docs --- scripts/build_docs.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/build_docs.lua b/scripts/build_docs.lua index 307d911d50..f7ae8f3737 100644 --- a/scripts/build_docs.lua +++ b/scripts/build_docs.lua @@ -41,8 +41,7 @@ local function main() -- require("lazy.core.cache").reset() vim.opt.rtp:append(".") - require("nvim-treesitter").update({ "lua" }):wait(300000) -- max. 5 minutes - -- vim.cmd([[TSUpdateSync lua]]) + require("nvim-treesitter.install").update({ "lua" }):wait(300000) -- max. 5 minutes print("Building docs") From 5a0f0d74e8b1174ef173e29fd3dfb3dbbf268fcd Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 17 Sep 2025 10:56:07 +0200 Subject: [PATCH 111/187] fix --- scripts/build_docs.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_docs.lua b/scripts/build_docs.lua index f7ae8f3737..ed2c518f11 100644 --- a/scripts/build_docs.lua +++ b/scripts/build_docs.lua @@ -41,7 +41,7 @@ local function main() -- require("lazy.core.cache").reset() vim.opt.rtp:append(".") - require("nvim-treesitter.install").update({ "lua" }):wait(300000) -- max. 5 minutes + require("nvim-treesitter").update({ "lua" }):wait(300000) -- max. 5 minutes print("Building docs") From 978afbb348eb9271dd1ca5deef3899a5ea404c8e Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Wed, 17 Sep 2025 10:56:33 +0200 Subject: [PATCH 112/187] fix: typo --- scripts/build_docs.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build_docs.lua b/scripts/build_docs.lua index ed2c518f11..e057bce41b 100644 --- a/scripts/build_docs.lua +++ b/scripts/build_docs.lua @@ -20,7 +20,7 @@ local plugins = { { "LazyVim/LazyVim", import = "lazyvim.plugins", dev = true, version = false }, { "LazyVim/LazyVim", dev = true, version = false }, { "folke/lazy.nvim", version = false }, - { "nvim-treesitter/nvim-treesitter", branc = "main", opts = { ensure_installed = {} } }, + { "nvim-treesitter/nvim-treesitter", branch = "main", opts = { ensure_installed = {} } }, } local function main() From 18aa6a45a05cacca3305aa427bd0af5f8b5280c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 08:56:50 +0000 Subject: [PATCH 113/187] chore(build): auto-generate docs --- docs/configuration/general.md | 3 +- docs/extras/ui/treesitter-main.md | 152 --------------------- docs/keymaps.md | 35 ++--- docs/news.md | 9 +- docs/plugins/editor.md | 24 +++- docs/plugins/lsp.md | 20 +++ docs/plugins/treesitter.md | 210 +++++++++++++----------------- 7 files changed, 146 insertions(+), 307 deletions(-) delete mode 100644 docs/extras/ui/treesitter-main.md diff --git a/docs/configuration/general.md b/docs/configuration/general.md index b45358097a..07268ef1fe 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -120,7 +120,7 @@ opt.fillchars = { diff = "╱", eob = " ", } -opt.foldexpr = "v:lua.require'lazyvim.util'.ui.foldexpr()" +opt.foldexpr = "v:lua.LazyVim.ui.foldexpr()" -- treesitter folds opt.foldlevel = 99 opt.foldmethod = "expr" opt.foldtext = "" @@ -130,6 +130,7 @@ opt.grepformat = "%f:%l:%c:%m" opt.grepprg = "rg --vimgrep" opt.ignorecase = true -- Ignore case opt.inccommand = "nosplit" -- preview incremental substitute +opt.indentexpr = "v:lua.LazyVim.ui.indentexpr()" -- treesitter indents opt.jumpoptions = "view" opt.laststatus = 3 -- global statusline opt.linebreak = true -- Wrap lines at convenient points diff --git a/docs/extras/ui/treesitter-main.md b/docs/extras/ui/treesitter-main.md deleted file mode 100644 index eaaf739ec9..0000000000 --- a/docs/extras/ui/treesitter-main.md +++ /dev/null @@ -1,152 +0,0 @@ -# `Treesitter-main` - - - -:::info -You can enable the extra with the `:LazyExtras` command. -Plugins marked as optional will only be configured if they are installed. -::: - -Below you can find a list of included plugins and their default settings. - -:::caution -You don't need to copy the default settings to your config. -They are only shown here for reference. -::: - -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; - -## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - - - - - -```lua -opts = {} -``` - - - - - - -```lua -{ - "nvim-treesitter/nvim-treesitter", - version = false, -- last release is way too old and doesn't work on Windows - branch = "main", - build = ":TSUpdate", - lazy = true, - cmd = { "TSUpdate", "TSInstall", "TSLog", "TSUninstall" }, - init = function() end, - ---@param opts TSConfig - config = function(_, opts) - if vim.fn.executable("tree-sitter") == 0 then - LazyVim.error("**treesitter-main** requires the `tree-sitter` executable to be installed") - return - end - if type(opts.ensure_installed) ~= "table" then - error("opts.ensure_installed must be a table") - end - - local TS = require("nvim-treesitter") - TS.setup(opts) - - local needed = LazyVim.dedup(opts.ensure_installed --[[@as string[] ]]) - local installed = TS.get_installed("parsers") - local install = vim.tbl_filter(function(lang) - return not vim.tbl_contains(installed, lang) - end, needed) - - if #install > 0 then - TS.install(install, { summary = true }) - vim.list_extend(installed, install) - end - - -- backwards compatibility with the old treesitter config for highlight and indent - local highlight, indent = vim.tbl_get(opts, "highlight", "enable"), vim.tbl_get(opts, "indent", "enable") - if highlight or indent then - vim.api.nvim_create_autocmd("FileType", { - callback = function(ev) - local lang = vim.treesitter.language.get_lang(ev.match) - if not vim.tbl_contains(installed, lang) then - return - end - if highlight then - pcall(vim.treesitter.start) - end - if indent then - vim.bo[ev.buf].indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" - end - end, - }) - end - end, -} -``` - - - - - -## [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) - - - - - -```lua -opts = {} -``` - - - - - - -```lua -{ - "nvim-treesitter/nvim-treesitter-textobjects", - branch = "main", - event = "VeryLazy", - opts = {}, - keys = function() - local moves = { - goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer", ["]a"] = "@parameter.inner" }, - goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer", ["]A"] = "@parameter.inner" }, - goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer", ["[a"] = "@parameter.inner" }, - goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer", ["[A"] = "@parameter.inner" }, - } - local ret = {} ---@type LazyKeysSpec[] - for method, keymaps in pairs(moves) do - for key, query in pairs(keymaps) do - local desc = query:gsub("@", ""):gsub("%..*", "") - desc = desc:sub(1, 1):upper() .. desc:sub(2) - desc = (key:sub(1, 1) == "[" and "Prev " or "Next ") .. desc - desc = desc .. (key:sub(2, 2) == key:sub(2, 2):upper() and " End" or " Start") - ret[#ret + 1] = { - key, - function() - require("nvim-treesitter-textobjects.move")[method](query, "textobjects") - end, - desc = desc, - mode = { "n", "x", "o" }, - silent = true, - } - end - end - return ret - end, - config = function(_, opts) - require("nvim-treesitter-textobjects").setup(opts) - end, -} -``` - - - - - - diff --git a/docs/keymaps.md b/docs/keymaps.md index 2679ba72a5..4aabd90732 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -162,6 +162,7 @@ possible keymaps starting with ``. | R | Treesitter Search | **o**, **x** | | s | Flash | **n**, **o**, **x** | | S | Flash Treesitter | **n**, **o**, **x** | +| <c-space> | Treesitter Incremental Selection | **n**, **o**, **x** | ## [grug-far.nvim](https://github.com/MagicDuck/grug-far.nvim.git) @@ -189,12 +190,22 @@ possible keymaps starting with ``. | <leader>snt | Noice Picker (Telescope/FzfLua) | **n** | | <S-Enter> | Redirect Cmdline | **c** | -## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter.git) +## [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects.git) | Key | Description | Mode | | --- | --- | --- | -| <bs> | Decrement Selection | **x** | -| <c-space> | Increment Selection | **n** | +| [a | Prev Parameter Start | **n**, **o**, **x** | +| [A | Prev Parameter End | **n**, **o**, **x** | +| [c | Prev Class Start | **n**, **o**, **x** | +| [C | Prev Class End | **n**, **o**, **x** | +| [f | Prev Function Start | **n**, **o**, **x** | +| [F | Prev Function End | **n**, **o**, **x** | +| ]a | Next Parameter Start | **n**, **o**, **x** | +| ]A | Next Parameter End | **n**, **o**, **x** | +| ]c | Next Class Start | **n**, **o**, **x** | +| ]C | Next Class End | **n**, **o**, **x** | +| ]f | Next Function Start | **n**, **o**, **x** | +| ]F | Next Function End | **n**, **o**, **x** | ## [persistence.nvim](https://github.com/folke/persistence.nvim.git) @@ -636,24 +647,6 @@ Part of [lazyvim.plugins.extras.ui.edgy](/extras/ui/edgy) | <leader>ue | Edgy Toggle | **n** | | <leader>uE | Edgy Select Window | **n** | -## [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects.git) -Part of [lazyvim.plugins.extras.ui.treesitter-main](/extras/ui/treesitter-main) - -| Key | Description | Mode | -| --- | --- | --- | -| [a | Prev Parameter Start | **n**, **o**, **x** | -| [A | Prev Parameter End | **n**, **o**, **x** | -| [c | Prev Class Start | **n**, **o**, **x** | -| [C | Prev Class End | **n**, **o**, **x** | -| [f | Prev Function Start | **n**, **o**, **x** | -| [F | Prev Function End | **n**, **o**, **x** | -| ]a | Next Parameter Start | **n**, **o**, **x** | -| ]A | Next Parameter End | **n**, **o**, **x** | -| ]c | Next Class Start | **n**, **o**, **x** | -| ]C | Next Class End | **n**, **o**, **x** | -| ]f | Next Function Start | **n**, **o**, **x** | -| ]F | Next Function End | **n**, **o**, **x** | - ## [chezmoi.nvim](https://github.com/xvzc/chezmoi.nvim.git) Part of [lazyvim.plugins.extras.util.chezmoi](/extras/util/chezmoi) diff --git a/docs/news.md b/docs/news.md index 1da38b5327..feec7aef4c 100644 --- a/docs/news.md +++ b/docs/news.md @@ -13,11 +13,14 @@ Going forward, **LazyVim** requires **Neovim** `>= 0.11.2`, and drops support fo ### Changes - removed compatibility code for Neovim `< 0.11.2` -- cconfigure **LSP** with the native `vim.lsp.config` +- configure **LSP** with the native `vim.lsp.config` - migrated **mason.nvim** and **mason-lspconfig.nvim** to `v2.x` -- added new `treesitter-main` extra to test the new `main` branch of `nvim-treesitter` - - after enabling, you will get errors. Update with `:Lazy` and restart Neovim +- migrated to [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter/tree/main) **main** branch + - with the new version, the `tree-sitter` cli is **required** to install parsers + - best to run `:checkhealth nvim-treesitter` after updating +- replace `nvim-treesitter` incremental selection with `flash.nvim`, since it is no longer supported - enabled [blink.cmp](https://github.com/saghen/blink.cmp) **cmdline** completions +- use **LSP** based folding when available (disable with `nvim-lspconfig.folds.enabled = false`) ## 14.x diff --git a/docs/plugins/editor.md b/docs/plugins/editor.md index 44e7c9b22c..983a7dbbed 100644 --- a/docs/plugins/editor.md +++ b/docs/plugins/editor.md @@ -27,7 +27,7 @@ opts = { headerMaxWidth = 80 } { "MagicDuck/grug-far.nvim", opts = { headerMaxWidth = 80 }, - cmd = "GrugFar", + cmd = { "GrugFar", "GrugFarWithin" }, keys = { { "sr", @@ -86,6 +86,16 @@ opts = {} { "r", mode = "o", function() require("flash").remote() end, desc = "Remote Flash" }, { "R", mode = { "o", "x" }, function() require("flash").treesitter_search() end, desc = "Treesitter Search" }, { "", mode = { "c" }, function() require("flash").toggle() end, desc = "Toggle Flash Search" }, + -- Simulate nvim-treesitter incremental selection + { "", mode = { "n", "o", "x" }, + function() + require("flash").treesitter({ + actions = { + [""] = "next", + [""] = "prev" + } + }) + end, desc = "Treesitter Incremental Selection" }, }, } ``` @@ -120,8 +130,8 @@ opts = { { "gh", group = "hunks" }, { "q", group = "quit/session" }, { "s", group = "search" }, - { "u", group = "ui", icon = { icon = "󰙵 ", color = "cyan" } }, - { "x", group = "diagnostics/quickfix", icon = { icon = "󱖫 ", color = "green" } }, + { "u", group = "ui" }, + { "x", group = "diagnostics/quickfix" }, { "[", group = "prev" }, { "]", group = "next" }, { "g", group = "goto" }, @@ -174,8 +184,8 @@ opts = { { "gh", group = "hunks" }, { "q", group = "quit/session" }, { "s", group = "search" }, - { "u", group = "ui", icon = { icon = "󰙵 ", color = "cyan" } }, - { "x", group = "diagnostics/quickfix", icon = { icon = "󱖫 ", color = "green" } }, + { "u", group = "ui" }, + { "x", group = "diagnostics/quickfix" }, { "[", group = "prev" }, { "]", group = "next" }, { "g", group = "goto" }, @@ -264,7 +274,7 @@ opts = { local gs = package.loaded.gitsigns local function map(mode, l, r, desc) - vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc }) + vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc, silent = true }) end -- stylua: ignore start @@ -328,7 +338,7 @@ opts = { local gs = package.loaded.gitsigns local function map(mode, l, r, desc) - vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc }) + vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc, silent = true }) end -- stylua: ignore start diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 8f6dc3ab72..eaf00cad7c 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -75,6 +75,12 @@ opts = function() codelens = { enabled = false, }, + -- Enable this to enable the builtin LSP folding on Neovim. + -- Be aware that you also will need to properly configure your LSP server to + -- provide the folds. + folds = { + enabled = true, + }, -- add any global capabilities here capabilities = { workspace = { @@ -194,6 +200,12 @@ end codelens = { enabled = false, }, + -- Enable this to enable the builtin LSP folding on Neovim. + -- Be aware that you also will need to properly configure your LSP server to + -- provide the folds. + folds = { + enabled = true, + }, -- add any global capabilities here capabilities = { workspace = { @@ -286,6 +298,14 @@ end end) end + -- folds + if opts.folds.enabled then + LazyVim.lsp.on_supports_method("textDocument/foldingRange", function(client, buffer) + local win = vim.api.nvim_get_current_win() + vim.wo[win][0].foldexpr = "v:lua.vim.lsp.foldexpr()" + end) + end + -- code lens if opts.codelens.enabled and vim.lsp.codelens then LazyVim.lsp.on_supports_method("textDocument/codeLens", function(client, buffer) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 32d65ccc9b..555361ef8c 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -5,42 +5,6 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [which-key.nvim](https://github.com/folke/which-key.nvim) - - - - - -```lua -opts = { - spec = { - { "", desc = "Decrement Selection", mode = "x" }, - { "", desc = "Increment Selection", mode = { "x", "n" } }, - }, -} -``` - - - - - - -```lua -{ - "folke/which-key.nvim", - opts = { - spec = { - { "", desc = "Decrement Selection", mode = "x" }, - { "", desc = "Increment Selection", mode = { "x", "n" } }, - }, - }, -} -``` - - - - - ## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) Treesitter is a new parser generator tool that we can @@ -54,8 +18,6 @@ opts = { ```lua opts = { - highlight = { enable = true }, - indent = { enable = true }, ensure_installed = { "bash", "c", @@ -82,24 +44,6 @@ opts = { "xml", "yaml", }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = "", - node_incremental = "", - scope_incremental = false, - node_decremental = "", - }, - }, - textobjects = { - move = { - enable = true, - goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer", ["]a"] = "@parameter.inner" }, - goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer", ["]A"] = "@parameter.inner" }, - goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer", ["[a"] = "@parameter.inner" }, - goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer", ["[A"] = "@parameter.inner" }, - }, - }, } ``` @@ -111,30 +55,21 @@ opts = { ```lua { "nvim-treesitter/nvim-treesitter", + branch = "main", version = false, -- last release is way too old and doesn't work on Windows - build = ":TSUpdate", - event = { "LazyFile", "VeryLazy" }, - lazy = vim.fn.argc(-1) == 0, -- load treesitter early when opening a file from the cmdline - init = function(plugin) - -- PERF: add nvim-treesitter queries to the rtp and it's custom query predicates early - -- This is needed because a bunch of plugins no longer `require("nvim-treesitter")`, which - -- no longer trigger the **nvim-treesitter** module to be loaded in time. - -- Luckily, the only things that those plugins need are the custom queries, which we make available - -- during startup. - require("lazy.core.loader").add_to_rtp(plugin) - require("nvim-treesitter.query_predicates") + build = function() + local TS = require("nvim-treesitter") + if not TS.get_installed then + LazyVim.error("Please restart Neovim and run `:TSUpdate` to use the `nvim-treesitter` **main** branch.") + return + end + vim.cmd.TSUpdate() end, - cmd = { "TSUpdateSync", "TSUpdate", "TSInstall" }, - keys = { - { "", desc = "Increment Selection" }, - { "", desc = "Decrement Selection", mode = "x" }, - }, + lazy = vim.fn.argc(-1) == 0, -- load treesitter early when opening a file from the cmdline + event = { "LazyFile", "VeryLazy" }, + cmd = { "TSUpdate", "TSInstall", "TSLog", "TSUninstall" }, opts_extend = { "ensure_installed" }, - ---@type TSConfig - ---@diagnostic disable-next-line: missing-fields opts = { - highlight = { enable = true }, - indent = { enable = true }, ensure_installed = { "bash", "c", @@ -161,31 +96,48 @@ opts = { "xml", "yaml", }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = "", - node_incremental = "", - scope_incremental = false, - node_decremental = "", - }, - }, - textobjects = { - move = { - enable = true, - goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer", ["]a"] = "@parameter.inner" }, - goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer", ["]A"] = "@parameter.inner" }, - goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer", ["[a"] = "@parameter.inner" }, - goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer", ["[A"] = "@parameter.inner" }, - }, - }, }, + ---@param plugin LazyPlugin ---@param opts TSConfig - config = function(_, opts) - if type(opts.ensure_installed) == "table" then - opts.ensure_installed = LazyVim.dedup(opts.ensure_installed) + config = function(plugin, opts) + if vim.fn.executable("tree-sitter") == 0 then + LazyVim.error({ + "**treesitter-main** requires the `tree-sitter` CLI executable to be installed.", + "Run `:checkhealth nvim-treesitter` for more information.", + }) + return + end + if type(opts.ensure_installed) ~= "table" then + LazyVim.error("`nvim-treesitter` opts.ensure_installed must be a table") + end + + local TS = require("nvim-treesitter") + if not TS.get_installed then + LazyVim.error("Please use `:Lazy` and update `nvim-treesitter`") + return + end + TS.setup(opts) + + local needed = LazyVim.dedup(opts.ensure_installed --[[@as string[] ]]) + LazyVim.ui.installed = TS.get_installed("parsers") + + local install = vim.tbl_filter(function(lang) + return not LazyVim.ui.have(lang) + end, needed) + + if #install > 0 then + TS.install(install, { summary = true }):await(function() + LazyVim.ui.installed = TS.get_installed("parsers") + end) end - require("nvim-treesitter.configs").setup(opts) + + vim.api.nvim_create_autocmd("FileType", { + callback = function(ev) + if LazyVim.ui.have(ev.match) then + pcall(vim.treesitter.start) + end + end, + }) end, } ``` @@ -212,35 +164,47 @@ opts = {} ```lua { "nvim-treesitter/nvim-treesitter-textobjects", + branch = "main", event = "VeryLazy", - enabled = true, - config = function() - -- If treesitter is already loaded, we need to run config again for textobjects - if LazyVim.is_loaded("nvim-treesitter") then - local opts = LazyVim.opts("nvim-treesitter") - require("nvim-treesitter.configs").setup({ textobjects = opts.textobjects }) - end - - -- When in diff mode, we want to use the default - -- vim text objects c & C instead of the treesitter ones. - local move = require("nvim-treesitter.textobjects.move") ---@type table - local configs = require("nvim-treesitter.configs") - for name, fn in pairs(move) do - if name:find("goto") == 1 then - move[name] = function(q, ...) - if vim.wo.diff then - local config = configs.get_module("textobjects.move")[name] ---@type table - for key, query in pairs(config or {}) do - if q == query and key:find("[%]%[][cC]") then - vim.cmd("normal! " .. key) - return - end + opts = {}, + keys = function() + local moves = { + goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer", ["]a"] = "@parameter.inner" }, + goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer", ["]A"] = "@parameter.inner" }, + goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer", ["[a"] = "@parameter.inner" }, + goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer", ["[A"] = "@parameter.inner" }, + } + local ret = {} ---@type LazyKeysSpec[] + for method, keymaps in pairs(moves) do + for key, query in pairs(keymaps) do + local desc = query:gsub("@", ""):gsub("%..*", "") + desc = desc:sub(1, 1):upper() .. desc:sub(2) + desc = (key:sub(1, 1) == "[" and "Prev " or "Next ") .. desc + desc = desc .. (key:sub(2, 2) == key:sub(2, 2):upper() and " End" or " Start") + ret[#ret + 1] = { + key, + function() + -- don't use treesitter if in diff mode and the key is one of the c/C keys + if vim.wo.diff and key:find("[cC]") then + return vim.cmd("normal! " .. key) end - end - return fn(q, ...) - end + require("nvim-treesitter-textobjects.move")[method](query, "textobjects") + end, + desc = desc, + mode = { "n", "x", "o" }, + silent = true, + } end end + return ret + end, + config = function(_, opts) + local TS = require("nvim-treesitter-textobjects") + if not TS.setup then + LazyVim.error("Please use `:Lazy` and update `nvim-treesitter`") + return + end + TS.setup(opts) end, } ``` From 978784b4e2831a8a28f634d1f61c1edc0b35c088 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 09:21:43 +0000 Subject: [PATCH 114/187] chore(build): auto-generate docs --- docs/extras/lang/clangd.md | 6 ------ docs/extras/ui/edgy.md | 2 +- docs/extras/ui/mini-animate.md | 3 ++- docs/plugins/coding.md | 16 +++++++++++++--- docs/plugins/linting.md | 4 ++++ docs/plugins/ui.md | 3 ++- 6 files changed, 22 insertions(+), 12 deletions(-) diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index 7524bae379..442ef4d901 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -140,9 +140,6 @@ opts = { { "ch", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, }, root_markers = { - ".clangd", - ".clang-tidy", - ".clang-format", "compile_commands.json", "compile_flags.txt", "configure.ac", -- AutoTools @@ -200,9 +197,6 @@ opts = { { "ch", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, }, root_markers = { - ".clangd", - ".clang-tidy", - ".clang-format", "compile_commands.json", "compile_flags.txt", "configure.ac", -- AutoTools diff --git a/docs/extras/ui/edgy.md b/docs/extras/ui/edgy.md index 17414e16c2..fb0674244b 100644 --- a/docs/extras/ui/edgy.md +++ b/docs/extras/ui/edgy.md @@ -19,7 +19,7 @@ import TabItem from '@theme/TabItem'; ## [edgy.nvim](https://github.com/folke/edgy.nvim) - edgy + Create and display predefined window layouts. diff --git a/docs/extras/ui/mini-animate.md b/docs/extras/ui/mini-animate.md index 71e3753aaf..023f0174b9 100644 --- a/docs/extras/ui/mini-animate.md +++ b/docs/extras/ui/mini-animate.md @@ -52,7 +52,8 @@ opts = { ## [mini.animate](https://github.com/nvim-mini/mini.animate) - setup animate + Animates many common Neovim actions, like scrolling, + moving the cursor, and resizing windows. diff --git a/docs/plugins/coding.md b/docs/plugins/coding.md index 358dba09a6..d9fd2ab346 100644 --- a/docs/plugins/coding.md +++ b/docs/plugins/coding.md @@ -7,7 +7,9 @@ import TabItem from '@theme/TabItem'; ## [mini.pairs](https://github.com/nvim-mini/mini.pairs) - auto pairs + Auto pairs + Automatically inserts a matching closing character + when you type an opening character like `"`, `[`, or `(`. @@ -62,7 +64,9 @@ opts = { ## [ts-comments.nvim](https://github.com/folke/ts-comments.nvim) - comments + Improves comment syntax, lets Neovim handle multiple + types of comments for a single language, and relaxes rules + for uncommenting. @@ -92,7 +96,9 @@ opts = {} ## [mini.ai](https://github.com/nvim-mini/mini.ai) - Better text-objects + Extends the a & i text objects, this adds the ability to select + arguments, function calls, text within quotes and brackets, and to + repeat those selections to select an outer text object. @@ -174,6 +180,10 @@ end ## [lazydev.nvim](https://github.com/folke/lazydev.nvim) + Configures LuaLS to support auto-completion and type checking + while editing your Neovim configuration. + + diff --git a/docs/plugins/linting.md b/docs/plugins/linting.md index b0bfc8ece5..11392c5c6e 100644 --- a/docs/plugins/linting.md +++ b/docs/plugins/linting.md @@ -7,6 +7,10 @@ import TabItem from '@theme/TabItem'; ## [nvim-lint](https://github.com/mfussenegger/nvim-lint) + Asynchronously calls language-specific linter tools and reports + their results via the `vim.diagnostic` module. + + diff --git a/docs/plugins/ui.md b/docs/plugins/ui.md index fe0e4436ce..6eedca753c 100644 --- a/docs/plugins/ui.md +++ b/docs/plugins/ui.md @@ -121,7 +121,8 @@ opts = { ## [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) - statusline + Displays a fancy status line with git status, + LSP diagnostics, filetype information, and more. From e45dde8415180ad9d72e9272559723cf8d2fe04a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 14:19:41 +0000 Subject: [PATCH 115/187] chore(build): auto-generate docs --- docs/configuration/general.md | 4 ++-- docs/plugins/treesitter.md | 43 +++++++++++++++++------------------ 2 files changed, 23 insertions(+), 24 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 07268ef1fe..9c47dbe553 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -120,7 +120,7 @@ opt.fillchars = { diff = "╱", eob = " ", } -opt.foldexpr = "v:lua.LazyVim.ui.foldexpr()" -- treesitter folds +opt.foldexpr = "v:lua.LazyVim.treesitter.foldexpr()" -- treesitter folds opt.foldlevel = 99 opt.foldmethod = "expr" opt.foldtext = "" @@ -130,7 +130,7 @@ opt.grepformat = "%f:%l:%c:%m" opt.grepprg = "rg --vimgrep" opt.ignorecase = true -- Ignore case opt.inccommand = "nosplit" -- preview incremental substitute -opt.indentexpr = "v:lua.LazyVim.ui.indentexpr()" -- treesitter indents +opt.indentexpr = "v:lua.LazyVim.treesitter.indentexpr()" -- treesitter indents opt.jumpoptions = "view" opt.laststatus = 3 -- global statusline opt.linebreak = true -- Wrap lines at convenient points diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 555361ef8c..3fa2892c2f 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -18,6 +18,7 @@ import TabItem from '@theme/TabItem'; ```lua opts = { + -- LazyVim config for treesitter ensure_installed = { "bash", "c", @@ -69,7 +70,9 @@ opts = { event = { "LazyFile", "VeryLazy" }, cmd = { "TSUpdate", "TSInstall", "TSLog", "TSUninstall" }, opts_extend = { "ensure_installed" }, + ---@class lazyvim.TSConfig: TSConfig opts = { + -- LazyVim config for treesitter ensure_installed = { "bash", "c", @@ -97,43 +100,39 @@ opts = { "yaml", }, }, - ---@param plugin LazyPlugin - ---@param opts TSConfig - config = function(plugin, opts) - if vim.fn.executable("tree-sitter") == 0 then - LazyVim.error({ + ---@param opts lazyvim.TSConfig + config = function(_, opts) + local TS = require("nvim-treesitter") + + -- some quick sanity checks + if not TS.get_installed then + return LazyVim.error("Please use `:Lazy` and update `nvim-treesitter`") + elseif vim.fn.executable("tree-sitter") == 0 then + return LazyVim.error({ "**treesitter-main** requires the `tree-sitter` CLI executable to be installed.", "Run `:checkhealth nvim-treesitter` for more information.", }) - return - end - if type(opts.ensure_installed) ~= "table" then - LazyVim.error("`nvim-treesitter` opts.ensure_installed must be a table") + elseif type(opts.ensure_installed) ~= "table" then + return LazyVim.error("`nvim-treesitter` opts.ensure_installed must be a table") end - local TS = require("nvim-treesitter") - if not TS.get_installed then - LazyVim.error("Please use `:Lazy` and update `nvim-treesitter`") - return - end + -- setup treesitter TS.setup(opts) - local needed = LazyVim.dedup(opts.ensure_installed --[[@as string[] ]]) - LazyVim.ui.installed = TS.get_installed("parsers") - + -- install missing parsers local install = vim.tbl_filter(function(lang) - return not LazyVim.ui.have(lang) - end, needed) - + return not LazyVim.treesitter.have(lang) + end, opts.ensure_installed or {}) if #install > 0 then TS.install(install, { summary = true }):await(function() - LazyVim.ui.installed = TS.get_installed("parsers") + LazyVim.treesitter.get_installed(true) -- refresh the installed langs end) end + -- treesitter highlighting vim.api.nvim_create_autocmd("FileType", { callback = function(ev) - if LazyVim.ui.have(ev.match) then + if LazyVim.treesitter.have(ev.match) then pcall(vim.treesitter.start) end end, From af4be7b0b9faf47a1c5a08a342d76ddb7e127024 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 15:21:38 +0000 Subject: [PATCH 116/187] chore(build): auto-generate docs --- docs/extras/lang/python.md | 12 ++++-------- docs/plugins/treesitter.md | 2 +- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/docs/extras/lang/python.md b/docs/extras/lang/python.md index e14dfa310d..181e096d38 100644 --- a/docs/extras/lang/python.md +++ b/docs/extras/lang/python.md @@ -259,10 +259,8 @@ opts = {} ```lua opts = { - settings = { - options = { - notify_user_on_venv_activation = true, - }, + options = { + notify_user_on_venv_activation = true, }, } ``` @@ -277,10 +275,8 @@ opts = { "linux-cultist/venv-selector.nvim", cmd = "VenvSelect", opts = { - settings = { - options = { - notify_user_on_venv_activation = true, - }, + options = { + notify_user_on_venv_activation = true, }, }, -- Call config for Python files and load the cached venv automatically diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 3fa2892c2f..d06267aaea 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -64,7 +64,7 @@ opts = { LazyVim.error("Please restart Neovim and run `:TSUpdate` to use the `nvim-treesitter` **main** branch.") return end - vim.cmd.TSUpdate() + TS.update(nil, { summary = true }) end, lazy = vim.fn.argc(-1) == 0, -- load treesitter early when opening a file from the cmdline event = { "LazyFile", "VeryLazy" }, From 28d4da476ff9c31dbb45873690736872836432b3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 21:17:53 +0000 Subject: [PATCH 117/187] chore(build): auto-generate docs --- docs/configuration/general.md | 2 +- docs/plugins/treesitter.md | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 9c47dbe553..4e429fd642 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -124,7 +124,7 @@ opt.foldexpr = "v:lua.LazyVim.treesitter.foldexpr()" -- treesitter folds opt.foldlevel = 99 opt.foldmethod = "expr" opt.foldtext = "" -opt.formatexpr = "v:lua.require'lazyvim.util'.format.formatexpr()" +opt.formatexpr = "v:lua.LazyVim.format.formatexpr()" opt.formatoptions = "jcroqlnt" -- tcqj opt.grepformat = "%f:%l:%c:%m" opt.grepprg = "rg --vimgrep" diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index d06267aaea..82b4c31c5e 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -131,9 +131,18 @@ opts = { -- treesitter highlighting vim.api.nvim_create_autocmd("FileType", { + group = vim.api.nvim_create_augroup("lazyvim_treesitter", { clear = true }), callback = function(ev) if LazyVim.treesitter.have(ev.match) then pcall(vim.treesitter.start) + + -- check if ftplugins changed foldexpr/indentexpr + for _, option in ipairs({ "foldexpr", "indentexpr" }) do + local expr = "v:lua.LazyVim.treesitter." .. option .. "()" + if vim.opt_global[option]:get() == expr then + vim.opt_local[option] = expr + end + end end end, }) From 275934155c2baae417dbe8dcd7d26d5cb2ad5f6c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 17 Sep 2025 22:17:09 +0000 Subject: [PATCH 118/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 82b4c31c5e..0b37b771c0 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -119,6 +119,8 @@ opts = { -- setup treesitter TS.setup(opts) + LazyVim.treesitter.get_installed(true) -- initialize the installed langs + -- install missing parsers local install = vim.tbl_filter(function(lang) return not LazyVim.treesitter.have(lang) From c942d50bf20d419e632cc23e405cc1a6b7e4abf9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 18 Sep 2025 08:26:59 +0000 Subject: [PATCH 119/187] chore(build): auto-generate docs --- docs/configuration/general.md | 6 ++--- docs/plugins/lsp.md | 1 + docs/plugins/treesitter.md | 47 +++++++++++++++++++++-------------- 3 files changed, 32 insertions(+), 22 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 4e429fd642..400eecc89d 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -120,9 +120,8 @@ opt.fillchars = { diff = "╱", eob = " ", } -opt.foldexpr = "v:lua.LazyVim.treesitter.foldexpr()" -- treesitter folds opt.foldlevel = 99 -opt.foldmethod = "expr" +opt.foldmethod = "indent" opt.foldtext = "" opt.formatexpr = "v:lua.LazyVim.format.formatexpr()" opt.formatoptions = "jcroqlnt" -- tcqj @@ -130,7 +129,6 @@ opt.grepformat = "%f:%l:%c:%m" opt.grepprg = "rg --vimgrep" opt.ignorecase = true -- Ignore case opt.inccommand = "nosplit" -- preview incremental substitute -opt.indentexpr = "v:lua.LazyVim.treesitter.indentexpr()" -- treesitter indents opt.jumpoptions = "view" opt.laststatus = 3 -- global statusline opt.linebreak = true -- Wrap lines at convenient points @@ -156,7 +154,7 @@ opt.spelllang = { "en" } opt.splitbelow = true -- Put new windows below current opt.splitkeep = "screen" opt.splitright = true -- Put new windows right of current -opt.statuscolumn = [[%!v:lua.require'snacks.statuscolumn'.get()]] +opt.statuscolumn = [[%!v:lua.LazyVim.statuscolumn()]] opt.tabstop = 2 -- Number of spaces tabs count for opt.termguicolors = true -- True color support opt.timeoutlen = vim.g.vscode and 1000 or 300 -- Lower than default (1000) to quickly trigger which-key diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index eaf00cad7c..3a88790d76 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -303,6 +303,7 @@ end LazyVim.lsp.on_supports_method("textDocument/foldingRange", function(client, buffer) local win = vim.api.nvim_get_current_win() vim.wo[win][0].foldexpr = "v:lua.vim.lsp.foldexpr()" + vim.wo[win][0].foldmethod = "expr" end) end diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 0b37b771c0..ae6e2f929b 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -19,6 +19,9 @@ import TabItem from '@theme/TabItem'; ```lua opts = { -- LazyVim config for treesitter + indent = { enable = true }, + highlight = { enable = true }, + folds = { enable = true }, ensure_installed = { "bash", "c", @@ -64,7 +67,9 @@ opts = { LazyVim.error("Please restart Neovim and run `:TSUpdate` to use the `nvim-treesitter` **main** branch.") return end - TS.update(nil, { summary = true }) + LazyVim.treesitter.ensure_treesitter_cli(function() + TS.update(nil, { summary = true }) + end) end, lazy = vim.fn.argc(-1) == 0, -- load treesitter early when opening a file from the cmdline event = { "LazyFile", "VeryLazy" }, @@ -73,6 +78,9 @@ opts = { ---@class lazyvim.TSConfig: TSConfig opts = { -- LazyVim config for treesitter + indent = { enable = true }, + highlight = { enable = true }, + folds = { enable = true }, ensure_installed = { "bash", "c", @@ -107,18 +115,12 @@ opts = { -- some quick sanity checks if not TS.get_installed then return LazyVim.error("Please use `:Lazy` and update `nvim-treesitter`") - elseif vim.fn.executable("tree-sitter") == 0 then - return LazyVim.error({ - "**treesitter-main** requires the `tree-sitter` CLI executable to be installed.", - "Run `:checkhealth nvim-treesitter` for more information.", - }) elseif type(opts.ensure_installed) ~= "table" then return LazyVim.error("`nvim-treesitter` opts.ensure_installed must be a table") end -- setup treesitter TS.setup(opts) - LazyVim.treesitter.get_installed(true) -- initialize the installed langs -- install missing parsers @@ -126,25 +128,34 @@ opts = { return not LazyVim.treesitter.have(lang) end, opts.ensure_installed or {}) if #install > 0 then - TS.install(install, { summary = true }):await(function() - LazyVim.treesitter.get_installed(true) -- refresh the installed langs + LazyVim.treesitter.ensure_treesitter_cli(function() + TS.install(install, { summary = true }):await(function() + LazyVim.treesitter.get_installed(true) -- refresh the installed langs + end) end) end - -- treesitter highlighting vim.api.nvim_create_autocmd("FileType", { group = vim.api.nvim_create_augroup("lazyvim_treesitter", { clear = true }), callback = function(ev) - if LazyVim.treesitter.have(ev.match) then + if not LazyVim.treesitter.have(ev.match) then + return + end + + -- highlighting + if vim.tbl_get(opts, "highlight", "enable") ~= false then pcall(vim.treesitter.start) + end - -- check if ftplugins changed foldexpr/indentexpr - for _, option in ipairs({ "foldexpr", "indentexpr" }) do - local expr = "v:lua.LazyVim.treesitter." .. option .. "()" - if vim.opt_global[option]:get() == expr then - vim.opt_local[option] = expr - end - end + -- indents + if vim.tbl_get(opts, "indent", "enable") ~= false then + vim.bo[ev.buf].indentexpr = "v:lua.LazyVim.treesitter.indentexpr()" + end + + -- folds + if vim.tbl_get(opts, "folds", "enable") ~= false then + vim.wo.foldmethod = "expr" + vim.wo.foldexpr = "v:lua.LazyVim.treesitter.foldexpr()" end end, }) From 65a2d528fbff22e1c26d779d39926fd8c6d6c534 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 18 Sep 2025 11:16:45 +0000 Subject: [PATCH 120/187] chore(build): auto-generate docs --- docs/extras/lang/java.md | 8 ++++++-- docs/extras/lang/ocaml.md | 38 ++++++++++++++++++++++++++------------ 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index fe44b53b5d..55568633b4 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -139,7 +139,9 @@ opts = function() table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) end return { - root_dir = require("lspconfig.util").root_pattern(vim.lsp.config.jdtls.root_markers), + root_dir = function(path) + return vim.fs.root(path, vim.lsp.config.jdtls.root_markers) + end, -- How to find the project name for a given root dir. project_name = function(root_dir) @@ -208,7 +210,9 @@ end table.insert(cmd, string.format("--jvm-arg=-javaagent:%s", lombok_jar)) end return { - root_dir = require("lspconfig.util").root_pattern(vim.lsp.config.jdtls.root_markers), + root_dir = function(path) + return vim.fs.root(path, vim.lsp.config.jdtls.root_markers) + end, -- How to find the project name for a given root dir. project_name = function(root_dir) diff --git a/docs/extras/lang/ocaml.md b/docs/extras/lang/ocaml.md index 15aea82b9c..4174ad4412 100644 --- a/docs/extras/lang/ocaml.md +++ b/docs/extras/lang/ocaml.md @@ -69,12 +69,19 @@ opts = { "reason", "dune", }, - root_dir = function(bufnr, on_dir) - local util = require("lspconfig.util") - local fname = vim.api.nvim_buf_get_name(bufnr) - --stylua: ignore - on_dir(util.root_pattern("*.opam", "esy.json", "package.json", ".git", "dune-project", "dune-workspace", "*.ml")( fname)) - end, + root_markers = { + function(name) + return name:match(".*%.opam$") + end, + "esy.json", + "package.json", + ".git", + "dune-project", + "dune-workspace", + function(name) + return name:match(".*%.ml$") + end, + }, }, }, } @@ -99,12 +106,19 @@ opts = { "reason", "dune", }, - root_dir = function(bufnr, on_dir) - local util = require("lspconfig.util") - local fname = vim.api.nvim_buf_get_name(bufnr) - --stylua: ignore - on_dir(util.root_pattern("*.opam", "esy.json", "package.json", ".git", "dune-project", "dune-workspace", "*.ml")( fname)) - end, + root_markers = { + function(name) + return name:match(".*%.opam$") + end, + "esy.json", + "package.json", + ".git", + "dune-project", + "dune-workspace", + function(name) + return name:match(".*%.ml$") + end, + }, }, }, }, From c226b496eee08d115114b9ebb96320b95d375f99 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 18 Sep 2025 12:42:14 +0000 Subject: [PATCH 121/187] chore(build): auto-generate docs --- docs/plugins/lsp.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 3a88790d76..4bc6aef9ad 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -157,7 +157,7 @@ end ```lua { "neovim/nvim-lspconfig", - event = { "BufReadPre", "BufNewFile", "BufWritePre" }, + event = "LazyFile", dependencies = { "mason.nvim", { "mason-org/mason-lspconfig.nvim", config = function() end }, @@ -273,7 +273,7 @@ end return ret end, ---@param opts PluginLspOpts - config = function(_, opts) + config = vim.schedule_wrap(function(_, opts) -- setup autoformat LazyVim.format.register(LazyVim.lsp.formatter()) @@ -411,7 +411,7 @@ end resolve("denols") resolve("vtsls") end - end, + end), } ``` From 603743a78d4742e760526c9cf93079ff67bb891e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 18 Sep 2025 20:23:04 +0000 Subject: [PATCH 122/187] chore(build): auto-generate docs --- docs/plugins/lsp.md | 6 +++--- docs/plugins/treesitter.md | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 4bc6aef9ad..6cc999eff4 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -301,9 +301,9 @@ end -- folds if opts.folds.enabled then LazyVim.lsp.on_supports_method("textDocument/foldingRange", function(client, buffer) - local win = vim.api.nvim_get_current_win() - vim.wo[win][0].foldexpr = "v:lua.vim.lsp.foldexpr()" - vim.wo[win][0].foldmethod = "expr" + if LazyVim.set_default("foldmethod", "expr") then + LazyVim.set_default("foldexpr", "v:lua.vim.lsp.foldexpr()") + end end) end diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index ae6e2f929b..1fb3c6a6bc 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -149,13 +149,14 @@ opts = { -- indents if vim.tbl_get(opts, "indent", "enable") ~= false then - vim.bo[ev.buf].indentexpr = "v:lua.LazyVim.treesitter.indentexpr()" + LazyVim.set_default("indentexpr", "v:lua.LazyVim.treesitter.indentexpr()") end -- folds if vim.tbl_get(opts, "folds", "enable") ~= false then - vim.wo.foldmethod = "expr" - vim.wo.foldexpr = "v:lua.LazyVim.treesitter.foldexpr()" + if LazyVim.set_default("foldmethod", "expr") then + LazyVim.set_default("foldexpr", "v:lua.LazyVim.treesitter.foldexpr()") + end end end, }) From 2ba4bd259b860ba01f5e16e4492b29ef0c99fc42 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 19 Sep 2025 06:31:08 +0000 Subject: [PATCH 123/187] chore(build): auto-generate docs --- docs/plugins/lsp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 6cc999eff4..4101d57776 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -390,7 +390,7 @@ end }) end - if vim.lsp.is_enabled("denols") and vim.lsp.is_enabled("vtsls") then + if vim.lsp.is_enabled and vim.lsp.is_enabled("denols") and vim.lsp.is_enabled("vtsls") then ---@param server string local resolve = function(server) local markers, root_dir = vim.lsp.config[server].root_markers, vim.lsp.config[server].root_dir From a08cd37158335d3d0edda8270cec5c6a5212def9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 19 Sep 2025 07:19:57 +0000 Subject: [PATCH 124/187] chore(build): auto-generate docs --- docs/extras/lang/clojure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/extras/lang/clojure.md b/docs/extras/lang/clojure.md index f70bbc9fb6..c8d2afadf6 100644 --- a/docs/extras/lang/clojure.md +++ b/docs/extras/lang/clojure.md @@ -71,7 +71,7 @@ opts = nil -## [nvim-treesitter-sexp](https://github.com/PaterJason/nvim-treesitter-sexp) +## [nvim-paredit](https://github.com/julienvincent/nvim-paredit) Add s-exp mappings @@ -90,7 +90,7 @@ opts = {} ```lua -{ "PaterJason/nvim-treesitter-sexp", opts = {}, event = "LazyFile" } +{ "julienvincent/nvim-paredit", opts = {}, event = "LazyFile" } ``` From c9e07ec0018757649e9effe734ff2257585a783d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 19 Sep 2025 10:22:22 +0000 Subject: [PATCH 125/187] chore(build): auto-generate docs --- docs/extras/coding/yanky.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/extras/coding/yanky.md b/docs/extras/coding/yanky.md index 246b6db7c3..3344e6a59d 100644 --- a/docs/extras/coding/yanky.md +++ b/docs/extras/coding/yanky.md @@ -51,6 +51,8 @@ opts = { function() if LazyVim.pick.picker.name == "telescope" then require("telescope").extensions.yank_history.yank_history({}) + elseif LazyVim.pick.picker.name == "snacks" then + Snacks.picker.yanky() else vim.cmd([[YankyRingHistory]]) end From ef3097330be3dbdbae7e3366f3a6171cefc3433c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 19 Sep 2025 18:28:53 +0000 Subject: [PATCH 126/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 1fb3c6a6bc..0bdf3bac18 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -148,12 +148,12 @@ opts = { end -- indents - if vim.tbl_get(opts, "indent", "enable") ~= false then + if vim.tbl_get(opts, "indent", "enable") ~= false and LazyVim.treesitter.have(ev.match, "indents") then LazyVim.set_default("indentexpr", "v:lua.LazyVim.treesitter.indentexpr()") end -- folds - if vim.tbl_get(opts, "folds", "enable") ~= false then + if vim.tbl_get(opts, "folds", "enable") ~= false and LazyVim.treesitter.have(ev.match, "folds") then if LazyVim.set_default("foldmethod", "expr") then LazyVim.set_default("foldexpr", "v:lua.LazyVim.treesitter.foldexpr()") end From 77b8b5b59ddde44ea158346989c028dccabf5b0b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 20 Sep 2025 12:39:03 +0000 Subject: [PATCH 127/187] chore(build): auto-generate docs --- docs/extras/lang/clojure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/extras/lang/clojure.md b/docs/extras/lang/clojure.md index c8d2afadf6..ad7350c28a 100644 --- a/docs/extras/lang/clojure.md +++ b/docs/extras/lang/clojure.md @@ -225,7 +225,7 @@ opts = {} ```lua opts = function(_, opts) if type(opts.sources) == "table" then - vim.list_extend(opts.sources, { name = "clojure" }) + vim.list_extend(opts.sources, { name = "conjure" }) end end ``` @@ -244,7 +244,7 @@ end }, opts = function(_, opts) if type(opts.sources) == "table" then - vim.list_extend(opts.sources, { name = "clojure" }) + vim.list_extend(opts.sources, { name = "conjure" }) end end, } From 35987ee231bcc0a4a013da6afe18e8f033d69ef9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 20 Sep 2025 14:16:41 +0000 Subject: [PATCH 128/187] chore(build): auto-generate docs --- docs/extras/editor/fzf.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index cf2db117a0..bccd92f3ea 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -111,7 +111,7 @@ opts = function(_, opts) winopts = { layout = "vertical", -- height is number of items minus 15 lines for the preview, with a max of 80% screen height - height = math.floor(math.min(vim.o.lines * 0.8 - 16, #items + 2) + 0.5) + 16, + height = math.floor(math.min(vim.o.lines * 0.8 - 16, #items + 4) + 0.5) + 16, width = 0.5, preview = not vim.tbl_isempty(vim.lsp.get_clients({ bufnr = 0, name = "vtsls" })) and { layout = "vertical", @@ -126,7 +126,7 @@ opts = function(_, opts) winopts = { width = 0.5, -- height is number of items, with a max of 80% screen height - height = math.floor(math.min(vim.o.lines * 0.8, #items + 2) + 0.5), + height = math.floor(math.min(vim.o.lines * 0.8, #items + 4) + 0.5), }, }) end, @@ -256,7 +256,7 @@ end winopts = { layout = "vertical", -- height is number of items minus 15 lines for the preview, with a max of 80% screen height - height = math.floor(math.min(vim.o.lines * 0.8 - 16, #items + 2) + 0.5) + 16, + height = math.floor(math.min(vim.o.lines * 0.8 - 16, #items + 4) + 0.5) + 16, width = 0.5, preview = not vim.tbl_isempty(vim.lsp.get_clients({ bufnr = 0, name = "vtsls" })) and { layout = "vertical", @@ -271,7 +271,7 @@ end winopts = { width = 0.5, -- height is number of items, with a max of 80% screen height - height = math.floor(math.min(vim.o.lines * 0.8, #items + 2) + 0.5), + height = math.floor(math.min(vim.o.lines * 0.8, #items + 4) + 0.5), }, }) end, From ea9fb5f9c972f7c0d74af2ade748b6d56f33eefc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 21 Sep 2025 09:18:31 +0000 Subject: [PATCH 129/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 0bdf3bac18..53cae03fae 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -112,6 +112,21 @@ opts = { config = function(_, opts) local TS = require("nvim-treesitter") + setmetatable(require("nvim-treesitter.install"), { + __newindex = function(_, k) + if k == "compilers" then + vim.schedule(function() + LazyVim.error({ + "Setting custom compilers for `nvim-treesitter` is no longer supported.", + "", + "For more info, see:", + "- [compilers](https://docs.rs/cc/latest/cc/#compile-time-requirements)", + }) + end) + end + end, + }) + -- some quick sanity checks if not TS.get_installed then return LazyVim.error("Please use `:Lazy` and update `nvim-treesitter`") From 7b533f317c59c353b036edd8f796bf52a877b0cf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 21 Sep 2025 10:18:54 +0000 Subject: [PATCH 130/187] chore(build): auto-generate docs --- docs/extras/lang/typescript.md | 44 ++++++++++++++++++++++++++++++++++ docs/plugins/lsp.md | 22 ----------------- 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index d09706fe62..755dff1beb 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -142,6 +142,28 @@ opts = { return true end, vtsls = function(_, opts) + if vim.lsp.config.denols and vim.lsp.config.vtsls then + ---@param server string + local resolve = function(server) + local markers, root_dir = vim.lsp.config[server].root_markers, vim.lsp.config[server].root_dir + vim.lsp.config(server, { + root_dir = function(bufnr, on_dir) + local is_deno = vim.fs.root(bufnr, { "deno.json", "deno.jsonc" }) ~= nil + if is_deno == (server == "denols") then + if root_dir then + return root_dir(bufnr, on_dir) + elseif type(markers) == "table" then + local root = vim.fs.root(bufnr, markers) + return root and on_dir(root) + end + end + end, + }) + end + resolve("denols") + resolve("vtsls") + end + LazyVim.lsp.on_attach(function(client, buffer) client.commands["_typescript.moveToFileRefactoring"] = function(command, ctx) ---@type string, string, lsp.Range @@ -323,6 +345,28 @@ opts = { return true end, vtsls = function(_, opts) + if vim.lsp.config.denols and vim.lsp.config.vtsls then + ---@param server string + local resolve = function(server) + local markers, root_dir = vim.lsp.config[server].root_markers, vim.lsp.config[server].root_dir + vim.lsp.config(server, { + root_dir = function(bufnr, on_dir) + local is_deno = vim.fs.root(bufnr, { "deno.json", "deno.jsonc" }) ~= nil + if is_deno == (server == "denols") then + if root_dir then + return root_dir(bufnr, on_dir) + elseif type(markers) == "table" then + local root = vim.fs.root(bufnr, markers) + return root and on_dir(root) + end + end + end, + }) + end + resolve("denols") + resolve("vtsls") + end + LazyVim.lsp.on_attach(function(client, buffer) client.commands["_typescript.moveToFileRefactoring"] = function(command, ctx) ---@type string, string, lsp.Range diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 4101d57776..bbc81fedc4 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -389,28 +389,6 @@ end }, }) end - - if vim.lsp.is_enabled and vim.lsp.is_enabled("denols") and vim.lsp.is_enabled("vtsls") then - ---@param server string - local resolve = function(server) - local markers, root_dir = vim.lsp.config[server].root_markers, vim.lsp.config[server].root_dir - vim.lsp.config(server, { - root_dir = function(bufnr, on_dir) - local is_deno = vim.fs.root(bufnr, { "deno.json", "deno.jsonc" }) ~= nil - if is_deno == (server == "denols") then - if root_dir then - return root_dir(bufnr, on_dir) - elseif type(markers) == "table" then - local root = vim.fs.root(bufnr, markers) - return root and on_dir(root) - end - end - end, - }) - end - resolve("denols") - resolve("vtsls") - end end), } ``` From ebf25f5d2f1c924959af71b156712fd921766bab Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 21 Sep 2025 11:14:47 +0000 Subject: [PATCH 131/187] chore(build): auto-generate docs --- docs/plugins/lsp.md | 53 +++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 33 deletions(-) diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index bbc81fedc4..2140482379 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -98,7 +98,8 @@ opts = function() timeout_ms = nil, }, -- LSP Server Settings - ---@type table + ---@alias lazyvim.lsp.Config vim.lsp.Config|{mason?:boolean, enabled?:boolean} + ---@type table servers = { lua_ls = { -- mason = false, -- set to false if you don't want this server to be installed with mason @@ -223,7 +224,8 @@ end timeout_ms = nil, }, -- LSP Server Settings - ---@type table + ---@alias lazyvim.lsp.Config vim.lsp.Config|{mason?:boolean, enabled?:boolean} + ---@type table servers = { lua_ls = { -- mason = false, -- set to false if you don't want this server to be installed with mason @@ -342,51 +344,36 @@ end and vim.tbl_keys(require("mason-lspconfig.mappings").get_mason_map().lspconfig_to_package) or {} --[[ @as string[] ]] - local exclude_automatic_enable = {} ---@type string[] - + ---@return boolean? exclude automatic setup local function configure(server) - local server_opts = opts.servers[server] or {} + local sopts = opts.servers[server] + sopts = sopts == true and {} or (not sopts) and { enabled = false } or sopts --[[@as lazyvim.lsp.Config]] + if sopts.enabled == false then + return true + end local setup = opts.setup[server] or opts.setup["*"] - if setup and setup(server, server_opts) then - return true -- lsp will be setup by the setup function + if setup and setup(server, sopts) then + return true -- lsp will be configured and enabled by the setup function end - vim.lsp.config(server, server_opts) + vim.lsp.config(server, sopts) -- configure the server -- manually enable if mason=false or if this is a server that cannot be installed with mason-lspconfig - if server_opts.mason == false or not vim.tbl_contains(mason_all, server) then + if sopts.mason == false or not vim.tbl_contains(mason_all, server) then vim.lsp.enable(server) return true end - return false - end - - local ensure_installed = {} ---@type string[] - for server, server_opts in pairs(opts.servers) do - server_opts = server_opts == true and {} or server_opts or false - if server_opts and server_opts.enabled ~= false then - -- run manual setup if mason=false or if this is a server that cannot be installed with mason-lspconfig - if configure(server) then - exclude_automatic_enable[#exclude_automatic_enable + 1] = server - else - ensure_installed[#ensure_installed + 1] = server - end - else - exclude_automatic_enable[#exclude_automatic_enable + 1] = server - end end + local servers = vim.tbl_keys(opts.servers) + local exclude = vim.tbl_filter(configure, servers) if have_mason then require("mason-lspconfig").setup({ - ensure_installed = vim.tbl_deep_extend( - "force", - ensure_installed, - LazyVim.opts("mason-lspconfig.nvim").ensure_installed or {} - ), - automatic_enable = { - exclude = exclude_automatic_enable, - }, + ensure_installed = vim.tbl_filter(function(server) + return not vim.tbl_contains(exclude, server) + end, vim.list_extend(servers, LazyVim.opts("mason-lspconfig.nvim").ensure_installed or {})), + automatic_enable = { exclude = exclude }, }) end end), From 01bb9b627822d1e4e03e392686d6b957d4838633 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 21 Sep 2025 13:23:02 +0000 Subject: [PATCH 132/187] chore(build): auto-generate docs --- docs/extras/ai/copilot.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index a6a4faccde..0e233af0fa 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -178,7 +178,7 @@ opts = {} -## [blink-cmp-copilot](https://github.com/giuxtaposition/blink-cmp-copilot) +## [blink-copilot](https://github.com/fang2hou/blink-copilot) @@ -194,7 +194,7 @@ opts = nil ```lua -{ "giuxtaposition/blink-cmp-copilot" } +{ "fang2hou/blink-copilot" } ``` @@ -367,8 +367,7 @@ opts = { providers = { copilot = { name = "copilot", - module = "blink-cmp-copilot", - kind = "Copilot", + module = "blink-copilot", score_offset = 100, async = true, }, @@ -386,15 +385,14 @@ opts = { { "saghen/blink.cmp", optional = true, - dependencies = { "giuxtaposition/blink-cmp-copilot" }, + dependencies = { "fang2hou/blink-copilot" }, opts = { sources = { default = { "copilot" }, providers = { copilot = { name = "copilot", - module = "blink-cmp-copilot", - kind = "Copilot", + module = "blink-copilot", score_offset = 100, async = true, }, From 760e88b1bf22e4f40b91189038333eed922f3d55 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 21 Sep 2025 14:16:34 +0000 Subject: [PATCH 133/187] chore(build): auto-generate docs --- docs/configuration/general.md | 6 +++--- docs/keymaps.md | 3 +++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 400eecc89d..fe40d21fbb 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -355,12 +355,12 @@ end if vim.fn.executable("lazygit") == 1 then map("n", "gg", function() Snacks.lazygit( { cwd = LazyVim.root.git() }) end, { desc = "Lazygit (Root Dir)" }) map("n", "gG", function() Snacks.lazygit() end, { desc = "Lazygit (cwd)" }) - map("n", "gf", function() Snacks.picker.git_log_file() end, { desc = "Git Current File History" }) - map("n", "gl", function() Snacks.picker.git_log({ cwd = LazyVim.root.git() }) end, { desc = "Git Log" }) - map("n", "gL", function() Snacks.picker.git_log() end, { desc = "Git Log (cwd)" }) end +map("n", "gL", function() Snacks.picker.git_log() end, { desc = "Git Log (cwd)" }) map("n", "gb", function() Snacks.picker.git_log_line() end, { desc = "Git Blame Line" }) +map("n", "gf", function() Snacks.picker.git_log_file() end, { desc = "Git Current File History" }) +map("n", "gl", function() Snacks.picker.git_log({ cwd = LazyVim.root.git() }) end, { desc = "Git Log" }) map({ "n", "x" }, "gB", function() Snacks.gitbrowse() end, { desc = "Git Browse (open)" }) map({"n", "x" }, "gY", function() Snacks.gitbrowse({ open = function(url) vim.fn.setreg("+", url) end, notify = false }) diff --git a/docs/keymaps.md b/docs/keymaps.md index 4aabd90732..80479ed165 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -82,7 +82,10 @@ possible keymaps starting with ``. | <leader>dpp | Toggle Profiler | **n** | | <leader>dph | Toggle Profiler Highlights | **n** | | <leader>uh | Toggle Inlay Hints | **n** | +| <leader>gL | Git Log (cwd) | **n** | | <leader>gb | Git Blame Line | **n** | +| <leader>gf | Git Current File History | **n** | +| <leader>gl | Git Log | **n** | | <leader>gB | Git Browse (open) | **n**, **x** | | <leader>gY | Git Browse (copy) | **n**, **x** | | <leader>qq | Quit All | **n** | From 7a4d337529ac31d0abbb85c61524b8e242972336 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 22 Sep 2025 12:44:34 +0000 Subject: [PATCH 134/187] chore(build): auto-generate docs --- docs/extras/lang/java.md | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 55568633b4..e48f00b1cf 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -88,11 +88,6 @@ opts = { servers = { jdtls = {}, }, - setup = { - jdtls = function() - return true -- avoid duplicate servers - end, - }, } ``` @@ -109,11 +104,6 @@ opts = { servers = { jdtls = {}, }, - setup = { - jdtls = function() - return true -- avoid duplicate servers - end, - }, }, } ``` @@ -269,19 +259,10 @@ end if LazyVim.has("mason.nvim") then local mason_registry = require("mason-registry") if opts.dap and LazyVim.has("nvim-dap") and mason_registry.is_installed("java-debug-adapter") then - local jar_patterns = { - vim.fn.expand("$MASON/share/java-debug-adapter/com.microsoft.java.debug.plugin-*.jar"), - } + bundles = vim.fn.glob("$MASON/share/java-debug-adapter/com.microsoft.java.debug.plugin-*jar", false, true) -- java-test also depends on java-debug-adapter. if opts.test and mason_registry.is_installed("java-test") then - vim.list_extend(jar_patterns, { - vim.fn.expand("$MASON/share/java-test/*.jar"), - }) - end - for _, jar_pattern in ipairs(jar_patterns) do - for _, bundle in ipairs(vim.split(vim.fn.glob(jar_pattern), "\n")) do - table.insert(bundles, bundle) - end + vim.list_extend(bundles, vim.fn.glob("$MASON/share/java-test/*.jar", false, true)) end end end From 3fcf7582d7f6bbe1a074e1cb3e936af9f5cb72f0 Mon Sep 17 00:00:00 2001 From: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com> Date: Mon, 22 Sep 2025 23:08:41 +0300 Subject: [PATCH 135/187] fix(docs): add `tree-sitter-cli` and update link to main branch requirements (#160) --- docs/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/intro.md b/docs/intro.md index 8f8a13becb..aaa19e8bc9 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -28,7 +28,7 @@ to make it easy to customize and extend your config. - Git >= **2.19.0** (for partial clones support) - a [Nerd Font](https://www.nerdfonts.com/)(v3.0 or greater) **_(optional, but needed to display some icons)_** - [lazygit](https://github.com/jesseduffield/lazygit) **_(optional)_** -- a **C** compiler for `nvim-treesitter`. See [here](https://github.com/nvim-treesitter/nvim-treesitter#requirements) +- **tree-sitter-cli** and a **C** compiler for `nvim-treesitter`. See [here](https://github.com/nvim-treesitter/nvim-treesitter/tree/main?tab=readme-ov-file#requirements) - **curl** for [blink.cmp](https://github.com/Saghen/blink.cmp) **(completion engine)** - for [fzf-lua](https://github.com/ibhagwan/fzf-lua) **_(optional)_** - **fzf**: [fzf](https://github.com/junegunn/fzf) **(v0.25.1 or greater)** From 30c46d12ba20057d846093afba68e37582f233e8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 23 Sep 2025 11:17:04 +0000 Subject: [PATCH 136/187] chore(build): auto-generate docs --- docs/extras/lang/java.md | 10 ++++++++++ docs/plugins/lsp.md | 31 +++++++++++++++---------------- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index e48f00b1cf..9d4f003081 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -88,6 +88,11 @@ opts = { servers = { jdtls = {}, }, + setup = { + jdtls = function() + return true -- avoid duplicate servers + end, + }, } ``` @@ -104,6 +109,11 @@ opts = { servers = { jdtls = {}, }, + setup = { + jdtls = function() + return true -- avoid duplicate servers + end, + }, }, } ``` diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 2140482379..3965d5ab36 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -343,37 +343,36 @@ end local mason_all = have_mason and vim.tbl_keys(require("mason-lspconfig.mappings").get_mason_map().lspconfig_to_package) or {} --[[ @as string[] ]] + local mason_exclude = {} ---@type string[] ---@return boolean? exclude automatic setup local function configure(server) local sopts = opts.servers[server] sopts = sopts == true and {} or (not sopts) and { enabled = false } or sopts --[[@as lazyvim.lsp.Config]] + if sopts.enabled == false then - return true + mason_exclude[#mason_exclude + 1] = server + return end + local use_mason = sopts.mason ~= false and vim.tbl_contains(mason_all, server) local setup = opts.setup[server] or opts.setup["*"] if setup and setup(server, sopts) then - return true -- lsp will be configured and enabled by the setup function - end - - vim.lsp.config(server, sopts) -- configure the server - - -- manually enable if mason=false or if this is a server that cannot be installed with mason-lspconfig - if sopts.mason == false or not vim.tbl_contains(mason_all, server) then - vim.lsp.enable(server) - return true + mason_exclude[#mason_exclude + 1] = server + else + vim.lsp.config(server, sopts) -- configure the server + if not use_mason then + vim.lsp.enable(server) + end end + return use_mason end - local servers = vim.tbl_keys(opts.servers) - local exclude = vim.tbl_filter(configure, servers) + local install = vim.tbl_filter(configure, vim.tbl_keys(opts.servers)) if have_mason then require("mason-lspconfig").setup({ - ensure_installed = vim.tbl_filter(function(server) - return not vim.tbl_contains(exclude, server) - end, vim.list_extend(servers, LazyVim.opts("mason-lspconfig.nvim").ensure_installed or {})), - automatic_enable = { exclude = exclude }, + ensure_installed = vim.list_extend(install, LazyVim.opts("mason-lspconfig.nvim").ensure_installed or {}), + automatic_enable = { exclude = mason_exclude }, }) end end), From 19b8d761452c572bc293d9562863ec5837ba401e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 Sep 2025 06:31:54 +0000 Subject: [PATCH 137/187] chore(build): auto-generate docs --- docs/keymaps.md | 17 -------- docs/plugins/treesitter.md | 88 ++++++++++++++++++++++++-------------- 2 files changed, 55 insertions(+), 50 deletions(-) diff --git a/docs/keymaps.md b/docs/keymaps.md index 80479ed165..e198a843e1 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -193,23 +193,6 @@ possible keymaps starting with ``. | <leader>snt | Noice Picker (Telescope/FzfLua) | **n** | | <S-Enter> | Redirect Cmdline | **c** | -## [nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects.git) - -| Key | Description | Mode | -| --- | --- | --- | -| [a | Prev Parameter Start | **n**, **o**, **x** | -| [A | Prev Parameter End | **n**, **o**, **x** | -| [c | Prev Class Start | **n**, **o**, **x** | -| [C | Prev Class End | **n**, **o**, **x** | -| [f | Prev Function Start | **n**, **o**, **x** | -| [F | Prev Function End | **n**, **o**, **x** | -| ]a | Next Parameter Start | **n**, **o**, **x** | -| ]A | Next Parameter End | **n**, **o**, **x** | -| ]c | Next Class Start | **n**, **o**, **x** | -| ]C | Next Class End | **n**, **o**, **x** | -| ]f | Next Function Start | **n**, **o**, **x** | -| ]F | Next Function End | **n**, **o**, **x** | - ## [persistence.nvim](https://github.com/folke/persistence.nvim.git) | Key | Description | Mode | diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 53cae03fae..e45f07850a 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -190,7 +190,19 @@ opts = { ```lua -opts = {} +opts = { + move = { + enable = true, + set_jumps = true, -- whether to set jumps in the jumplist + -- LazyVim extention to create buffer-local keymaps + keys = { + goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer", ["]a"] = "@parameter.inner" }, + goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer", ["]A"] = "@parameter.inner" }, + goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer", ["[a"] = "@parameter.inner" }, + goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer", ["[A"] = "@parameter.inner" }, + }, + }, +} ``` @@ -203,38 +215,19 @@ opts = {} "nvim-treesitter/nvim-treesitter-textobjects", branch = "main", event = "VeryLazy", - opts = {}, - keys = function() - local moves = { - goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer", ["]a"] = "@parameter.inner" }, - goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer", ["]A"] = "@parameter.inner" }, - goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer", ["[a"] = "@parameter.inner" }, - goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer", ["[A"] = "@parameter.inner" }, - } - local ret = {} ---@type LazyKeysSpec[] - for method, keymaps in pairs(moves) do - for key, query in pairs(keymaps) do - local desc = query:gsub("@", ""):gsub("%..*", "") - desc = desc:sub(1, 1):upper() .. desc:sub(2) - desc = (key:sub(1, 1) == "[" and "Prev " or "Next ") .. desc - desc = desc .. (key:sub(2, 2) == key:sub(2, 2):upper() and " End" or " Start") - ret[#ret + 1] = { - key, - function() - -- don't use treesitter if in diff mode and the key is one of the c/C keys - if vim.wo.diff and key:find("[cC]") then - return vim.cmd("normal! " .. key) - end - require("nvim-treesitter-textobjects.move")[method](query, "textobjects") - end, - desc = desc, - mode = { "n", "x", "o" }, - silent = true, - } - end - end - return ret - end, + opts = { + move = { + enable = true, + set_jumps = true, -- whether to set jumps in the jumplist + -- LazyVim extention to create buffer-local keymaps + keys = { + goto_next_start = { ["]f"] = "@function.outer", ["]c"] = "@class.outer", ["]a"] = "@parameter.inner" }, + goto_next_end = { ["]F"] = "@function.outer", ["]C"] = "@class.outer", ["]A"] = "@parameter.inner" }, + goto_previous_start = { ["[f"] = "@function.outer", ["[c"] = "@class.outer", ["[a"] = "@parameter.inner" }, + goto_previous_end = { ["[F"] = "@function.outer", ["[C"] = "@class.outer", ["[A"] = "@parameter.inner" }, + }, + }, + }, config = function(_, opts) local TS = require("nvim-treesitter-textobjects") if not TS.setup then @@ -242,6 +235,35 @@ opts = {} return end TS.setup(opts) + + vim.api.nvim_create_autocmd("FileType", { + group = vim.api.nvim_create_augroup("lazyvim_treesitter_textobjects", { clear = true }), + callback = function(ev) + if not (vim.tbl_get(opts, "move", "enable") and LazyVim.treesitter.have(ev.match, "textobjects")) then + return + end + ---@type table> + local moves = vim.tbl_get(opts, "move", "keys") or {} + + for method, keymaps in pairs(moves) do + for key, query in pairs(keymaps) do + local desc = query:gsub("@", ""):gsub("%..*", "") + desc = desc:sub(1, 1):upper() .. desc:sub(2) + desc = (key:sub(1, 1) == "[" and "Prev " or "Next ") .. desc + desc = desc .. (key:sub(2, 2) == key:sub(2, 2):upper() and " End" or " Start") + if not (vim.wo.diff and key:find("[cC]")) then + vim.keymap.set({ "n", "x", "o" }, key, function() + require("nvim-treesitter-textobjects.move")[method](query, "textobjects") + end, { + buffer = ev.buf, + desc = desc, + silent = true, + }) + end + end + end + end, + }) end, } ``` From d854f4581650a388cf70dce3ddb0bd68263d620c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 Sep 2025 09:22:34 +0000 Subject: [PATCH 138/187] chore(build): auto-generate docs --- docs/extras/ai/codeium.md | 73 ---------- docs/extras/ai/copilot-native.md | 155 +++++++++++++++++++++ docs/extras/ai/copilot.md | 225 ------------------------------- docs/extras/ai/supermaven.md | 158 ---------------------- 4 files changed, 155 insertions(+), 456 deletions(-) create mode 100644 docs/extras/ai/copilot-native.md diff --git a/docs/extras/ai/codeium.md b/docs/extras/ai/codeium.md index 460634bc36..18ad5612c9 100644 --- a/docs/extras/ai/codeium.md +++ b/docs/extras/ai/codeium.md @@ -160,29 +160,6 @@ opts = nil -## [blink.compat](https://github.com/saghen/blink.compat) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -"saghen/blink.compat" -``` - - - - - ## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) _(optional)_ codeium cmp source @@ -258,54 +235,4 @@ end -## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ - - - - - -```lua -opts = { - sources = { - compat = { "codeium" }, - providers = { - codeium = { - kind = "Codeium", - score_offset = 100, - async = true, - }, - }, - }, -} -``` - - - - - - -```lua -{ - "saghen/blink.cmp", - optional = true, - dependencies = { "codeium.nvim", "saghen/blink.compat" }, - opts = { - sources = { - compat = { "codeium" }, - providers = { - codeium = { - kind = "Codeium", - score_offset = 100, - async = true, - }, - }, - }, - }, -} -``` - - - - - diff --git a/docs/extras/ai/copilot-native.md b/docs/extras/ai/copilot-native.md new file mode 100644 index 0000000000..096a586d71 --- /dev/null +++ b/docs/extras/ai/copilot-native.md @@ -0,0 +1,155 @@ +# `Copilot-native` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +### Options + +Additional options for this extra can be configured in your [lua/config/options.lua](/configuration/general#options) file: + +```lua title="lua/config/options.lua" +-- Native inline completions don't support being shown as regular completions +vim.g.ai_cmp = false +``` + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + copilot-language-server + + + + + + +```lua +opts = { + servers = { + copilot = { + handlers = { + didChangeStatus = function(err, res, ctx) + if err then + return + end + status[ctx.client_id] = res.kind ~= "Normal" and "error" or res.busy and "pending" or "ok" + if res.status == "Error" then + LazyVim.error("Please use `:LspCopilotSignIn` to sign in to Copilot") + end + end, + }, + }, + }, + setup = { + copilot = function() + vim.lsp.inline_completion.enable() + LazyVim.cmp.actions.ai_accept = function() + return vim.lsp.inline_completion.get() + end + end, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + copilot = { + handlers = { + didChangeStatus = function(err, res, ctx) + if err then + return + end + status[ctx.client_id] = res.kind ~= "Normal" and "error" or res.busy and "pending" or "ok" + if res.status == "Error" then + LazyVim.error("Please use `:LspCopilotSignIn` to sign in to Copilot") + end + end, + }, + }, + }, + setup = { + copilot = function() + vim.lsp.inline_completion.enable() + LazyVim.cmp.actions.ai_accept = function() + return vim.lsp.inline_completion.get() + end + end, + }, + }, +} +``` + + + + + +## [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) _(optional)_ + + lualine + + + + + + +```lua +opts = function(_, opts) + table.insert( + opts.sections.lualine_x, + 2, + LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() + local clients = vim.lsp.get_clients({ name = "copilot", bufnr = 0 }) + return #clients > 0 and status[clients[1].id] or nil + end) + ) +end +``` + + + + + + +```lua +{ + "nvim-lualine/lualine.nvim", + optional = true, + event = "VeryLazy", + opts = function(_, opts) + table.insert( + opts.sections.lualine_x, + 2, + LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() + local clients = vim.lsp.get_clients({ name = "copilot", bufnr = 0 }) + return #clients > 0 and status[clients[1].id] or nil + end) + ) + end, +} +``` + + + + + + diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index 0e233af0fa..5ba17c6e6e 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -126,81 +126,6 @@ end -## [copilot-cmp](https://github.com/zbirenbaum/copilot-cmp) - - this will only be evaluated if nvim-cmp is enabled - - - - - - -```lua -opts = {} -``` - - - - - - -```lua -{ - "zbirenbaum/copilot-cmp", - opts = {}, - config = function(_, opts) - local copilot_cmp = require("copilot_cmp") - copilot_cmp.setup(opts) - -- attach cmp source whenever copilot attaches - -- fixes lazy-loading issues with the copilot cmp source - LazyVim.lsp.on_attach(function() - copilot_cmp._on_insert_enter({}) - end, "copilot") - end, - specs = { - { - "hrsh7th/nvim-cmp", - optional = true, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - table.insert(opts.sources, 1, { - name = "copilot", - group_index = 1, - priority = 100, - }) - end, - }, - }, -} -``` - - - - - -## [blink-copilot](https://github.com/fang2hou/blink-copilot) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -{ "fang2hou/blink-copilot" } -``` - - - - - ## [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) _(optional)_ lualine @@ -256,154 +181,4 @@ end -## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) _(optional)_ - - copilot cmp source - - - - - - -```lua -opts = nil -``` - - - - - - -```lua -{ - "hrsh7th/nvim-cmp", - optional = true, - dependencies = { -- this will only be evaluated if nvim-cmp is enabled - { - "zbirenbaum/copilot-cmp", - opts = {}, - config = function(_, opts) - local copilot_cmp = require("copilot_cmp") - copilot_cmp.setup(opts) - -- attach cmp source whenever copilot attaches - -- fixes lazy-loading issues with the copilot cmp source - LazyVim.lsp.on_attach(function() - copilot_cmp._on_insert_enter({}) - end, "copilot") - end, - specs = { - { - "hrsh7th/nvim-cmp", - optional = true, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - table.insert(opts.sources, 1, { - name = "copilot", - group_index = 1, - priority = 100, - }) - end, - }, - }, - }, - }, -} -``` - - - - - -## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) _(optional)_ - - - - - -```lua -opts = function(_, opts) - table.insert(opts.sources, 1, { - name = "copilot", - group_index = 1, - priority = 100, - }) -end -``` - - - - - - -```lua -{ - "hrsh7th/nvim-cmp", - optional = true, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - table.insert(opts.sources, 1, { - name = "copilot", - group_index = 1, - priority = 100, - }) - end, -} -``` - - - - - -## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ - - - - - -```lua -opts = { - sources = { - default = { "copilot" }, - providers = { - copilot = { - name = "copilot", - module = "blink-copilot", - score_offset = 100, - async = true, - }, - }, - }, -} -``` - - - - - - -```lua -{ - "saghen/blink.cmp", - optional = true, - dependencies = { "fang2hou/blink-copilot" }, - opts = { - sources = { - default = { "copilot" }, - providers = { - copilot = { - name = "copilot", - module = "blink-copilot", - score_offset = 100, - async = true, - }, - }, - }, - }, -} -``` - - - - - diff --git a/docs/extras/ai/supermaven.md b/docs/extras/ai/supermaven.md index 14fc8b9d12..d609f68140 100644 --- a/docs/extras/ai/supermaven.md +++ b/docs/extras/ai/supermaven.md @@ -159,29 +159,6 @@ opts = nil -## [blink.compat](https://github.com/saghen/blink.compat) - - - - - -```lua -opts = nil -``` - - - - - - -```lua -"saghen/blink.compat" -``` - - - - - ## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) _(optional)_ cmp integration @@ -229,139 +206,4 @@ end -## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ - - - - - -```lua -opts = { - sources = { - compat = { "supermaven" }, - providers = { - supermaven = { - kind = "Supermaven", - score_offset = 100, - async = true, - }, - }, - }, -} -``` - - - - - - -```lua -{ - "saghen/blink.cmp", - optional = true, - dependencies = { "supermaven-nvim", "saghen/blink.compat" }, - opts = { - sources = { - compat = { "supermaven" }, - providers = { - supermaven = { - kind = "Supermaven", - score_offset = 100, - async = true, - }, - }, - }, - }, -} -``` - - - - - -## [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) _(optional)_ - - - - - -```lua -opts = function(_, opts) - table.insert(opts.sections.lualine_x, 2, LazyVim.lualine.cmp_source("supermaven")) -end -``` - - - - - - -```lua -{ - "nvim-lualine/lualine.nvim", - optional = true, - event = "VeryLazy", - opts = function(_, opts) - table.insert(opts.sections.lualine_x, 2, LazyVim.lualine.cmp_source("supermaven")) - end, -} -``` - - - - - -## [noice.nvim](https://github.com/folke/noice.nvim) _(optional)_ - - - - - -```lua -opts = function(_, opts) - vim.list_extend(opts.routes, { - { - filter = { - event = "msg_show", - any = { - { find = "Starting Supermaven" }, - { find = "Supermaven Free Tier" }, - }, - }, - skip = true, - }, - }) -end -``` - - - - - - -```lua -{ - "folke/noice.nvim", - optional = true, - opts = function(_, opts) - vim.list_extend(opts.routes, { - { - filter = { - event = "msg_show", - any = { - { find = "Starting Supermaven" }, - { find = "Supermaven Free Tier" }, - }, - }, - skip = true, - }, - }) - end, -} -``` - - - - - From 01f14e8536d35eb81bdc3aaa52a745b51e97c2ec Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 Sep 2025 11:18:01 +0000 Subject: [PATCH 139/187] chore(build): auto-generate docs --- docs/extras/ai/copilot-native.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/extras/ai/copilot-native.md b/docs/extras/ai/copilot-native.md index 096a586d71..cc817b92dd 100644 --- a/docs/extras/ai/copilot-native.md +++ b/docs/extras/ai/copilot-native.md @@ -50,6 +50,21 @@ opts = { end end, }, + -- stylua: ignore + keys = { + { + "", + function() vim.lsp.inline_completion.select({ count = 1 }) end, + desc = "Next Copilot Suggestion", + mode = { "i", "n" }, + }, + { + "", + function() vim.lsp.inline_completion.select({ count = -1 }) end, + desc = "Next Copilot Suggestion", + mode = { "i", "n" }, + }, + }, }, }, setup = { @@ -85,6 +100,21 @@ opts = { end end, }, + -- stylua: ignore + keys = { + { + "", + function() vim.lsp.inline_completion.select({ count = 1 }) end, + desc = "Next Copilot Suggestion", + mode = { "i", "n" }, + }, + { + "", + function() vim.lsp.inline_completion.select({ count = -1 }) end, + desc = "Next Copilot Suggestion", + mode = { "i", "n" }, + }, + }, }, }, setup = { From 3579fa1fbc6dd95e3bbaa7a0c5529196a0d82fa6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 Sep 2025 13:30:54 +0000 Subject: [PATCH 140/187] chore(build): auto-generate docs --- docs/configuration/general.md | 1 + docs/extras/ai/copilot-native.md | 73 +++++++++++++++++++++++++++++++- 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index fe40d21fbb..e10c823d57 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -241,6 +241,7 @@ map("n", "bD", ":bd", { desc = "Delete Buffer and Window" }) map({ "i", "n", "s" }, "", function() vim.cmd("noh") LazyVim.cmp.actions.snippet_stop() + LazyVim.cmp.actions.ai_stop() return "" end, { expr = true, desc = "Escape and Clear hlsearch" }) diff --git a/docs/extras/ai/copilot-native.md b/docs/extras/ai/copilot-native.md index cc817b92dd..ea7d7a7999 100644 --- a/docs/extras/ai/copilot-native.md +++ b/docs/extras/ai/copilot-native.md @@ -14,6 +14,9 @@ Additional options for this extra can be configured in your [lua/config/options. ```lua title="lua/config/options.lua" -- Native inline completions don't support being shown as regular completions vim.g.ai_cmp = false + +-- Set to `true` in your `options.lua` to enable experimental support for Next Edit Suggestions +vim.g.copilot_nes = false ``` Below you can find a list of included plugins and their default settings. @@ -70,8 +73,41 @@ opts = { setup = { copilot = function() vim.lsp.inline_completion.enable() + + -- Only trigger NES updates: + -- * when leaving insert mode + -- * when text is changed (in normal mode) + -- * when accepting a next edit suggestion + local nes_update = Snacks.util.debounce(function() + return vim.g.copilot_nes and require("copilot-lsp.nes").request_nes("copilot") + end, { ms = 100 }) + + vim.api.nvim_create_autocmd({ "InsertLeave", "TextChanged" }, { + group = vim.api.nvim_create_augroup("lazyvim.copilot-native.complete", { clear = true }), + callback = nes_update, + }) + + -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() - return vim.lsp.inline_completion.get() + if vim.b.nes_state then + local nes = require("copilot-lsp.nes") + + -- Try to jump to the start of the suggestion edit. + if nes.walk_cursor_start_edit() then + return true + end + + -- apply the pending suggestion and jump to the end of the edit. + if nes.apply_pending_nes() then + nes.walk_cursor_end_edit() + nes_update() -- trigger new nes update after accept + return true + end + end + if vim.lsp.inline_completion.get() then + -- nes_update() -- ensure nes update is triggered after inline completion + return true + end end end, }, @@ -120,8 +156,41 @@ opts = { setup = { copilot = function() vim.lsp.inline_completion.enable() + + -- Only trigger NES updates: + -- * when leaving insert mode + -- * when text is changed (in normal mode) + -- * when accepting a next edit suggestion + local nes_update = Snacks.util.debounce(function() + return vim.g.copilot_nes and require("copilot-lsp.nes").request_nes("copilot") + end, { ms = 100 }) + + vim.api.nvim_create_autocmd({ "InsertLeave", "TextChanged" }, { + group = vim.api.nvim_create_augroup("lazyvim.copilot-native.complete", { clear = true }), + callback = nes_update, + }) + + -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() - return vim.lsp.inline_completion.get() + if vim.b.nes_state then + local nes = require("copilot-lsp.nes") + + -- Try to jump to the start of the suggestion edit. + if nes.walk_cursor_start_edit() then + return true + end + + -- apply the pending suggestion and jump to the end of the edit. + if nes.apply_pending_nes() then + nes.walk_cursor_end_edit() + nes_update() -- trigger new nes update after accept + return true + end + end + if vim.lsp.inline_completion.get() then + -- nes_update() -- ensure nes update is triggered after inline completion + return true + end end end, }, From 602c8009d3d9f9875d19896e977f65518fd0543c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 26 Sep 2025 05:19:37 +0000 Subject: [PATCH 141/187] chore(build): auto-generate docs --- docs/plugins/colorscheme.md | 46 +++++++++++++++---------------------- 1 file changed, 19 insertions(+), 27 deletions(-) diff --git a/docs/plugins/colorscheme.md b/docs/plugins/colorscheme.md index ae7751596f..4edf96b084 100644 --- a/docs/plugins/colorscheme.md +++ b/docs/plugins/colorscheme.md @@ -63,6 +63,14 @@ opts = { style = "moon" } ```lua opts = { + lsp_styles = { + underlines = { + errors = { "undercurl" }, + hints = { "undercurl" }, + warnings = { "undercurl" }, + information = { "undercurl" }, + }, + }, integrations = { aerial = true, alpha = true, @@ -78,26 +86,14 @@ opts = { leap = true, lsp_trouble = true, mason = true, - markdown = true, mini = true, - native_lsp = { - enabled = true, - underlines = { - errors = { "undercurl" }, - hints = { "undercurl" }, - warnings = { "undercurl" }, - information = { "undercurl" }, - }, - }, navic = { enabled = true, custom_bg = "lualine" }, neotest = true, neotree = true, noice = true, notify = true, - semantic_tokens = true, snacks = true, telescope = true, - treesitter = true, treesitter_context = true, which_key = true, }, @@ -115,6 +111,14 @@ opts = { lazy = true, name = "catppuccin", opts = { + lsp_styles = { + underlines = { + errors = { "undercurl" }, + hints = { "undercurl" }, + warnings = { "undercurl" }, + information = { "undercurl" }, + }, + }, integrations = { aerial = true, alpha = true, @@ -130,26 +134,14 @@ opts = { leap = true, lsp_trouble = true, mason = true, - markdown = true, mini = true, - native_lsp = { - enabled = true, - underlines = { - errors = { "undercurl" }, - hints = { "undercurl" }, - warnings = { "undercurl" }, - information = { "undercurl" }, - }, - }, navic = { enabled = true, custom_bg = "lualine" }, neotest = true, neotree = true, noice = true, notify = true, - semantic_tokens = true, snacks = true, telescope = true, - treesitter = true, treesitter_context = true, which_key = true, }, @@ -160,7 +152,7 @@ opts = { optional = true, opts = function(_, opts) if (vim.g.colors_name or ""):find("catppuccin") then - opts.highlights = require("catppuccin.groups.integrations.bufferline").get_theme() + opts.highlights = require("catppuccin.special.bufferline").get_theme() end end, }, @@ -181,7 +173,7 @@ opts = { ```lua opts = function(_, opts) if (vim.g.colors_name or ""):find("catppuccin") then - opts.highlights = require("catppuccin.groups.integrations.bufferline").get_theme() + opts.highlights = require("catppuccin.special.bufferline").get_theme() end end ``` @@ -197,7 +189,7 @@ end optional = true, opts = function(_, opts) if (vim.g.colors_name or ""):find("catppuccin") then - opts.highlights = require("catppuccin.groups.integrations.bufferline").get_theme() + opts.highlights = require("catppuccin.special.bufferline").get_theme() end end, } From c260a07026a330e010aa19fc9c66cdbcd09d9568 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 26 Sep 2025 10:21:58 +0000 Subject: [PATCH 142/187] chore(build): auto-generate docs --- docs/extras/ai/copilot-native.md | 59 -------------------------------- 1 file changed, 59 deletions(-) diff --git a/docs/extras/ai/copilot-native.md b/docs/extras/ai/copilot-native.md index ea7d7a7999..18a49e2b44 100644 --- a/docs/extras/ai/copilot-native.md +++ b/docs/extras/ai/copilot-native.md @@ -14,9 +14,6 @@ Additional options for this extra can be configured in your [lua/config/options. ```lua title="lua/config/options.lua" -- Native inline completions don't support being shown as regular completions vim.g.ai_cmp = false - --- Set to `true` in your `options.lua` to enable experimental support for Next Edit Suggestions -vim.g.copilot_nes = false ``` Below you can find a list of included plugins and their default settings. @@ -74,36 +71,8 @@ opts = { copilot = function() vim.lsp.inline_completion.enable() - -- Only trigger NES updates: - -- * when leaving insert mode - -- * when text is changed (in normal mode) - -- * when accepting a next edit suggestion - local nes_update = Snacks.util.debounce(function() - return vim.g.copilot_nes and require("copilot-lsp.nes").request_nes("copilot") - end, { ms = 100 }) - - vim.api.nvim_create_autocmd({ "InsertLeave", "TextChanged" }, { - group = vim.api.nvim_create_augroup("lazyvim.copilot-native.complete", { clear = true }), - callback = nes_update, - }) - -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() - if vim.b.nes_state then - local nes = require("copilot-lsp.nes") - - -- Try to jump to the start of the suggestion edit. - if nes.walk_cursor_start_edit() then - return true - end - - -- apply the pending suggestion and jump to the end of the edit. - if nes.apply_pending_nes() then - nes.walk_cursor_end_edit() - nes_update() -- trigger new nes update after accept - return true - end - end if vim.lsp.inline_completion.get() then -- nes_update() -- ensure nes update is triggered after inline completion return true @@ -157,36 +126,8 @@ opts = { copilot = function() vim.lsp.inline_completion.enable() - -- Only trigger NES updates: - -- * when leaving insert mode - -- * when text is changed (in normal mode) - -- * when accepting a next edit suggestion - local nes_update = Snacks.util.debounce(function() - return vim.g.copilot_nes and require("copilot-lsp.nes").request_nes("copilot") - end, { ms = 100 }) - - vim.api.nvim_create_autocmd({ "InsertLeave", "TextChanged" }, { - group = vim.api.nvim_create_augroup("lazyvim.copilot-native.complete", { clear = true }), - callback = nes_update, - }) - -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() - if vim.b.nes_state then - local nes = require("copilot-lsp.nes") - - -- Try to jump to the start of the suggestion edit. - if nes.walk_cursor_start_edit() then - return true - end - - -- apply the pending suggestion and jump to the end of the edit. - if nes.apply_pending_nes() then - nes.walk_cursor_end_edit() - nes_update() -- trigger new nes update after accept - return true - end - end if vim.lsp.inline_completion.get() then -- nes_update() -- ensure nes update is triggered after inline completion return true From 305a2dbc7849480fc7e5358071849e1df9f3755b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 26 Sep 2025 14:18:48 +0000 Subject: [PATCH 143/187] chore(build): auto-generate docs --- docs/configuration/general.md | 1 - docs/extras/ai/copilot-native.md | 72 ++++++++++++++++++-------------- docs/extras/ai/copilot.md | 39 +++++++++++++++++ docs/extras/coding/blink.md | 4 +- docs/extras/coding/nvim-cmp.md | 4 +- 5 files changed, 83 insertions(+), 37 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index e10c823d57..fe40d21fbb 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -241,7 +241,6 @@ map("n", "bD", ":bd", { desc = "Delete Buffer and Window" }) map({ "i", "n", "s" }, "", function() vim.cmd("noh") LazyVim.cmp.actions.snippet_stop() - LazyVim.cmp.actions.ai_stop() return "" end, { expr = true, desc = "Escape and Clear hlsearch" }) diff --git a/docs/extras/ai/copilot-native.md b/docs/extras/ai/copilot-native.md index 18a49e2b44..bd6b58b7dc 100644 --- a/docs/extras/ai/copilot-native.md +++ b/docs/extras/ai/copilot-native.md @@ -39,17 +39,6 @@ import TabItem from '@theme/TabItem'; opts = { servers = { copilot = { - handlers = { - didChangeStatus = function(err, res, ctx) - if err then - return - end - status[ctx.client_id] = res.kind ~= "Normal" and "error" or res.busy and "pending" or "ok" - if res.status == "Error" then - LazyVim.error("Please use `:LspCopilotSignIn` to sign in to Copilot") - end - end, - }, -- stylua: ignore keys = { { @@ -70,13 +59,25 @@ opts = { setup = { copilot = function() vim.lsp.inline_completion.enable() - -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() - if vim.lsp.inline_completion.get() then - -- nes_update() -- ensure nes update is triggered after inline completion - return true - end + return vim.lsp.inline_completion.get() + end + + if not LazyVim.has_extra("ai.sidekick") then + vim.lsp.config("copilot", { + handlers = { + didChangeStatus = function(err, res, ctx) + if err then + return + end + status[ctx.client_id] = res.kind ~= "Normal" and "error" or res.busy and "pending" or "ok" + if res.status == "Error" then + LazyVim.error("Please use `:LspCopilotSignIn` to sign in to Copilot") + end + end, + }, + }) end end, }, @@ -94,17 +95,6 @@ opts = { opts = { servers = { copilot = { - handlers = { - didChangeStatus = function(err, res, ctx) - if err then - return - end - status[ctx.client_id] = res.kind ~= "Normal" and "error" or res.busy and "pending" or "ok" - if res.status == "Error" then - LazyVim.error("Please use `:LspCopilotSignIn` to sign in to Copilot") - end - end, - }, -- stylua: ignore keys = { { @@ -125,13 +115,25 @@ opts = { setup = { copilot = function() vim.lsp.inline_completion.enable() - -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() - if vim.lsp.inline_completion.get() then - -- nes_update() -- ensure nes update is triggered after inline completion - return true - end + return vim.lsp.inline_completion.get() + end + + if not LazyVim.has_extra("ai.sidekick") then + vim.lsp.config("copilot", { + handlers = { + didChangeStatus = function(err, res, ctx) + if err then + return + end + status[ctx.client_id] = res.kind ~= "Normal" and "error" or res.busy and "pending" or "ok" + if res.status == "Error" then + LazyVim.error("Please use `:LspCopilotSignIn` to sign in to Copilot") + end + end, + }, + }) end end, }, @@ -154,6 +156,9 @@ opts = { ```lua opts = function(_, opts) + if LazyVim.has_extra("ai.sidekick") then + return + end table.insert( opts.sections.lualine_x, 2, @@ -176,6 +181,9 @@ end optional = true, event = "VeryLazy", opts = function(_, opts) + if LazyVim.has_extra("ai.sidekick") then + return + end table.insert( opts.sections.lualine_x, 2, diff --git a/docs/extras/ai/copilot.md b/docs/extras/ai/copilot.md index 5ba17c6e6e..5a1b5a4376 100644 --- a/docs/extras/ai/copilot.md +++ b/docs/extras/ai/copilot.md @@ -81,6 +81,45 @@ opts = { +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + copilot-language-server + + + + + + +```lua +opts = { + servers = { + -- copilot.lua only works with its own copilot lsp server + copilot = { enabled = false }, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + -- copilot.lua only works with its own copilot lsp server + copilot = { enabled = false }, + }, + }, +} +``` + + + + + ## [copilot.lua](https://github.com/zbirenbaum/copilot.lua) add ai_accept action diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 9a8b01c20d..bab81cecbb 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -220,12 +220,12 @@ opts = { if opts.keymap.preset == "super-tab" then -- super-tab opts.keymap[""] = { require("blink.cmp.keymap.presets").get("super-tab")[""][1], - LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), + LazyVim.cmp.map({ "snippet_forward", "ai_nes", "ai_accept" }), "fallback", } else -- other presets opts.keymap[""] = { - LazyVim.cmp.map({ "snippet_forward", "ai_accept" }), + LazyVim.cmp.map({ "snippet_forward", "ai_nes", "ai_accept" }), "fallback", } end diff --git a/docs/extras/coding/nvim-cmp.md b/docs/extras/coding/nvim-cmp.md index 0c25b2ab09..162e0be8da 100644 --- a/docs/extras/coding/nvim-cmp.md +++ b/docs/extras/coding/nvim-cmp.md @@ -55,7 +55,7 @@ opts = function() fallback() end, [""] = function(fallback) - return LazyVim.cmp.map({ "snippet_forward", "ai_accept" }, fallback)() + return LazyVim.cmp.map({ "snippet_forward", "ai_nes", "ai_accept" }, fallback)() end, }), sources = cmp.config.sources({ @@ -149,7 +149,7 @@ end fallback() end, [""] = function(fallback) - return LazyVim.cmp.map({ "snippet_forward", "ai_accept" }, fallback)() + return LazyVim.cmp.map({ "snippet_forward", "ai_nes", "ai_accept" }, fallback)() end, }), sources = cmp.config.sources({ From 52d87a79bac24fd465bd4641f554f7746556bab1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 27 Sep 2025 17:15:21 +0000 Subject: [PATCH 144/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 156 +++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 docs/extras/ai/sidekick.md diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md new file mode 100644 index 0000000000..51c5c6ff6a --- /dev/null +++ b/docs/extras/ai/sidekick.md @@ -0,0 +1,156 @@ +# `Sidekick` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + copilot-language-server + + + + + + +```lua +opts = { + servers = { + copilot = {}, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + copilot = {}, + }, + }, +} +``` + + + + + +## [sidekick.nvim](https://github.com/folke/sidekick.nvim) + + + + + +```lua +opts = function() + -- Accept inline suggestions or next edits + LazyVim.cmp.actions.ai_nes = function() + local Nes = require("sidekick.nes") + if Nes.have() and (Nes.jump() or Nes.apply()) then + return true + end + end +end +``` + + + + + + +```lua +{ + "folke/sidekick.nvim", + opts = function() + -- Accept inline suggestions or next edits + LazyVim.cmp.actions.ai_nes = function() + local Nes = require("sidekick.nes") + if Nes.have() and (Nes.jump() or Nes.apply()) then + return true + end + end + end, + keys = { + -- nes is also useful in normal mode + { "", LazyVim.cmp.map({ "ai_nes" }, ""), mode = { "n" }, expr = true }, + }, +} +``` + + + + + +## [lualine.nvim](https://github.com/nvim-lualine/lualine.nvim) _(optional)_ + + lualine + + + + + + +```lua +opts = function(_, opts) + table.insert( + opts.sections.lualine_x, + 2, + LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() + local status = require("sidekick.status").get() + if status then + return status.kind == "Error" and "error" or status.busy and "pending" or "ok" + end + end) + ) +end +``` + + + + + + +```lua +{ + "nvim-lualine/lualine.nvim", + optional = true, + event = "VeryLazy", + opts = function(_, opts) + table.insert( + opts.sections.lualine_x, + 2, + LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() + local status = require("sidekick.status").get() + if status then + return status.kind == "Error" and "error" or status.busy and "pending" or "ok" + end + end) + ) + end, +} +``` + + + + + + From 0e255a2a6c23feb7523f47dec73003cbb88d11c8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 27 Sep 2025 18:26:31 +0000 Subject: [PATCH 145/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 56 ++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index 51c5c6ff6a..5484a90fa4 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -111,16 +111,26 @@ end ```lua opts = function(_, opts) - table.insert( - opts.sections.lualine_x, - 2, - LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() + local icons = { + Error = { " ", "DiagnosticError" }, + Inactive = { " ", "MsgArea" }, + Warning = { " ", "DiagnosticWarn" }, + Normal = { LazyVim.config.icons.kinds.Copilot, "Special" }, + } + table.insert(opts.sections.lualine_x, 2, { + function() local status = require("sidekick.status").get() - if status then - return status.kind == "Error" and "error" or status.busy and "pending" or "ok" - end - end) - ) + return status and vim.tbl_get(icons, status.kind, 1) + end, + cond = function() + return require("sidekick.status").get() ~= nil + end, + color = function() + local status = require("sidekick.status").get() + local hl = status and (status.busy and "DiagnosticWarn" or vim.tbl_get(icons, status.kind, 2)) + return { fg = Snacks.util.color(hl) } + end, + }) end ``` @@ -135,16 +145,26 @@ end optional = true, event = "VeryLazy", opts = function(_, opts) - table.insert( - opts.sections.lualine_x, - 2, - LazyVim.lualine.status(LazyVim.config.icons.kinds.Copilot, function() + local icons = { + Error = { " ", "DiagnosticError" }, + Inactive = { " ", "MsgArea" }, + Warning = { " ", "DiagnosticWarn" }, + Normal = { LazyVim.config.icons.kinds.Copilot, "Special" }, + } + table.insert(opts.sections.lualine_x, 2, { + function() + local status = require("sidekick.status").get() + return status and vim.tbl_get(icons, status.kind, 1) + end, + cond = function() + return require("sidekick.status").get() ~= nil + end, + color = function() local status = require("sidekick.status").get() - if status then - return status.kind == "Error" and "error" or status.busy and "pending" or "ok" - end - end) - ) + local hl = status and (status.busy and "DiagnosticWarn" or vim.tbl_get(icons, status.kind, 2)) + return { fg = Snacks.util.color(hl) } + end, + }) end, } ``` From f6df30128250a6ba54711e75766870293a182165 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 Sep 2025 21:17:21 +0000 Subject: [PATCH 146/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 33 +++++++++++++++++++++++++++++++++ docs/keymaps.md | 11 +++++++++++ 2 files changed, 44 insertions(+) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index 5484a90fa4..21d3f88db1 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -92,6 +92,39 @@ end keys = { -- nes is also useful in normal mode { "", LazyVim.cmp.map({ "ai_nes" }, ""), mode = { "n" }, expr = true }, + { "a", "", desc = "+ai", mode = { "n", "v" } }, + { + "aa", + function() + require("sidekick.cli").toggle() + end, + mode = { "n" }, + desc = "Sidekick Toggle", + }, + { + "as", + function() + require("sidekick.cli").select_tool() + end, + mode = { "n" }, + desc = "Sidekick Select Tool", + }, + { + "", + function() + require("sidekick.cli").focus() + end, + mode = { "n", "x", "i", "t" }, + desc = "Sidekick Switch Focus", + }, + { + "ap", + function() + require("sidekick.cli").select_prompt() + end, + desc = "Sidekick Ask Prompt", + mode = { "n", "v" }, + }, }, } ``` diff --git a/docs/keymaps.md b/docs/keymaps.md index e198a843e1..a403e5c6f2 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -301,6 +301,17 @@ Part of [lazyvim.plugins.extras.ai.copilot-chat](/extras/ai/copilot-chat) | <leader>aq | Quick Chat (CopilotChat) | **n**, **v** | | <leader>ax | Clear (CopilotChat) | **n**, **v** | +## [sidekick.nvim](https://github.com/folke/sidekick.nvim.git) +Part of [lazyvim.plugins.extras.ai.sidekick](/extras/ai/sidekick) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>a | +ai | **n**, **v** | +| <leader>aa | Sidekick Toggle | **n** | +| <leader>ap | Sidekick Ask Prompt | **n**, **v** | +| <leader>as | Sidekick Select Tool | **n** | +| <c-.> | Sidekick Switch Focus | **n**, **i**, **t**, **x** | + ## [mini.surround](https://github.com/nvim-mini/mini.surround.git) Part of [lazyvim.plugins.extras.coding.mini-surround](/extras/coding/mini-surround) From e8c167379492180621df57243b3f79863c953afa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 Sep 2025 22:17:00 +0000 Subject: [PATCH 147/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 4 ++-- docs/keymaps.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index 21d3f88db1..8597e83499 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -102,12 +102,12 @@ end desc = "Sidekick Toggle", }, { - "as", + "an", function() require("sidekick.cli").select_tool() end, mode = { "n" }, - desc = "Sidekick Select Tool", + desc = "Sidekick New Tool", }, { "", diff --git a/docs/keymaps.md b/docs/keymaps.md index a403e5c6f2..ab3b5c7546 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -308,8 +308,8 @@ Part of [lazyvim.plugins.extras.ai.sidekick](/extras/ai/sidekick) | --- | --- | --- | | <leader>a | +ai | **n**, **v** | | <leader>aa | Sidekick Toggle | **n** | +| <leader>an | Sidekick New Tool | **n** | | <leader>ap | Sidekick Ask Prompt | **n**, **v** | -| <leader>as | Sidekick Select Tool | **n** | | <c-.> | Sidekick Switch Focus | **n**, **i**, **t**, **x** | ## [mini.surround](https://github.com/nvim-mini/mini.surround.git) From 4a957839e7a94013a41254d085078cfc704d0ab7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 30 Sep 2025 05:19:56 +0000 Subject: [PATCH 148/187] chore(build): auto-generate docs --- docs/extras/ai/copilot-native.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/extras/ai/copilot-native.md b/docs/extras/ai/copilot-native.md index bd6b58b7dc..df4b61ece3 100644 --- a/docs/extras/ai/copilot-native.md +++ b/docs/extras/ai/copilot-native.md @@ -50,7 +50,7 @@ opts = { { "", function() vim.lsp.inline_completion.select({ count = -1 }) end, - desc = "Next Copilot Suggestion", + desc = "Prev Copilot Suggestion", mode = { "i", "n" }, }, }, @@ -106,7 +106,7 @@ opts = { { "", function() vim.lsp.inline_completion.select({ count = -1 }) end, - desc = "Next Copilot Suggestion", + desc = "Prev Copilot Suggestion", mode = { "i", "n" }, }, }, From d292895c2d1910517ed6d26e71cb4d176f9a389c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 30 Sep 2025 16:27:03 +0000 Subject: [PATCH 149/187] chore(build): auto-generate docs --- docs/plugins/lsp.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/plugins/lsp.md b/docs/plugins/lsp.md index 3965d5ab36..2bc56ff488 100644 --- a/docs/plugins/lsp.md +++ b/docs/plugins/lsp.md @@ -101,6 +101,7 @@ opts = function() ---@alias lazyvim.lsp.Config vim.lsp.Config|{mason?:boolean, enabled?:boolean} ---@type table servers = { + stylua = { enabled = false }, lua_ls = { -- mason = false, -- set to false if you don't want this server to be installed with mason -- Use this to add any additional keymaps @@ -227,6 +228,7 @@ end ---@alias lazyvim.lsp.Config vim.lsp.Config|{mason?:boolean, enabled?:boolean} ---@type table servers = { + stylua = { enabled = false }, lua_ls = { -- mason = false, -- set to false if you don't want this server to be installed with mason -- Use this to add any additional keymaps From 729892834d70db57d0fc3e4dea73488e6c0a5698 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 1 Oct 2025 17:18:03 +0000 Subject: [PATCH 150/187] chore(build): auto-generate docs --- docs/extras/ai/copilot-native.md | 8 ++++++-- docs/extras/ai/sidekick.md | 10 +++++----- docs/keymaps.md | 4 ++-- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/extras/ai/copilot-native.md b/docs/extras/ai/copilot-native.md index df4b61ece3..45bf519e40 100644 --- a/docs/extras/ai/copilot-native.md +++ b/docs/extras/ai/copilot-native.md @@ -58,7 +58,9 @@ opts = { }, setup = { copilot = function() - vim.lsp.inline_completion.enable() + vim.schedule(function() + vim.lsp.inline_completion.enable() + end) -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() return vim.lsp.inline_completion.get() @@ -114,7 +116,9 @@ opts = { }, setup = { copilot = function() - vim.lsp.inline_completion.enable() + vim.schedule(function() + vim.lsp.inline_completion.enable() + end) -- Accept inline suggestions or next edits LazyVim.cmp.actions.ai_accept = function() return vim.lsp.inline_completion.get() diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index 8597e83499..55cad69a1e 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -102,12 +102,12 @@ end desc = "Sidekick Toggle", }, { - "an", + "as", function() - require("sidekick.cli").select_tool() + require("sidekick.cli").select() end, mode = { "n" }, - desc = "Sidekick New Tool", + desc = "Sidekick Select", }, { "", @@ -120,9 +120,9 @@ end { "ap", function() - require("sidekick.cli").select_prompt() + require("sidekick.cli").prompt() end, - desc = "Sidekick Ask Prompt", + desc = "Sidekick Prompt", mode = { "n", "v" }, }, }, diff --git a/docs/keymaps.md b/docs/keymaps.md index ab3b5c7546..0bff3dfe17 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -308,8 +308,8 @@ Part of [lazyvim.plugins.extras.ai.sidekick](/extras/ai/sidekick) | --- | --- | --- | | <leader>a | +ai | **n**, **v** | | <leader>aa | Sidekick Toggle | **n** | -| <leader>an | Sidekick New Tool | **n** | -| <leader>ap | Sidekick Ask Prompt | **n**, **v** | +| <leader>ap | Sidekick Prompt | **n**, **v** | +| <leader>as | Sidekick Select | **n** | | <c-.> | Sidekick Switch Focus | **n**, **i**, **t**, **x** | ## [mini.surround](https://github.com/nvim-mini/mini.surround.git) From f14f9fe3b2e304204611b01864d406cd5c389baa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 1 Oct 2025 20:23:12 +0000 Subject: [PATCH 151/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 36 +++++++++++++++++------------------- docs/keymaps.md | 7 ++++--- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index 55cad69a1e..327d97809e 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -89,42 +89,40 @@ end end end end, + -- stylua: ignore keys = { -- nes is also useful in normal mode { "", LazyVim.cmp.map({ "ai_nes" }, ""), mode = { "n" }, expr = true }, { "a", "", desc = "+ai", mode = { "n", "v" } }, { "aa", - function() - require("sidekick.cli").toggle() - end, - mode = { "n" }, - desc = "Sidekick Toggle", + function() require("sidekick.cli").toggle() end, + desc = "Sidekick Toggle CLI", }, { "as", - function() - require("sidekick.cli").select() - end, + function() require("sidekick.cli").select() end, mode = { "n" }, - desc = "Sidekick Select", + desc = "Sidekick Select CLI", }, { - "", - function() - require("sidekick.cli").focus() - end, - mode = { "n", "x", "i", "t" }, - desc = "Sidekick Switch Focus", + "as", + function() require("sidekick.cli").send() end, + mode = { "v" }, + desc = "Sidekick Send Visual Selection", }, { "ap", - function() - require("sidekick.cli").prompt() - end, - desc = "Sidekick Prompt", + function() require("sidekick.cli").prompt() end, + desc = "Sidekick Select Prompt", mode = { "n", "v" }, }, + { + "", + function() require("sidekick.cli").focus() end, + mode = { "n", "x", "i", "t" }, + desc = "Sidekick Switch Focus", + }, }, } ``` diff --git a/docs/keymaps.md b/docs/keymaps.md index 0bff3dfe17..df25606ab9 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -307,9 +307,10 @@ Part of [lazyvim.plugins.extras.ai.sidekick](/extras/ai/sidekick) | Key | Description | Mode | | --- | --- | --- | | <leader>a | +ai | **n**, **v** | -| <leader>aa | Sidekick Toggle | **n** | -| <leader>ap | Sidekick Prompt | **n**, **v** | -| <leader>as | Sidekick Select | **n** | +| <leader>aa | Sidekick Toggle CLI | **n** | +| <leader>ap | Sidekick Select Prompt | **n**, **v** | +| <leader>as | Sidekick Select CLI | **n** | +| <leader>as | Sidekick Send Visual Selection | **v** | | <c-.> | Sidekick Switch Focus | **n**, **i**, **t**, **x** | ## [mini.surround](https://github.com/nvim-mini/mini.surround.git) From 57752e06efca15c4c972bf971cc15d04a856cc01 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 2 Oct 2025 17:16:04 +0000 Subject: [PATCH 152/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 27 ++++++++++++++++++++------- docs/keymaps.md | 8 +++++--- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index 327d97809e..c9869155eb 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -102,20 +102,27 @@ end { "as", function() require("sidekick.cli").select() end, - mode = { "n" }, - desc = "Sidekick Select CLI", + -- Or to select only installed tools: + -- require("sidekick.cli").select({ filter = { installed = true } }) + desc = "Select CLI", }, { - "as", - function() require("sidekick.cli").send() end, - mode = { "v" }, - desc = "Sidekick Send Visual Selection", + "at", + function() require("sidekick.cli").send({ msg = "{this}" }) end, + mode = { "x", "n" }, + desc = "Send This", + }, + { + "av", + function() require("sidekick.cli").send({ msg = "{selection}" }) end, + mode = { "x" }, + desc = "Send Visual Selection", }, { "ap", function() require("sidekick.cli").prompt() end, + mode = { "n", "x" }, desc = "Sidekick Select Prompt", - mode = { "n", "v" }, }, { "", @@ -123,6 +130,12 @@ end mode = { "n", "x", "i", "t" }, desc = "Sidekick Switch Focus", }, + -- Example of a keybinding to open Claude directly + { + "ac", + function() require("sidekick.cli").toggle({ name = "claude", focus = true }) end, + desc = "Sidekick Claude Toggle", + }, }, } ``` diff --git a/docs/keymaps.md b/docs/keymaps.md index df25606ab9..bb07c785a4 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -308,9 +308,11 @@ Part of [lazyvim.plugins.extras.ai.sidekick](/extras/ai/sidekick) | --- | --- | --- | | <leader>a | +ai | **n**, **v** | | <leader>aa | Sidekick Toggle CLI | **n** | -| <leader>ap | Sidekick Select Prompt | **n**, **v** | -| <leader>as | Sidekick Select CLI | **n** | -| <leader>as | Sidekick Send Visual Selection | **v** | +| <leader>ac | Sidekick Claude Toggle | **n** | +| <leader>ap | Sidekick Select Prompt | **n**, **x** | +| <leader>as | Select CLI | **n** | +| <leader>at | Send This | **n**, **x** | +| <leader>av | Send Visual Selection | **x** | | <c-.> | Sidekick Switch Focus | **n**, **i**, **t**, **x** | ## [mini.surround](https://github.com/nvim-mini/mini.surround.git) From a6c70ddc7cc7dbc4c7fe97b946d2defb243c24f8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 2 Oct 2025 19:15:42 +0000 Subject: [PATCH 153/187] chore(build): auto-generate docs --- docs/configuration/general.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index fe40d21fbb..746491e86a 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -312,10 +312,12 @@ end, { desc = "Format" }) -- diagnostic local diagnostic_goto = function(next, severity) - local go = next and vim.diagnostic.goto_next or vim.diagnostic.goto_prev - severity = severity and vim.diagnostic.severity[severity] or nil return function() - go({ severity = severity }) + vim.diagnostic.jump({ + count = (next and 1 or -1) * vim.v.count1, + severity = severity and vim.diagnostic.severity[severity] or nil, + float = true, + }) end end map("n", "cd", vim.diagnostic.open_float, { desc = "Line Diagnostics" }) From f20407cf04e1dbc2e597887da93d970ede91d211 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 8 Oct 2025 22:19:21 +0000 Subject: [PATCH 154/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 23 +++++++++++------------ docs/keymaps.md | 4 ++-- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index c9869155eb..2b0184f7ea 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -94,6 +94,12 @@ end -- nes is also useful in normal mode { "", LazyVim.cmp.map({ "ai_nes" }, ""), mode = { "n" }, expr = true }, { "a", "", desc = "+ai", mode = { "n", "v" } }, + { + "", + function() require("sidekick.cli").toggle() end, + desc = "Sidekick Toggle", + mode = { "n", "t", "i", "x" }, + }, { "aa", function() require("sidekick.cli").toggle() end, @@ -112,6 +118,11 @@ end mode = { "x", "n" }, desc = "Send This", }, + { + "af", + function() require("sidekick.cli").send({ msg = "{file}" }) end, + desc = "Send File", + }, { "av", function() require("sidekick.cli").send({ msg = "{selection}" }) end, @@ -124,18 +135,6 @@ end mode = { "n", "x" }, desc = "Sidekick Select Prompt", }, - { - "", - function() require("sidekick.cli").focus() end, - mode = { "n", "x", "i", "t" }, - desc = "Sidekick Switch Focus", - }, - -- Example of a keybinding to open Claude directly - { - "ac", - function() require("sidekick.cli").toggle({ name = "claude", focus = true }) end, - desc = "Sidekick Claude Toggle", - }, }, } ``` diff --git a/docs/keymaps.md b/docs/keymaps.md index bb07c785a4..fe09902a90 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -308,12 +308,12 @@ Part of [lazyvim.plugins.extras.ai.sidekick](/extras/ai/sidekick) | --- | --- | --- | | <leader>a | +ai | **n**, **v** | | <leader>aa | Sidekick Toggle CLI | **n** | -| <leader>ac | Sidekick Claude Toggle | **n** | +| <leader>af | Send File | **n** | | <leader>ap | Sidekick Select Prompt | **n**, **x** | | <leader>as | Select CLI | **n** | | <leader>at | Send This | **n**, **x** | | <leader>av | Send Visual Selection | **x** | -| <c-.> | Sidekick Switch Focus | **n**, **i**, **t**, **x** | +| <c-.> | Sidekick Toggle | **n**, **i**, **t**, **x** | ## [mini.surround](https://github.com/nvim-mini/mini.surround.git) Part of [lazyvim.plugins.extras.coding.mini-surround](/extras/coding/mini-surround) From 21ac812f54bb93aeb8ec1009cf997ad3e836beea Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 9 Oct 2025 09:22:57 +0000 Subject: [PATCH 155/187] chore(build): auto-generate docs --- docs/configuration/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/configuration/index.md b/docs/configuration/index.md index 45e8d55d8e..a7309f9f6f 100644 --- a/docs/configuration/index.md +++ b/docs/configuration/index.md @@ -67,7 +67,6 @@ return { neovim = false, }, -- icons used by other plugins - -- stylua: ignore icons = { misc = { dots = "󰇘", From 56558b6691cf9d3459701ce5f9d95ea758e9fafd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 9 Oct 2025 12:44:43 +0000 Subject: [PATCH 156/187] chore(build): auto-generate docs --- docs/extras/lang/markdown.md | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/docs/extras/lang/markdown.md b/docs/extras/lang/markdown.md index 18e76211f9..0eb0b66deb 100644 --- a/docs/extras/lang/markdown.md +++ b/docs/extras/lang/markdown.md @@ -194,17 +194,8 @@ opts = { require("render-markdown").setup(opts) Snacks.toggle({ name = "Render Markdown", - get = function() - return require("render-markdown.state").enabled - end, - set = function(enabled) - local m = require("render-markdown") - if enabled then - m.enable() - else - m.disable() - end - end, + get = require("render-markdown").get, + set = require("render-markdown").set, }):map("um") end, } From acebd6763b80453fb50ade42c1e94e7a7901d6ef Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 9 Oct 2025 16:28:37 +0000 Subject: [PATCH 157/187] chore(build): auto-generate docs --- docs/extras/coding/blink.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index bab81cecbb..35ae2d4afe 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -85,7 +85,11 @@ opts = { cmdline = { enabled = true, - keymap = { preset = "cmdline" }, + keymap = { + preset = "cmdline", + [""] = false, + [""] = false, + }, completion = { list = { selection = { preselect = false } }, menu = { @@ -183,7 +187,11 @@ opts = { cmdline = { enabled = true, - keymap = { preset = "cmdline" }, + keymap = { + preset = "cmdline", + [""] = false, + [""] = false, + }, completion = { list = { selection = { preselect = false } }, menu = { From d7354034e6795262d24d57053d79bac67b800fb0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 9 Oct 2025 20:23:37 +0000 Subject: [PATCH 158/187] chore(build): auto-generate docs --- docs/configuration/general.md | 8 ++------ docs/keymaps.md | 3 +-- docs/plugins/util.md | 4 ++++ 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index 746491e86a..c53f3e9a58 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -381,12 +381,8 @@ map("n", "L", function() LazyVim.news.changelog() end, { desc = "LazyVim -- floating terminal map("n", "fT", function() Snacks.terminal() end, { desc = "Terminal (cwd)" }) map("n", "ft", function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" }) -map("n", "", function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" }) -map("n", "", function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "which_key_ignore" }) - --- Terminal Mappings -map("t", "", "close", { desc = "Hide Terminal" }) -map("t", "", "close", { desc = "which_key_ignore" }) +map({"n","t"}, "",function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" }) +map({"n","t"}, "",function() Snacks.terminal(nil, { cwd = LazyVim.root() }) end, { desc = "which_key_ignore" }) -- windows map("n", "-", "s", { desc = "Split Window Below", remap = true }) diff --git a/docs/keymaps.md b/docs/keymaps.md index fe09902a90..2962d1d114 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -94,9 +94,8 @@ possible keymaps starting with ``. | <leader>L | LazyVim Changelog | **n** | | <leader>fT | Terminal (cwd) | **n** | | <leader>ft | Terminal (Root Dir) | **n** | -| <c-/> | Terminal (Root Dir) | **n** | +| <c-/> | Terminal (Root Dir) | **n**, **t** | | <c-_> | which_key_ignore | **n**, **t** | -| <C-/> | Hide Terminal | **t** | | <leader>- | Split Window Below | **n** | | <leader>| | Split Window Right | **n** | | <leader>wd | Delete Window | **n** | diff --git a/docs/plugins/util.md b/docs/plugins/util.md index bf1079c175..8e207d5118 100644 --- a/docs/plugins/util.md +++ b/docs/plugins/util.md @@ -25,6 +25,8 @@ opts = { nav_j = { "", term_nav("j"), desc = "Go to Lower Window", expr = true, mode = "t" }, nav_k = { "", term_nav("k"), desc = "Go to Upper Window", expr = true, mode = "t" }, nav_l = { "", term_nav("l"), desc = "Go to Right Window", expr = true, mode = "t" }, + hide_slash = { "", "hide", desc = "Hide Terminal", mode = { "t", "n" } }, + hide_underscore = { "", "hide", desc = "which_key_ignore", mode = { "t", "n" } }, }, }, }, @@ -49,6 +51,8 @@ opts = { nav_j = { "", term_nav("j"), desc = "Go to Lower Window", expr = true, mode = "t" }, nav_k = { "", term_nav("k"), desc = "Go to Upper Window", expr = true, mode = "t" }, nav_l = { "", term_nav("l"), desc = "Go to Right Window", expr = true, mode = "t" }, + hide_slash = { "", "hide", desc = "Hide Terminal", mode = { "t", "n" } }, + hide_underscore = { "", "hide", desc = "which_key_ignore", mode = { "t", "n" } }, }, }, }, From fa63ad985e6058fa56fc51f934ac89884b9118d3 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Thu, 9 Oct 2025 23:32:52 +0200 Subject: [PATCH 159/187] fix(install): use fedora docker --- docs/installation.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 466c2b7991..253464b3e6 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -88,8 +88,9 @@ with [PowerShell](https://github.com/PowerShell/PowerShell) ```sh -docker run -w /root -it --rm alpine:edge sh -uelic ' - apk add git lazygit fzf curl neovim ripgrep alpine-sdk --update +docker run -w /root -it --rm fedora:latest sh -uelic ' + dnf copr enable -y dejan/lazygit + dnf install -y git lazygit fd-find curl ripgrep tree-sitter-cli neovim git clone https://github.com/LazyVim/starter ~/.config/nvim cd ~/.config/nvim nvim From 6abb78009a4e493d321c37da099600fa03671f31 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 10 Oct 2025 05:20:36 +0000 Subject: [PATCH 160/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index e45f07850a..59bd888543 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -19,9 +19,9 @@ import TabItem from '@theme/TabItem'; ```lua opts = { -- LazyVim config for treesitter - indent = { enable = true }, - highlight = { enable = true }, - folds = { enable = true }, + indent = { enable = true }, ---@type lazyvim.TSFeat + highlight = { enable = true }, ---@type lazyvim.TSFeat + folds = { enable = true }, ---@type lazyvim.TSFeat ensure_installed = { "bash", "c", @@ -75,12 +75,13 @@ opts = { event = { "LazyFile", "VeryLazy" }, cmd = { "TSUpdate", "TSInstall", "TSLog", "TSUninstall" }, opts_extend = { "ensure_installed" }, + ---@alias lazyvim.TSFeat { enable?: boolean, disable?: string[] } ---@class lazyvim.TSConfig: TSConfig opts = { -- LazyVim config for treesitter - indent = { enable = true }, - highlight = { enable = true }, - folds = { enable = true }, + indent = { enable = true }, ---@type lazyvim.TSFeat + highlight = { enable = true }, ---@type lazyvim.TSFeat + folds = { enable = true }, ---@type lazyvim.TSFeat ensure_installed = { "bash", "c", @@ -153,22 +154,32 @@ opts = { vim.api.nvim_create_autocmd("FileType", { group = vim.api.nvim_create_augroup("lazyvim_treesitter", { clear = true }), callback = function(ev) - if not LazyVim.treesitter.have(ev.match) then + local ft, lang = ev.match, vim.treesitter.language.get_lang(ev.match) + if not LazyVim.treesitter.have(ft) then return end + ---@param feat string + ---@param query string + local function enabled(feat, query) + local f = opts[feat] or {} ---@type lazyvim.TSFeat + return f.enable ~= false + and not vim.tbl_contains(f.disable or {}, lang) + and LazyVim.treesitter.have(ft, query) + end + -- highlighting - if vim.tbl_get(opts, "highlight", "enable") ~= false then + if enabled("highlight", "highlights") then pcall(vim.treesitter.start) end -- indents - if vim.tbl_get(opts, "indent", "enable") ~= false and LazyVim.treesitter.have(ev.match, "indents") then + if enabled("indent", "indents") then LazyVim.set_default("indentexpr", "v:lua.LazyVim.treesitter.indentexpr()") end -- folds - if vim.tbl_get(opts, "folds", "enable") ~= false and LazyVim.treesitter.have(ev.match, "folds") then + if enabled("folds", "folds") then if LazyVim.set_default("foldmethod", "expr") then LazyVim.set_default("foldexpr", "v:lua.LazyVim.treesitter.foldexpr()") end From bd103d8460e6483085ddc5caf02afa8da4fb6f7e Mon Sep 17 00:00:00 2001 From: Cristian Leonte Date: Fri, 10 Oct 2025 16:44:47 +0300 Subject: [PATCH 161/187] docs: added Ghostty terminal to requirements section (#163) --- docs/intro.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/intro.md b/docs/intro.md index aaa19e8bc9..fe77ec4658 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -39,6 +39,7 @@ to make it easy to customize and extend your config. - [wezterm](https://github.com/wez/wezterm) **_(Linux, Macos & Windows)_** - [alacritty](https://github.com/alacritty/alacritty) **_(Linux, Macos & Windows)_** - [iterm2](https://iterm2.com/) **_(Macos)_** + - [ghostty](https://ghostty.org/) **_(Linux, Macos & Windows)_** ## 🎓 Learn From 2af6803d6528abd4670013577a28fc74de37808c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 10 Oct 2025 19:16:37 +0000 Subject: [PATCH 162/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 59bd888543..3a4d7afe18 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -164,7 +164,7 @@ opts = { local function enabled(feat, query) local f = opts[feat] or {} ---@type lazyvim.TSFeat return f.enable ~= false - and not vim.tbl_contains(f.disable or {}, lang) + and not (type(f.disable) == "table" and vim.tbl_contains(f.disable, lang)) and LazyVim.treesitter.have(ft, query) end From b7352e3c1387656d6e87248f3a7534049f10fe2e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 10 Oct 2025 22:18:24 +0000 Subject: [PATCH 163/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 5 +++++ docs/keymaps.md | 1 + 2 files changed, 6 insertions(+) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index 2b0184f7ea..d33c597536 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -112,6 +112,11 @@ end -- require("sidekick.cli").select({ filter = { installed = true } }) desc = "Select CLI", }, + { + "ad", + function() require("sidekick.cli").close() end, + desc = "Detach a CLI Session", + }, { "at", function() require("sidekick.cli").send({ msg = "{this}" }) end, diff --git a/docs/keymaps.md b/docs/keymaps.md index 2962d1d114..f25615371d 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -307,6 +307,7 @@ Part of [lazyvim.plugins.extras.ai.sidekick](/extras/ai/sidekick) | --- | --- | --- | | <leader>a | +ai | **n**, **v** | | <leader>aa | Sidekick Toggle CLI | **n** | +| <leader>ad | Detach a CLI Session | **n** | | <leader>af | Send File | **n** | | <leader>ap | Sidekick Select Prompt | **n**, **x** | | <leader>as | Select CLI | **n** | From cb133e26721de802d867f3470787aca3ac2b60fd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 11 Oct 2025 06:27:53 +0000 Subject: [PATCH 164/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index d33c597536..71a137fa6e 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -27,11 +27,13 @@ import TabItem from '@theme/TabItem'; ```lua -opts = { - servers = { - copilot = {}, - }, -} +opts = function(_, opts) + local sk = LazyVim.opts("sidekick.nvim") ---@type sidekick.Config|{} + if vim.tbl_get(sk, "nes", "enabled") ~= false then + opts.servers = opts.servers or {} + opts.servers.copilot = opts.servers.copilot or {} + end +end ``` @@ -42,11 +44,13 @@ opts = { ```lua { "neovim/nvim-lspconfig", - opts = { - servers = { - copilot = {}, - }, - }, + opts = function(_, opts) + local sk = LazyVim.opts("sidekick.nvim") ---@type sidekick.Config|{} + if vim.tbl_get(sk, "nes", "enabled") ~= false then + opts.servers = opts.servers or {} + opts.servers.copilot = opts.servers.copilot or {} + end + end, } ``` From b010c107d83cfb7be9015b5d939fff6d54748b13 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 12 Oct 2025 12:38:47 +0000 Subject: [PATCH 165/187] chore(build): auto-generate docs --- docs/extras/lang/ansible.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/extras/lang/ansible.md b/docs/extras/lang/ansible.md index f1aaab7d1d..d892f6c118 100644 --- a/docs/extras/lang/ansible.md +++ b/docs/extras/lang/ansible.md @@ -95,13 +95,14 @@ opts = nil ```lua { "mfussenegger/nvim-ansible", - ft = {}, + ft = { "yaml" }, keys = { { "ta", function() require("ansible").run() end, + ft = "yaml.ansible", desc = "Ansible Run Playbook/Role", silent = true, }, From 1e0d34605f65a8fe1834cfe5e1419d10fd1831f9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 14 Oct 2025 12:47:54 +0000 Subject: [PATCH 166/187] chore(build): auto-generate docs --- docs/extras/lang/gleam.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/docs/extras/lang/gleam.md b/docs/extras/lang/gleam.md index 284f93f68b..ed1b62cb5f 100644 --- a/docs/extras/lang/gleam.md +++ b/docs/extras/lang/gleam.md @@ -77,4 +77,39 @@ opts = { +## [conform.nvim](https://github.com/stevearc/conform.nvim) _(optional)_ + + + + + +```lua +opts = { + formatters_by_ft = { + gleam = { "gleam" }, + }, +} +``` + + + + + + +```lua +{ + "conform.nvim", + optional = true, + opts = { + formatters_by_ft = { + gleam = { "gleam" }, + }, + }, +} +``` + + + + + From c6f97bd58374850846e48df95ff62d1708a27078 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 15 Oct 2025 07:21:52 +0000 Subject: [PATCH 167/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 3a4d7afe18..81cb58cf15 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -67,7 +67,7 @@ opts = { LazyVim.error("Please restart Neovim and run `:TSUpdate` to use the `nvim-treesitter` **main** branch.") return end - LazyVim.treesitter.ensure_treesitter_cli(function() + LazyVim.treesitter.build(function() TS.update(nil, { summary = true }) end) end, @@ -113,6 +113,16 @@ opts = { config = function(_, opts) local TS = require("nvim-treesitter") + -- On Windows, use `gcc` if `cl` is not available, and `gcc` is. + if + not vim.env.CC + and vim.fn.has("win32") == 1 + and vim.fn.executable("cl") == 0 + and vim.fn.executable("gcc") == 1 + then + vim.env.CC = "gcc" + end + setmetatable(require("nvim-treesitter.install"), { __newindex = function(_, k) if k == "compilers" then @@ -144,7 +154,7 @@ opts = { return not LazyVim.treesitter.have(lang) end, opts.ensure_installed or {}) if #install > 0 then - LazyVim.treesitter.ensure_treesitter_cli(function() + LazyVim.treesitter.build(function() TS.install(install, { summary = true }):await(function() LazyVim.treesitter.get_installed(true) -- refresh the installed langs end) From 139a6e405880760ec5586c8d6cad1ae1c398f842 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 15 Oct 2025 18:32:16 +0000 Subject: [PATCH 168/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 81cb58cf15..c8950f0402 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -113,16 +113,6 @@ opts = { config = function(_, opts) local TS = require("nvim-treesitter") - -- On Windows, use `gcc` if `cl` is not available, and `gcc` is. - if - not vim.env.CC - and vim.fn.has("win32") == 1 - and vim.fn.executable("cl") == 0 - and vim.fn.executable("gcc") == 1 - then - vim.env.CC = "gcc" - end - setmetatable(require("nvim-treesitter.install"), { __newindex = function(_, k) if k == "compilers" then From 34f56750f3ac946b06b9621605d634b840e266c0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 17 Oct 2025 18:28:17 +0000 Subject: [PATCH 169/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 63 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index 71a137fa6e..ebb4790eca 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -225,4 +225,67 @@ end +## [snacks.nvim](https://github.com/folke/snacks.nvim) _(optional)_ + + + + + +```lua +opts = { + picker = { + actions = { + sidekick_send = function(...) + return require("sidekick.cli.snacks").send(...) + end, + }, + win = { + input = { + keys = { + [""] = { + "sidekick_send", + mode = { "n", "i" }, + }, + }, + }, + }, + }, +} +``` + + + + + + +```lua +{ + "folke/snacks.nvim", + optional = true, + opts = { + picker = { + actions = { + sidekick_send = function(...) + return require("sidekick.cli.snacks").send(...) + end, + }, + win = { + input = { + keys = { + [""] = { + "sidekick_send", + mode = { "n", "i" }, + }, + }, + }, + }, + }, + }, +} +``` + + + + + From 3afb2fa4675d3a3b37c8f0cbd6d2bb0a722ef56a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 18 Oct 2025 05:19:05 +0000 Subject: [PATCH 170/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index c8950f0402..aea9f2ff5a 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -67,6 +67,8 @@ opts = { LazyVim.error("Please restart Neovim and run `:TSUpdate` to use the `nvim-treesitter` **main** branch.") return end + -- make sure we're using the latest treesitter util + package.loaded["lazyvim.util.treesitter"] = nil LazyVim.treesitter.build(function() TS.update(nil, { summary = true }) end) From 2fb44d157ed4253ce882914473232db20eb79163 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sat, 18 Oct 2025 14:17:14 +0000 Subject: [PATCH 171/187] chore(build): auto-generate docs --- docs/plugins/treesitter.md | 53 +++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index aea9f2ff5a..29899e26f3 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -73,7 +73,6 @@ opts = { TS.update(nil, { summary = true }) end) end, - lazy = vim.fn.argc(-1) == 0, -- load treesitter early when opening a file from the cmdline event = { "LazyFile", "VeryLazy" }, cmd = { "TSUpdate", "TSInstall", "TSLog", "TSUninstall" }, opts_extend = { "ensure_installed" }, @@ -249,34 +248,40 @@ opts = { end TS.setup(opts) + local function attach(buf) + local ft = vim.bo[buf].filetype + if not (vim.tbl_get(opts, "move", "enable") and LazyVim.treesitter.have(ft, "textobjects")) then + return + end + ---@type table> + local moves = vim.tbl_get(opts, "move", "keys") or {} + + for method, keymaps in pairs(moves) do + for key, query in pairs(keymaps) do + local desc = query:gsub("@", ""):gsub("%..*", "") + desc = desc:sub(1, 1):upper() .. desc:sub(2) + desc = (key:sub(1, 1) == "[" and "Prev " or "Next ") .. desc + desc = desc .. (key:sub(2, 2) == key:sub(2, 2):upper() and " End" or " Start") + if not (vim.wo.diff and key:find("[cC]")) then + vim.keymap.set({ "n", "x", "o" }, key, function() + require("nvim-treesitter-textobjects.move")[method](query, "textobjects") + end, { + buffer = buf, + desc = desc, + silent = true, + }) + end + end + end + end + vim.api.nvim_create_autocmd("FileType", { group = vim.api.nvim_create_augroup("lazyvim_treesitter_textobjects", { clear = true }), callback = function(ev) - if not (vim.tbl_get(opts, "move", "enable") and LazyVim.treesitter.have(ev.match, "textobjects")) then - return - end - ---@type table> - local moves = vim.tbl_get(opts, "move", "keys") or {} - - for method, keymaps in pairs(moves) do - for key, query in pairs(keymaps) do - local desc = query:gsub("@", ""):gsub("%..*", "") - desc = desc:sub(1, 1):upper() .. desc:sub(2) - desc = (key:sub(1, 1) == "[" and "Prev " or "Next ") .. desc - desc = desc .. (key:sub(2, 2) == key:sub(2, 2):upper() and " End" or " Start") - if not (vim.wo.diff and key:find("[cC]")) then - vim.keymap.set({ "n", "x", "o" }, key, function() - require("nvim-treesitter-textobjects.move")[method](query, "textobjects") - end, { - buffer = ev.buf, - desc = desc, - silent = true, - }) - end - end - end + attach(ev.buf) end, }) + vim.tbl_map(attach, vim.api.nvim_list_bufs()) end, } ``` From be0c78ffe2bfc2d75f17da1f26654590a594ecca Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 19 Oct 2025 06:30:19 +0000 Subject: [PATCH 172/187] chore(build): auto-generate docs --- docs/extras/ui/mini-animate.md | 44 ++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/docs/extras/ui/mini-animate.md b/docs/extras/ui/mini-animate.md index 023f0174b9..4712be29b2 100644 --- a/docs/extras/ui/mini-animate.md +++ b/docs/extras/ui/mini-animate.md @@ -79,15 +79,19 @@ opts = function(_, opts) end, }) - Snacks.toggle({ - name = "Mini Animate", - get = function() - return not vim.g.minianimate_disable - end, - set = function(state) - vim.g.minianimate_disable = not state - end, - }):map("ua") + -- schedule setting the mapping to override the default mapping from `keymaps.lua` + -- seems `keymaps.lua` is the last event to execute on `VeryLazy` and it overwrites it + vim.schedule(function() + Snacks.toggle({ + name = "Mini Animate", + get = function() + return not vim.g.minianimate_disable + end, + set = function(state) + vim.g.minianimate_disable = not state + end, + }):map("ua") + end) local animate = require("mini.animate") return vim.tbl_deep_extend("force", opts, { @@ -138,15 +142,19 @@ end end, }) - Snacks.toggle({ - name = "Mini Animate", - get = function() - return not vim.g.minianimate_disable - end, - set = function(state) - vim.g.minianimate_disable = not state - end, - }):map("ua") + -- schedule setting the mapping to override the default mapping from `keymaps.lua` + -- seems `keymaps.lua` is the last event to execute on `VeryLazy` and it overwrites it + vim.schedule(function() + Snacks.toggle({ + name = "Mini Animate", + get = function() + return not vim.g.minianimate_disable + end, + set = function(state) + vim.g.minianimate_disable = not state + end, + }):map("ua") + end) local animate = require("mini.animate") return vim.tbl_deep_extend("force", opts, { From 21e1531da6a2836270b2e7627aa5f6a58af794dc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 19 Oct 2025 10:19:40 +0000 Subject: [PATCH 173/187] chore(build): auto-generate docs --- docs/extras/util/rest.md | 1 + docs/keymaps.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/extras/util/rest.md b/docs/extras/util/rest.md index 1db866b989..fb8b9821d8 100644 --- a/docs/extras/util/rest.md +++ b/docs/extras/util/rest.md @@ -41,6 +41,7 @@ opts = {} { "Rb", "lua require('kulala').scratchpad()", desc = "Open scratchpad", ft = "http" }, { "Rc", "lua require('kulala').copy()", desc = "Copy as cURL", ft = "http" }, { "RC", "lua require('kulala').from_curl()", desc = "Paste from curl", ft = "http" }, + { "Re", "lua require('kulala').set_selected_env()", desc = "Set environment", ft = "http" }, { "Rg", "lua require('kulala').download_graphql_schema()", diff --git a/docs/keymaps.md b/docs/keymaps.md index f25615371d..5dda2c789b 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -707,6 +707,7 @@ Part of [lazyvim.plugins.extras.util.rest](/extras/util/rest) | <leader>Rb | Open scratchpad | **n** | | <leader>Rc | Copy as cURL | **n** | | <leader>RC | Paste from curl | **n** | +| <leader>Re | Set environment | **n** | | <leader>Rg | Download GraphQL schema | **n** | | <leader>Ri | Inspect current request | **n** | | <leader>Rn | Jump to next request | **n** | From 281a9840d16fa40ce53f1eb9233d94dfe9308eaf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 19 Oct 2025 11:15:21 +0000 Subject: [PATCH 174/187] chore(build): auto-generate docs --- docs/extras/ai/copilot-chat.md | 14 ++++++++++---- docs/extras/coding/blink.md | 8 ++------ docs/extras/coding/mini-snippets.md | 2 +- docs/extras/lang/clangd.md | 4 ++-- docs/extras/lang/java.md | 4 +++- docs/extras/lang/omnisharp.md | 26 +++++++------------------- docs/extras/lang/python.md | 12 ++---------- docs/extras/lang/rust.md | 20 ++++++++------------ docs/extras/lang/tex.md | 4 ++-- docs/extras/lang/typescript.md | 6 ++++-- docs/extras/test/core.md | 1 + docs/extras/ui/mini-indentscope.md | 3 ++- docs/extras/util/rest.md | 6 +++--- docs/keymaps.md | 1 + 14 files changed, 48 insertions(+), 63 deletions(-) diff --git a/docs/extras/ai/copilot-chat.md b/docs/extras/ai/copilot-chat.md index e0a7c39cc5..2a427ed5a2 100644 --- a/docs/extras/ai/copilot-chat.md +++ b/docs/extras/ai/copilot-chat.md @@ -29,8 +29,11 @@ opts = function() user = user:sub(1, 1):upper() .. user:sub(2) return { auto_insert_mode = true, - question_header = " " .. user .. " ", - answer_header = " Copilot ", + headers = { + user = " " .. user .. " ", + assistant = " Copilot ", + tool = "󰊳 Tool ", + }, window = { width = 0.4, }, @@ -53,8 +56,11 @@ end user = user:sub(1, 1):upper() .. user:sub(2) return { auto_insert_mode = true, - question_header = " " .. user .. " ", - answer_header = " Copilot ", + headers = { + user = " " .. user .. " ", + assistant = " Copilot ", + tool = "󰊳 Tool ", + }, window = { width = 0.4, }, diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index 35ae2d4afe..bdef1f15eb 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -37,9 +37,7 @@ import TabItem from '@theme/TabItem'; ```lua opts = { snippets = { - expand = function(snippet, _) - return LazyVim.cmp.expand(snippet) - end, + preset = "default", }, appearance = { @@ -139,9 +137,7 @@ opts = { ---@type blink.cmp.Config opts = { snippets = { - expand = function(snippet, _) - return LazyVim.cmp.expand(snippet) - end, + preset = "default", }, appearance = { diff --git a/docs/extras/coding/mini-snippets.md b/docs/extras/coding/mini-snippets.md index 1dedddda55..5a5c70d48b 100644 --- a/docs/extras/coding/mini-snippets.md +++ b/docs/extras/coding/mini-snippets.md @@ -13,7 +13,7 @@ Additional options for this extra can be configured in your [lua/config/options. ```lua title="lua/config/options.lua" -- Set to `false` to prevent "non-lsp snippets"" from appearing inside completion windows --- Motivation: Less clutter in completion windows and a more direct usage of snippits +-- Motivation: Less clutter in completion windows and a more direct usage of snippets vim.g.lazyvim_mini_snippets_in_completion = true -- NOTE: Please also read: diff --git a/docs/extras/lang/clangd.md b/docs/extras/lang/clangd.md index 442ef4d901..65014a9ce8 100644 --- a/docs/extras/lang/clangd.md +++ b/docs/extras/lang/clangd.md @@ -137,7 +137,7 @@ opts = { -- Ensure mason installs the server clangd = { keys = { - { "ch", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, + { "ch", "LspClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, }, root_markers = { "compile_commands.json", @@ -194,7 +194,7 @@ opts = { -- Ensure mason installs the server clangd = { keys = { - { "ch", "ClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, + { "ch", "LspClangdSwitchSourceHeader", desc = "Switch Source/Header (C/C++)" }, }, root_markers = { "compile_commands.json", diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 9d4f003081..9722fb554f 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -288,7 +288,9 @@ end }, settings = opts.settings, -- enable CMP capabilities - capabilities = LazyVim.has("cmp-nvim-lsp") and require("cmp_nvim_lsp").default_capabilities() or nil, + capabilities = LazyVim.has("blink.cmp") and require("blink.cmp").get_lsp_capabilities() or LazyVim.has( + "cmp-nvim-lsp" + ) and require("cmp_nvim_lsp").default_capabilities() or nil, }, opts.jdtls) -- Existing server will be reused if the root_dir matches. diff --git a/docs/extras/lang/omnisharp.md b/docs/extras/lang/omnisharp.md index a136c3de28..0b733866d5 100644 --- a/docs/extras/lang/omnisharp.md +++ b/docs/extras/lang/omnisharp.md @@ -166,7 +166,7 @@ opts = { -## [neotest-dotnet](https://github.com/Issafalcon/neotest-dotnet) +## [neotest-vstest](https://github.com/Nsidorenco/neotest-vstest) @@ -183,7 +183,7 @@ opts = nil ```lua { - "Issafalcon/neotest-dotnet", + "Nsidorenco/neotest-vstest", } ``` @@ -237,12 +237,6 @@ opts = { formatters_by_ft = { cs = { "csharpier" }, }, - formatters = { - csharpier = { - command = "dotnet-csharpier", - args = { "--write-stdout" }, - }, - }, } ``` @@ -259,12 +253,6 @@ opts = { formatters_by_ft = { cs = { "csharpier" }, }, - formatters = { - csharpier = { - command = "dotnet-csharpier", - args = { "--write-stdout" }, - }, - }, }, } ``` @@ -365,8 +353,8 @@ end ```lua opts = { adapters = { - ["neotest-dotnet"] = { - -- Here we can set options for neotest-dotnet + ["neotest-vstest"] = { + -- Here we can set options for neotest-vstest }, }, } @@ -382,12 +370,12 @@ opts = { "nvim-neotest/neotest", optional = true, dependencies = { - "Issafalcon/neotest-dotnet", + "Nsidorenco/neotest-vstest", }, opts = { adapters = { - ["neotest-dotnet"] = { - -- Here we can set options for neotest-dotnet + ["neotest-vstest"] = { + -- Here we can set options for neotest-vstest }, }, }, diff --git a/docs/extras/lang/python.md b/docs/extras/lang/python.md index 181e096d38..293afdf995 100644 --- a/docs/extras/lang/python.md +++ b/docs/extras/lang/python.md @@ -238,11 +238,7 @@ opts = {} { "dPc", function() require('dap-python').test_class() end, desc = "Debug Class", ft = "python" }, }, config = function() - if vim.fn.has("win32") == 1 then - require("dap-python").setup(LazyVim.get_pkg_path("debugpy", "/venv/Scripts/pythonw.exe")) - else - require("dap-python").setup(LazyVim.get_pkg_path("debugpy", "/venv/bin/python")) - end + require("dap-python").setup("debugpy-adapter") end, } ``` @@ -362,11 +358,7 @@ opts = nil { "dPc", function() require('dap-python').test_class() end, desc = "Debug Class", ft = "python" }, }, config = function() - if vim.fn.has("win32") == 1 then - require("dap-python").setup(LazyVim.get_pkg_path("debugpy", "/venv/Scripts/pythonw.exe")) - else - require("dap-python").setup(LazyVim.get_pkg_path("debugpy", "/venv/bin/python")) - end + require("dap-python").setup("debugpy-adapter") end, }, } diff --git a/docs/extras/lang/rust.md b/docs/extras/lang/rust.md index 589654b997..aad3506764 100644 --- a/docs/extras/lang/rust.md +++ b/docs/extras/lang/rust.md @@ -147,16 +147,12 @@ opts = { }, procMacro = { enable = true, - ignored = { - ["async-trait"] = { "async_trait" }, - ["napi-derive"] = { "napi" }, - ["async-recursion"] = { "async_recursion" }, - }, }, files = { - excludeDirs = { + exclude = { ".direnv", ".git", + ".jj", ".github", ".gitlab", "bin", @@ -165,6 +161,8 @@ opts = { "venv", ".venv", }, + -- Avoid Roots Scanned hanging, see https://github.com/rust-lang/rust-analyzer/issues/12613#issuecomment-2096386344 + watcher = "client", }, }, }, @@ -209,16 +207,12 @@ opts = { }, procMacro = { enable = true, - ignored = { - ["async-trait"] = { "async_trait" }, - ["napi-derive"] = { "napi" }, - ["async-recursion"] = { "async_recursion" }, - }, }, files = { - excludeDirs = { + exclude = { ".direnv", ".git", + ".jj", ".github", ".gitlab", "bin", @@ -227,6 +221,8 @@ opts = { "venv", ".venv", }, + -- Avoid Roots Scanned hanging, see https://github.com/rust-lang/rust-analyzer/issues/12613#issuecomment-2096386344 + watcher = "client", }, }, }, diff --git a/docs/extras/lang/tex.md b/docs/extras/lang/tex.md index cdf44203aa..76a406b459 100644 --- a/docs/extras/lang/tex.md +++ b/docs/extras/lang/tex.md @@ -30,7 +30,7 @@ import TabItem from '@theme/TabItem'; opts = function(_, opts) opts.highlight = opts.highlight or {} if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "bibtex" }) + vim.list_extend(opts.ensure_installed, { "bibtex", "latex" }) end if type(opts.highlight.disable) == "table" then vim.list_extend(opts.highlight.disable, { "latex" }) @@ -51,7 +51,7 @@ end opts = function(_, opts) opts.highlight = opts.highlight or {} if type(opts.ensure_installed) == "table" then - vim.list_extend(opts.ensure_installed, { "bibtex" }) + vim.list_extend(opts.ensure_installed, { "bibtex", "latex" }) end if type(opts.highlight.disable) == "table" then vim.list_extend(opts.highlight.disable, { "latex" }) diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index 755dff1beb..41f97bf66f 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -80,7 +80,8 @@ opts = { { "gD", function() - local params = vim.lsp.util.make_position_params() + local win = vim.api.nvim_get_current_win() + local params = vim.lsp.util.make_position_params(win, "utf-16") LazyVim.lsp.execute({ command = "typescript.goToSourceDefinition", arguments = { params.textDocument.uri, params.position }, @@ -283,7 +284,8 @@ opts = { { "gD", function() - local params = vim.lsp.util.make_position_params() + local win = vim.api.nvim_get_current_win() + local params = vim.lsp.util.make_position_params(win, "utf-16") LazyVim.lsp.execute({ command = "typescript.goToSourceDefinition", arguments = { params.textDocument.uri, params.position }, diff --git a/docs/extras/test/core.md b/docs/extras/test/core.md index 7c3f060cbb..ab6e7c9847 100644 --- a/docs/extras/test/core.md +++ b/docs/extras/test/core.md @@ -176,6 +176,7 @@ opts = { -- stylua: ignore keys = { {"t", "", desc = "+test"}, + { "ta", function() require("neotest").run.attach() end, desc = "Attach to Test (Neotest)" }, { "tt", function() require("neotest").run.run(vim.fn.expand("%")) end, desc = "Run File (Neotest)" }, { "tT", function() require("neotest").run.run(vim.uv.cwd()) end, desc = "Run All Test Files (Neotest)" }, { "tr", function() require("neotest").run.run() end, desc = "Run Nearest (Neotest)" }, diff --git a/docs/extras/ui/mini-indentscope.md b/docs/extras/ui/mini-indentscope.md index f8810aec93..084917e5f9 100644 --- a/docs/extras/ui/mini-indentscope.md +++ b/docs/extras/ui/mini-indentscope.md @@ -63,6 +63,7 @@ opts = { "mason", "neo-tree", "notify", + "sidekick_terminal", "snacks_dashboard", "snacks_notif", "snacks_terminal", @@ -128,7 +129,7 @@ opts = { ## [indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) _(optional)_ - disable inent-blankline scope when mini-indentscope is enabled + disable indent-blankline scope when mini-indentscope is enabled diff --git a/docs/extras/util/rest.md b/docs/extras/util/rest.md index fb8b9821d8..b828adc996 100644 --- a/docs/extras/util/rest.md +++ b/docs/extras/util/rest.md @@ -37,8 +37,8 @@ opts = {} "mistweaverco/kulala.nvim", ft = "http", keys = { - { "R", "", desc = "+Rest", ft = "http" }, - { "Rb", "lua require('kulala').scratchpad()", desc = "Open scratchpad", ft = "http" }, + { "R", "", desc = "+Rest" }, + { "Rb", "lua require('kulala').scratchpad()", desc = "Open scratchpad" }, { "Rc", "lua require('kulala').copy()", desc = "Copy as cURL", ft = "http" }, { "RC", "lua require('kulala').from_curl()", desc = "Paste from curl", ft = "http" }, { "Re", "lua require('kulala').set_selected_env()", desc = "Set environment", ft = "http" }, @@ -52,7 +52,7 @@ opts = {} { "Rn", "lua require('kulala').jump_next()", desc = "Jump to next request", ft = "http" }, { "Rp", "lua require('kulala').jump_prev()", desc = "Jump to previous request", ft = "http" }, { "Rq", "lua require('kulala').close()", desc = "Close window", ft = "http" }, - { "Rr", "lua require('kulala').replay()", desc = "Replay the last request", ft = "http" }, + { "Rr", "lua require('kulala').replay()", desc = "Replay the last request" }, { "Rs", "lua require('kulala').run()", desc = "Send the request", ft = "http" }, { "RS", "lua require('kulala').show_stats()", desc = "Show stats", ft = "http" }, { "Rt", "lua require('kulala').toggle_view()", desc = "Toggle headers/body", ft = "http" }, diff --git a/docs/keymaps.md b/docs/keymaps.md index 5dda2c789b..1a3ff6085d 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -622,6 +622,7 @@ Part of [lazyvim.plugins.extras.test.core](/extras/test/core) | Key | Description | Mode | | --- | --- | --- | | <leader>t | +test | **n** | +| <leader>ta | Attach to Test (Neotest) | **n** | | <leader>tl | Run Last (Neotest) | **n** | | <leader>to | Show Output (Neotest) | **n** | | <leader>tO | Toggle Output Panel (Neotest) | **n** | From 193c35f13ac24652511c2fce3079742d592db893 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 19 Oct 2025 21:17:33 +0000 Subject: [PATCH 175/187] chore(build): auto-generate docs --- docs/extras/ai/sidekick.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/docs/extras/ai/sidekick.md b/docs/extras/ai/sidekick.md index ebb4790eca..9deb6f8836 100644 --- a/docs/extras/ai/sidekick.md +++ b/docs/extras/ai/sidekick.md @@ -183,6 +183,19 @@ opts = function(_, opts) return { fg = Snacks.util.color(hl) } end, }) + + table.insert(opts.sections.lualine_x, 2, { + function() + local status = require("sidekick.status").cli() + return " " .. (#status > 1 and #status or "") + end, + cond = function() + return #require("sidekick.status").cli() > 0 + end, + color = function() + return { fg = Snacks.util.color("Special") } + end, + }) end ``` @@ -217,6 +230,19 @@ end return { fg = Snacks.util.color(hl) } end, }) + + table.insert(opts.sections.lualine_x, 2, { + function() + local status = require("sidekick.status").cli() + return " " .. (#status > 1 and #status or "") + end, + cond = function() + return #require("sidekick.status").cli() > 0 + end, + color = function() + return { fg = Snacks.util.color("Special") } + end, + }) end, } ``` @@ -236,7 +262,7 @@ opts = { picker = { actions = { sidekick_send = function(...) - return require("sidekick.cli.snacks").send(...) + return require("sidekick.cli.picker.snacks").send(...) end, }, win = { @@ -266,7 +292,7 @@ opts = { picker = { actions = { sidekick_send = function(...) - return require("sidekick.cli.snacks").send(...) + return require("sidekick.cli.picker.snacks").send(...) end, }, win = { From d1cfb4df486acbe635bbf6014b2d7ff69a7c79bf Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 05:21:50 +0000 Subject: [PATCH 176/187] chore(build): auto-generate docs --- docs/extras/editor/fzf.md | 11 +++++--- docs/extras/editor/telescope.md | 10 ++++--- docs/extras/lang/nix.md | 35 ++++++++++++++++++++++++ docs/extras/lang/typescript.md | 48 +++++++++++++++++++++++++++++++++ 4 files changed, 98 insertions(+), 6 deletions(-) diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index bccd92f3ea..2701c35766 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -354,6 +354,7 @@ end { "", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, -- find { "fb", "FzfLua buffers sort_mru=true sort_lastused=true", desc = "Buffers" }, + { "fB", "FzfLua buffers", desc = "Buffers (all)" }, { "fc", LazyVim.pick.config_files(), desc = "Find Config File" }, { "ff", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, { "fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, @@ -362,15 +363,19 @@ end { "fR", LazyVim.pick("oldfiles", { cwd = vim.uv.cwd() }), desc = "Recent (cwd)" }, -- git { "gc", "FzfLua git_commits", desc = "Commits" }, + { "gd", "FzfLua git_diff", desc = "Git Diff (hunks)" }, + { "gl", "FzfLua git_commits", desc = "Commits" }, { "gs", "FzfLua git_status", desc = "Status" }, + { "gS", "FzfLua git_stash", desc = "Git Stash" }, -- search { 's"', "FzfLua registers", desc = "Registers" }, + { 's/', "FzfLua search_history", desc = "Search History" }, { "sa", "FzfLua autocmds", desc = "Auto Commands" }, - { "sb", "FzfLua grep_curbuf", desc = "Buffer" }, + { "sb", "FzfLua lines", desc = "Buffer Lines" }, { "sc", "FzfLua command_history", desc = "Command History" }, { "sC", "FzfLua commands", desc = "Commands" }, - { "sd", "FzfLua diagnostics_document", desc = "Document Diagnostics" }, - { "sD", "FzfLua diagnostics_workspace", desc = "Workspace Diagnostics" }, + { "sd", "FzfLua diagnostics_workspace", desc = "Diagnostics" }, + { "sD", "FzfLua diagnostics_document", desc = "Buffer Diagnostics" }, { "sg", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" }, { "sG", LazyVim.pick("live_grep", { root = false }), desc = "Grep (cwd)" }, { "sh", "FzfLua help_tags", desc = "Help Pages" }, diff --git a/docs/extras/editor/telescope.md b/docs/extras/editor/telescope.md index a8f06c8a7f..f68f4a6b62 100644 --- a/docs/extras/editor/telescope.md +++ b/docs/extras/editor/telescope.md @@ -163,6 +163,7 @@ end "Telescope buffers sort_mru=true sort_lastused=true ignore_current_buffer=true", desc = "Buffers", }, + { "fB", "Telescope buffers", desc = "Buffers (all)" }, { "fc", LazyVim.pick.config_files(), desc = "Find Config File" }, { "ff", LazyVim.pick("files"), desc = "Find Files (Root Dir)" }, { "fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" }, @@ -171,15 +172,18 @@ end { "fR", LazyVim.pick("oldfiles", { cwd = vim.uv.cwd() }), desc = "Recent (cwd)" }, -- git { "gc", "Telescope git_commits", desc = "Commits" }, + { "gl", "Telescope git_commits", desc = "Commits" }, { "gs", "Telescope git_status", desc = "Status" }, + { "gS", "Telescope git_stash", desc = "Git Stash" }, -- search { 's"', "Telescope registers", desc = "Registers" }, + { 's/', "Telescope search_history", desc = "Search History" }, { "sa", "Telescope autocommands", desc = "Auto Commands" }, - { "sb", "Telescope current_buffer_fuzzy_find", desc = "Buffer" }, + { "sb", "Telescope current_buffer_fuzzy_find", desc = "Buffer Lines" }, { "sc", "Telescope command_history", desc = "Command History" }, { "sC", "Telescope commands", desc = "Commands" }, - { "sd", "Telescope diagnostics bufnr=0", desc = "Document Diagnostics" }, - { "sD", "Telescope diagnostics", desc = "Workspace Diagnostics" }, + { "sd", "Telescope diagnostics", desc = "Diagnostics" }, + { "sD", "Telescope diagnostics bufnr=0", desc = "Buffer Diagnostics" }, { "sg", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" }, { "sG", LazyVim.pick("live_grep", { root = false }), desc = "Grep (cwd)" }, { "sh", "Telescope help_tags", desc = "Help Pages" }, diff --git a/docs/extras/lang/nix.md b/docs/extras/lang/nix.md index a4087d1307..672c4053d5 100644 --- a/docs/extras/lang/nix.md +++ b/docs/extras/lang/nix.md @@ -112,4 +112,39 @@ opts = { +## [nvim-lint](https://github.com/mfussenegger/nvim-lint) _(optional)_ + + + + + +```lua +opts = { + linters_by_ft = { + nix = { "statix" }, + }, +} +``` + + + + + + +```lua +{ + "mfussenegger/nvim-lint", + optional = true, + opts = { + linters_by_ft = { + nix = { "statix" }, + }, + }, +} +``` + + + + + diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index 41f97bf66f..b829df4299 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -563,6 +563,10 @@ opts = function() for _, language in ipairs(js_filetypes) do if not dap.configurations[language] then + local runtimeExecutable = nil + if language:find("typescript") then + runtimeExecutable = vim.fn.executable("tsx") == 1 and "tsx" or "ts-node" + end dap.configurations[language] = { { type = "pwa-node", @@ -570,6 +574,16 @@ opts = function() name = "Launch file", program = "${file}", cwd = "${workspaceFolder}", + sourceMaps = true, + runtimeExecutable = runtimeExecutable, + skipFiles = { + "/**", + "node_modules/**", + }, + resolveSourceMapLocations = { + "${workspaceFolder}/**", + "!**/node_modules/**", + }, }, { type = "pwa-node", @@ -577,6 +591,16 @@ opts = function() name = "Attach", processId = require("dap.utils").pick_process, cwd = "${workspaceFolder}", + sourceMaps = true, + runtimeExecutable = runtimeExecutable, + skipFiles = { + "/**", + "node_modules/**", + }, + resolveSourceMapLocations = { + "${workspaceFolder}/**", + "!**/node_modules/**", + }, }, } end @@ -641,6 +665,10 @@ end for _, language in ipairs(js_filetypes) do if not dap.configurations[language] then + local runtimeExecutable = nil + if language:find("typescript") then + runtimeExecutable = vim.fn.executable("tsx") == 1 and "tsx" or "ts-node" + end dap.configurations[language] = { { type = "pwa-node", @@ -648,6 +676,16 @@ end name = "Launch file", program = "${file}", cwd = "${workspaceFolder}", + sourceMaps = true, + runtimeExecutable = runtimeExecutable, + skipFiles = { + "/**", + "node_modules/**", + }, + resolveSourceMapLocations = { + "${workspaceFolder}/**", + "!**/node_modules/**", + }, }, { type = "pwa-node", @@ -655,6 +693,16 @@ end name = "Attach", processId = require("dap.utils").pick_process, cwd = "${workspaceFolder}", + sourceMaps = true, + runtimeExecutable = runtimeExecutable, + skipFiles = { + "/**", + "node_modules/**", + }, + resolveSourceMapLocations = { + "${workspaceFolder}/**", + "!**/node_modules/**", + }, }, } end From c4f781ec98b62e48860b742a8875104058b75e92 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 06:33:30 +0000 Subject: [PATCH 177/187] chore(build): auto-generate docs --- docs/extras/editor/fzf.md | 2 +- docs/extras/editor/telescope.md | 2 +- docs/extras/lang/omnisharp.md | 12 ++++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index 2701c35766..a1ff980565 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -369,7 +369,7 @@ end { "gS", "FzfLua git_stash", desc = "Git Stash" }, -- search { 's"', "FzfLua registers", desc = "Registers" }, - { 's/', "FzfLua search_history", desc = "Search History" }, + { "s/", "FzfLua search_history", desc = "Search History" }, { "sa", "FzfLua autocmds", desc = "Auto Commands" }, { "sb", "FzfLua lines", desc = "Buffer Lines" }, { "sc", "FzfLua command_history", desc = "Command History" }, diff --git a/docs/extras/editor/telescope.md b/docs/extras/editor/telescope.md index f68f4a6b62..6bb435ecc7 100644 --- a/docs/extras/editor/telescope.md +++ b/docs/extras/editor/telescope.md @@ -177,7 +177,7 @@ end { "gS", "Telescope git_stash", desc = "Git Stash" }, -- search { 's"', "Telescope registers", desc = "Registers" }, - { 's/', "Telescope search_history", desc = "Search History" }, + { "s/", "Telescope search_history", desc = "Search History" }, { "sa", "Telescope autocommands", desc = "Auto Commands" }, { "sb", "Telescope current_buffer_fuzzy_find", desc = "Buffer Lines" }, { "sc", "Telescope command_history", desc = "Command History" }, diff --git a/docs/extras/lang/omnisharp.md b/docs/extras/lang/omnisharp.md index 0b733866d5..188485c486 100644 --- a/docs/extras/lang/omnisharp.md +++ b/docs/extras/lang/omnisharp.md @@ -47,7 +47,7 @@ opts = nil ```lua -opts = { ensure_installed = { "c_sharp" } } +opts = { ensure_installed = { "c_sharp", "fsharp" } } ``` @@ -58,7 +58,7 @@ opts = { ensure_installed = { "c_sharp" } } ```lua { "nvim-treesitter/nvim-treesitter", - opts = { ensure_installed = { "c_sharp" } }, + opts = { ensure_installed = { "c_sharp", "fsharp" } }, } ``` @@ -73,7 +73,7 @@ opts = { ensure_installed = { "c_sharp" } } ```lua -opts = { ensure_installed = { "csharpier", "netcoredbg" } } +opts = { ensure_installed = { "csharpier", "netcoredbg", "fsautocomplete", "fantomas" } } ``` @@ -84,7 +84,7 @@ opts = { ensure_installed = { "csharpier", "netcoredbg" } } ```lua { "mason-org/mason.nvim", - opts = { ensure_installed = { "csharpier", "netcoredbg" } }, + opts = { ensure_installed = { "csharpier", "netcoredbg", "fsautocomplete", "fantomas" } }, } ``` @@ -202,6 +202,7 @@ opts = function(_, opts) local nls = require("null-ls") opts.sources = opts.sources or {} table.insert(opts.sources, nls.builtins.formatting.csharpier) + table.insert(opts.sources, nls.builtins.formatting.fantomas) end ``` @@ -218,6 +219,7 @@ end local nls = require("null-ls") opts.sources = opts.sources or {} table.insert(opts.sources, nls.builtins.formatting.csharpier) + table.insert(opts.sources, nls.builtins.formatting.fantomas) end, } ``` @@ -236,6 +238,7 @@ end opts = { formatters_by_ft = { cs = { "csharpier" }, + fsharp = { "fantomas" }, }, } ``` @@ -252,6 +255,7 @@ opts = { opts = { formatters_by_ft = { cs = { "csharpier" }, + fsharp = { "fantomas" }, }, }, } From 366606c0a7bf5a65b9570bf61ab89469fe83d9e4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 07:21:48 +0000 Subject: [PATCH 178/187] chore(build): auto-generate docs --- docs/configuration/general.md | 6 +- docs/extras/ai/copilot-chat.md | 10 +- docs/extras/coding/mini-surround.md | 2 +- docs/extras/dap/core.md | 2 +- docs/extras/editor/dial.md | 4 +- docs/extras/editor/fzf.md | 4 +- docs/extras/editor/telescope.md | 4 +- docs/extras/lang/clojure.md | 4 +- docs/extras/lang/{omnisharp.md => dotnet.md} | 8 +- docs/extras/lang/java.md | 2 +- docs/extras/lang/r.md | 8 +- docs/extras/lang/scala.md | 203 +++++++++---------- docs/extras/util/project.md | 24 +-- docs/keymaps.md | 37 ++-- docs/plugins/editor.md | 14 +- docs/plugins/formatting.md | 2 +- 16 files changed, 163 insertions(+), 171 deletions(-) rename docs/extras/lang/{omnisharp.md => dotnet.md} (97%) diff --git a/docs/configuration/general.md b/docs/configuration/general.md index c53f3e9a58..162408e155 100644 --- a/docs/configuration/general.md +++ b/docs/configuration/general.md @@ -273,8 +273,8 @@ map({ "i", "x", "n", "s" }, "", "w", { desc = "Save File" }) map("n", "K", "norm! K", { desc = "Keywordprg" }) -- better indenting -map("v", "<", "", ">gv") +map("x", "<", "", ">gv") -- commenting map("n", "gco", "oVcxnormal gccfxa", { desc = "Add Comment Below" }) @@ -306,7 +306,7 @@ map("n", "[q", vim.cmd.cprev, { desc = "Previous Quickfix" }) map("n", "]q", vim.cmd.cnext, { desc = "Next Quickfix" }) -- formatting -map({ "n", "v" }, "cf", function() +map({ "n", "x" }, "cf", function() LazyVim.format({ force = true }) end, { desc = "Format" }) diff --git a/docs/extras/ai/copilot-chat.md b/docs/extras/ai/copilot-chat.md index 2a427ed5a2..8239b0135e 100644 --- a/docs/extras/ai/copilot-chat.md +++ b/docs/extras/ai/copilot-chat.md @@ -68,14 +68,14 @@ end end, keys = { { "", "", ft = "copilot-chat", desc = "Submit Prompt", remap = true }, - { "a", "", desc = "+ai", mode = { "n", "v" } }, + { "a", "", desc = "+ai", mode = { "n", "x" } }, { "aa", function() return require("CopilotChat").toggle() end, desc = "Toggle (CopilotChat)", - mode = { "n", "v" }, + mode = { "n", "x" }, }, { "ax", @@ -83,7 +83,7 @@ end return require("CopilotChat").reset() end, desc = "Clear (CopilotChat)", - mode = { "n", "v" }, + mode = { "n", "x" }, }, { "aq", @@ -97,7 +97,7 @@ end end) end, desc = "Quick Chat (CopilotChat)", - mode = { "n", "v" }, + mode = { "n", "x" }, }, { "ap", @@ -105,7 +105,7 @@ end require("CopilotChat").select_prompt() end, desc = "Prompt Actions (CopilotChat)", - mode = { "n", "v" }, + mode = { "n", "x" }, }, }, config = function(_, opts) diff --git a/docs/extras/coding/mini-surround.md b/docs/extras/coding/mini-surround.md index de7f962d36..18936e944b 100644 --- a/docs/extras/coding/mini-surround.md +++ b/docs/extras/coding/mini-surround.md @@ -49,7 +49,7 @@ opts = { -- Populate the keys based on the user's options local opts = LazyVim.opts("mini.surround") local mappings = { - { opts.mappings.add, desc = "Add Surrounding", mode = { "n", "v" } }, + { opts.mappings.add, desc = "Add Surrounding", mode = { "n", "x" } }, { opts.mappings.delete, desc = "Delete Surrounding" }, { opts.mappings.find, desc = "Find Right Surrounding" }, { opts.mappings.find_left, desc = "Find Left Surrounding" }, diff --git a/docs/extras/dap/core.md b/docs/extras/dap/core.md index edb040628e..b3a46c7e6f 100644 --- a/docs/extras/dap/core.md +++ b/docs/extras/dap/core.md @@ -182,7 +182,7 @@ opts = {} -- stylua: ignore keys = { { "du", function() require("dapui").toggle({ }) end, desc = "Dap UI" }, - { "de", function() require("dapui").eval() end, desc = "Eval", mode = {"n", "v"} }, + { "de", function() require("dapui").eval() end, desc = "Eval", mode = {"n", "x"} }, }, opts = {}, config = function(_, opts) diff --git a/docs/extras/editor/dial.md b/docs/extras/editor/dial.md index 5e852ea13b..0cbf7d4c33 100644 --- a/docs/extras/editor/dial.md +++ b/docs/extras/editor/dial.md @@ -183,8 +183,8 @@ end keys = { { "", function() return M.dial(true) end, expr = true, desc = "Increment", mode = {"n", "v"} }, { "", function() return M.dial(false) end, expr = true, desc = "Decrement", mode = {"n", "v"} }, - { "g", function() return M.dial(true, true) end, expr = true, desc = "Increment", mode = {"n", "v"} }, - { "g", function() return M.dial(false, true) end, expr = true, desc = "Decrement", mode = {"n", "v"} }, + { "g", function() return M.dial(true, true) end, expr = true, desc = "Increment", mode = {"n", "x"} }, + { "g", function() return M.dial(false, true) end, expr = true, desc = "Decrement", mode = {"n", "x"} }, }, opts = function() local augend = require("dial.augend") diff --git a/docs/extras/editor/fzf.md b/docs/extras/editor/fzf.md index a1ff980565..a9a3d54590 100644 --- a/docs/extras/editor/fzf.md +++ b/docs/extras/editor/fzf.md @@ -389,8 +389,8 @@ end { "sq", "FzfLua quickfix", desc = "Quickfix List" }, { "sw", LazyVim.pick("grep_cword"), desc = "Word (Root Dir)" }, { "sW", LazyVim.pick("grep_cword", { root = false }), desc = "Word (cwd)" }, - { "sw", LazyVim.pick("grep_visual"), mode = "v", desc = "Selection (Root Dir)" }, - { "sW", LazyVim.pick("grep_visual", { root = false }), mode = "v", desc = "Selection (cwd)" }, + { "sw", LazyVim.pick("grep_visual"), mode = "x", desc = "Selection (Root Dir)" }, + { "sW", LazyVim.pick("grep_visual", { root = false }), mode = "x", desc = "Selection (cwd)" }, { "uC", LazyVim.pick("colorschemes"), desc = "Colorscheme with Preview" }, { "ss", diff --git a/docs/extras/editor/telescope.md b/docs/extras/editor/telescope.md index 6bb435ecc7..256a1155dc 100644 --- a/docs/extras/editor/telescope.md +++ b/docs/extras/editor/telescope.md @@ -198,8 +198,8 @@ end { "sq", "Telescope quickfix", desc = "Quickfix List" }, { "sw", LazyVim.pick("grep_string", { word_match = "-w" }), desc = "Word (Root Dir)" }, { "sW", LazyVim.pick("grep_string", { root = false, word_match = "-w" }), desc = "Word (cwd)" }, - { "sw", LazyVim.pick("grep_string"), mode = "v", desc = "Selection (Root Dir)" }, - { "sW", LazyVim.pick("grep_string", { root = false }), mode = "v", desc = "Selection (cwd)" }, + { "sw", LazyVim.pick("grep_string"), mode = "x", desc = "Selection (Root Dir)" }, + { "sW", LazyVim.pick("grep_string", { root = false }), mode = "x", desc = "Selection (cwd)" }, { "uC", LazyVim.pick("colorscheme", { enable_preview = true }), desc = "Colorscheme with Preview" }, { "ss", diff --git a/docs/extras/lang/clojure.md b/docs/extras/lang/clojure.md index ad7350c28a..d29859fc10 100644 --- a/docs/extras/lang/clojure.md +++ b/docs/extras/lang/clojure.md @@ -187,13 +187,13 @@ opts = {} end vim.keymap.set( - { "n", "v" }, + { "n", "x" }, "[c", "call search('^; -\\+$', 'bw')", { silent = true, buffer = true, desc = "Jumps to the begining of previous evaluation output." } ) vim.keymap.set( - { "n", "v" }, + { "n", "x" }, "]c", "call search('^; -\\+$', 'w')", { silent = true, buffer = true, desc = "Jumps to the begining of next evaluation output." } diff --git a/docs/extras/lang/omnisharp.md b/docs/extras/lang/dotnet.md similarity index 97% rename from docs/extras/lang/omnisharp.md rename to docs/extras/lang/dotnet.md index 188485c486..912637076f 100644 --- a/docs/extras/lang/omnisharp.md +++ b/docs/extras/lang/dotnet.md @@ -1,4 +1,4 @@ -# `Omnisharp` +# `Dotnet` @@ -73,7 +73,7 @@ opts = { ensure_installed = { "c_sharp", "fsharp" } } ```lua -opts = { ensure_installed = { "csharpier", "netcoredbg", "fsautocomplete", "fantomas" } } +opts = { ensure_installed = { "csharpier", "netcoredbg", "fantomas" } } ``` @@ -84,7 +84,7 @@ opts = { ensure_installed = { "csharpier", "netcoredbg", "fsautocomplete", "fant ```lua { "mason-org/mason.nvim", - opts = { ensure_installed = { "csharpier", "netcoredbg", "fsautocomplete", "fantomas" } }, + opts = { ensure_installed = { "csharpier", "netcoredbg", "fantomas" } }, } ``` @@ -101,6 +101,7 @@ opts = { ensure_installed = { "csharpier", "netcoredbg", "fsautocomplete", "fant ```lua opts = { servers = { + fsautocomplete = {}, omnisharp = { handlers = { ["textDocument/definition"] = function(...) @@ -136,6 +137,7 @@ opts = { "neovim/nvim-lspconfig", opts = { servers = { + fsautocomplete = {}, omnisharp = { handlers = { ["textDocument/definition"] = function(...) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 9722fb554f..b0bd8966df 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -328,7 +328,7 @@ end }) wk.add({ { - mode = "v", + mode = "x", buffer = args.buf, { "cx", group = "extract" }, { diff --git a/docs/extras/lang/r.md b/docs/extras/lang/r.md index 3db28e27a8..ac20fae443 100644 --- a/docs/extras/lang/r.md +++ b/docs/extras/lang/r.md @@ -33,12 +33,12 @@ opts = { -- of files supported by R.nvim. This is an -- opportunity to create mappings local to buffers. vim.keymap.set("n", "", "RDSendLine", { buffer = true }) - vim.keymap.set("v", "", "RSendSelection", { buffer = true }) + vim.keymap.set("x", "", "RSendSelection", { buffer = true }) local wk = require("which-key") wk.add({ buffer = true, - mode = { "n", "v" }, + mode = { "n", "x" }, { "a", group = "all" }, { "b", group = "between marks" }, { "c", group = "chunks" }, @@ -77,12 +77,12 @@ opts = { -- of files supported by R.nvim. This is an -- opportunity to create mappings local to buffers. vim.keymap.set("n", "", "RDSendLine", { buffer = true }) - vim.keymap.set("v", "", "RSendSelection", { buffer = true }) + vim.keymap.set("x", "", "RSendSelection", { buffer = true }) local wk = require("which-key") wk.add({ buffer = true, - mode = { "n", "v" }, + mode = { "n", "x" }, { "a", group = "all" }, { "b", group = "between marks" }, { "c", group = "chunks" }, diff --git a/docs/extras/lang/scala.md b/docs/extras/lang/scala.md index 31e2d77085..7c7a4ff731 100644 --- a/docs/extras/lang/scala.md +++ b/docs/extras/lang/scala.md @@ -50,7 +50,32 @@ opts = { ensure_installed = { "scala" } } ```lua -opts = {} +opts = function() + local metals_config = require("metals").bare_config() + + metals_config.init_options.statusBarProvider = "off" + + metals_config.settings = { + verboseCompilation = true, + showImplicitArguments = true, + showImplicitConversionsAndClasses = true, + showInferredType = true, + superMethodLensesEnabled = true, + excludedPackages = { + "akka.actor.typed.javadsl", + "org.apache.pekko.actor.typed.javadsl", + "com.github.swagger.akka.javadsl", + }, + testUserInterface = "Test Explorer", + } + + metals_config.on_attach = function(client, bufnr) + -- your on_attach function + require("metals").setup_dap() + end + + return metals_config +end ``` @@ -61,8 +86,69 @@ opts = {} ```lua { "scalameta/nvim-metals", - ft = { "scala", "sbt" }, - config = function() end, + dependencies = { + "nvim-lua/plenary.nvim", + }, + keys = { + { + "me", + function() + require("telescope").extensions.metals.commands() + end, + desc = "Metals commands", + }, + { + "mc", + function() + require("metals").compile_cascade() + end, + desc = "Metals compile cascade", + }, + { + "mh", + function() + require("metals").hover_worksheet() + end, + desc = "Metals hover worksheet", + }, + }, + ft = { "scala", "sbt", "java" }, + opts = function() + local metals_config = require("metals").bare_config() + + metals_config.init_options.statusBarProvider = "off" + + metals_config.settings = { + verboseCompilation = true, + showImplicitArguments = true, + showImplicitConversionsAndClasses = true, + showInferredType = true, + superMethodLensesEnabled = true, + excludedPackages = { + "akka.actor.typed.javadsl", + "org.apache.pekko.actor.typed.javadsl", + "com.github.swagger.akka.javadsl", + }, + testUserInterface = "Test Explorer", + } + + metals_config.on_attach = function(client, bufnr) + -- your on_attach function + require("metals").setup_dap() + end + + return metals_config + end, + config = function(self, metals_config) + local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true }) + vim.api.nvim_create_autocmd("FileType", { + pattern = self.ft, + callback = function() + require("metals").initialize_or_attach(metals_config) + end, + group = nvim_metals_group, + }) + end, } ``` @@ -70,66 +156,14 @@ opts = {} -## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) +## [plenary.nvim](https://github.com/nvim-lua/plenary.nvim) ```lua -opts = { - servers = { - metals = { - keys = { - { - "me", - function() - require("telescope").extensions.metals.commands() - end, - desc = "Metals commands", - }, - { - "mc", - function() - require("metals").compile_cascade() - end, - desc = "Metals compile cascade", - }, - { - "mh", - function() - require("metals").hover_worksheet() - end, - desc = "Metals hover worksheet", - }, - }, - init_options = { - statusBarProvider = "off", - }, - settings = { - showImplicitArguments = true, - excludedPackages = { "akka.actor.typed.javadsl", "com.github.swagger.akka.javadsl" }, - }, - }, - }, - setup = { - metals = function(_, opts) - local metals = require("metals") - local metals_config = vim.tbl_deep_extend("force", metals.bare_config(), opts) - metals_config.on_attach = LazyVim.has("nvim-dap") and metals.setup_dap or nil - - local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true }) - vim.api.nvim_create_autocmd("FileType", { - pattern = { "scala", "sbt" }, - callback = function() - metals.initialize_or_attach(metals_config) - end, - group = nvim_metals_group, - }) - return true - end, - }, -} +opts = nil ``` @@ -139,60 +173,7 @@ opts = { ```lua { - "neovim/nvim-lspconfig", - opts = { - servers = { - metals = { - keys = { - { - "me", - function() - require("telescope").extensions.metals.commands() - end, - desc = "Metals commands", - }, - { - "mc", - function() - require("metals").compile_cascade() - end, - desc = "Metals compile cascade", - }, - { - "mh", - function() - require("metals").hover_worksheet() - end, - desc = "Metals hover worksheet", - }, - }, - init_options = { - statusBarProvider = "off", - }, - settings = { - showImplicitArguments = true, - excludedPackages = { "akka.actor.typed.javadsl", "com.github.swagger.akka.javadsl" }, - }, - }, - }, - setup = { - metals = function(_, opts) - local metals = require("metals") - local metals_config = vim.tbl_deep_extend("force", metals.bare_config(), opts) - metals_config.on_attach = LazyVim.has("nvim-dap") and metals.setup_dap or nil - - local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true }) - vim.api.nvim_create_autocmd("FileType", { - pattern = { "scala", "sbt" }, - callback = function() - metals.initialize_or_attach(metals_config) - end, - group = nvim_metals_group, - }) - return true - end, - }, - }, + "nvim-lua/plenary.nvim", } ``` diff --git a/docs/extras/util/project.md b/docs/extras/util/project.md index 24f4d56ec2..4514dd451d 100644 --- a/docs/extras/util/project.md +++ b/docs/extras/util/project.md @@ -129,7 +129,7 @@ opts = nil ```lua opts = function(_, dashboard) - local button = dashboard.button("p", " " .. " Projects", pick) + local button = dashboard.button("P", " " .. " Projects (util.project)", pick) button.opts.hl = "AlphaButtons" button.opts.hl_shortcut = "AlphaShortcut" table.insert(dashboard.section.buttons.val, 4, button) @@ -146,7 +146,7 @@ end "goolord/alpha-nvim", optional = true, opts = function(_, dashboard) - local button = dashboard.button("p", " " .. " Projects", pick) + local button = dashboard.button("P", " " .. " Projects (util.project)", pick) button.opts.hl = "AlphaButtons" button.opts.hl_shortcut = "AlphaShortcut" table.insert(dashboard.section.buttons.val, 4, button) @@ -168,7 +168,7 @@ end opts = function(_, opts) local items = { { - name = "Projects", + name = "Projects (util.project)", action = pick, section = string.rep(" ", 22) .. "Telescope", }, @@ -189,7 +189,7 @@ end opts = function(_, opts) local items = { { - name = "Projects", + name = "Projects (util.project)", action = pick, section = string.rep(" ", 22) .. "Telescope", }, @@ -216,9 +216,9 @@ opts = function(_, opts) end local projects = { action = pick, - desc = " Projects", + desc = " Projects (util.project)", icon = " ", - key = "p", + key = "P", } projects.desc = projects.desc .. string.rep(" ", 43 - #projects.desc) @@ -243,9 +243,9 @@ end end local projects = { action = pick, - desc = " Projects", + desc = " Projects (util.project)", icon = " ", - key = "p", + key = "P", } projects.desc = projects.desc .. string.rep(" ", 43 - #projects.desc) @@ -270,9 +270,9 @@ end opts = function(_, opts) table.insert(opts.dashboard.preset.keys, 3, { action = pick, - desc = "Projects", + desc = "Projects (util.project)", icon = " ", - key = "p", + key = "P", }) end ``` @@ -289,9 +289,9 @@ end opts = function(_, opts) table.insert(opts.dashboard.preset.keys, 3, { action = pick, - desc = "Projects", + desc = "Projects (util.project)", icon = " ", - key = "p", + key = "P", }) end, } diff --git a/docs/keymaps.md b/docs/keymaps.md index 1a3ff6085d..b3fcca52f4 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -56,7 +56,7 @@ possible keymaps starting with ``. | <leader>xq | Quickfix List | **n** | | [q | Previous Quickfix | **n** | | ]q | Next Quickfix | **n** | -| <leader>cf | Format | **n**, **v** | +| <leader>cf | Format | **n**, **x** | | <leader>cd | Line Diagnostics | **n** | | ]d | Next Diagnostic | **n** | | [d | Prev Diagnostic | **n** | @@ -123,8 +123,8 @@ possible keymaps starting with ``. | K | Hover | **n** | | gK | Signature Help | **n** | | <c-k> | Signature Help | **i** | -| <leader>ca | Code Action | **n**, **v** | -| <leader>cc | Run Codelens | **n**, **v** | +| <leader>ca | Code Action | **n**, **x** | +| <leader>cc | Run Codelens | **n**, **x** | | <leader>cC | Refresh & Display Codelens | **n** | | <leader>cR | Rename File | **n** | | <leader>cr | Rename | **n** | @@ -153,7 +153,7 @@ possible keymaps starting with ``. | Key | Description | Mode | | --- | --- | --- | -| <leader>cF | Format Injected Langs | **n**, **v** | +| <leader>cF | Format Injected Langs | **n**, **x** | ## [flash.nvim](https://github.com/folke/flash.nvim.git) @@ -170,7 +170,7 @@ possible keymaps starting with ``. | Key | Description | Mode | | --- | --- | --- | -| <leader>sr | Search and Replace | **n**, **v** | +| <leader>sr | Search and Replace | **n**, **x** | ## [mason.nvim](https://github.com/mason-org/mason.nvim.git) @@ -294,11 +294,11 @@ Part of [lazyvim.plugins.extras.ai.copilot-chat](/extras/ai/copilot-chat) | Key | Description | Mode | | --- | --- | --- | | <c-s> | Submit Prompt | **n** | -| <leader>a | +ai | **n**, **v** | -| <leader>aa | Toggle (CopilotChat) | **n**, **v** | -| <leader>ap | Prompt Actions (CopilotChat) | **n**, **v** | -| <leader>aq | Quick Chat (CopilotChat) | **n**, **v** | -| <leader>ax | Clear (CopilotChat) | **n**, **v** | +| <leader>a | +ai | **n**, **x** | +| <leader>aa | Toggle (CopilotChat) | **n**, **x** | +| <leader>ap | Prompt Actions (CopilotChat) | **n**, **x** | +| <leader>aq | Quick Chat (CopilotChat) | **n**, **x** | +| <leader>ax | Clear (CopilotChat) | **n**, **x** | ## [sidekick.nvim](https://github.com/folke/sidekick.nvim.git) Part of [lazyvim.plugins.extras.ai.sidekick](/extras/ai/sidekick) @@ -320,7 +320,7 @@ Part of [lazyvim.plugins.extras.coding.mini-surround](/extras/coding/mini-surrou | Key | Description | Mode | | --- | --- | --- | -| gsa | Add Surrounding | **n**, **v** | +| gsa | Add Surrounding | **n**, **x** | | gsd | Delete Surrounding | **n** | | gsf | Find Right Surrounding | **n** | | gsF | Find Left Surrounding | **n** | @@ -387,7 +387,7 @@ Part of [lazyvim.plugins.extras.dap.core](/extras/dap/core) | Key | Description | Mode | | --- | --- | --- | -| <leader>de | Eval | **n**, **v** | +| <leader>de | Eval | **n**, **x** | | <leader>du | Dap UI | **n** | ## [aerial.nvim](https://github.com/stevearc/aerial.nvim.git) @@ -411,8 +411,8 @@ Part of [lazyvim.plugins.extras.editor.dial](/extras/editor/dial) | --- | --- | --- | | <C-a> | Increment | **n**, **v** | | <C-x> | Decrement | **n**, **v** | -| g<C-a> | Increment | **n**, **v** | -| g<C-x> | Decrement | **n**, **v** | +| g<C-a> | Increment | **n**, **x** | +| g<C-x> | Decrement | **n**, **x** | ## [harpoon](https://github.com/ThePrimeagen/harpoon.git) Part of [lazyvim.plugins.extras.editor.harpoon2](/extras/editor/harpoon2) @@ -602,6 +602,15 @@ Part of [lazyvim.plugins.extras.lang.python](/extras/lang/python) | --- | --- | --- | | <leader>cv | Select VirtualEnv | **n** | +## [nvim-metals](https://github.com/scalameta/nvim-metals.git) +Part of [lazyvim.plugins.extras.lang.scala](/extras/lang/scala) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>mc | Metals compile cascade | **n** | +| <leader>me | Metals commands | **n** | +| <leader>mh | Metals hover worksheet | **n** | + ## [vim-dadbod-ui](https://github.com/kristijanhusak/vim-dadbod-ui.git) Part of [lazyvim.plugins.extras.lang.sql](/extras/lang/sql) diff --git a/docs/plugins/editor.md b/docs/plugins/editor.md index 983a7dbbed..06235c04da 100644 --- a/docs/plugins/editor.md +++ b/docs/plugins/editor.md @@ -41,7 +41,7 @@ opts = { headerMaxWidth = 80 } }, }) end, - mode = { "n", "v" }, + mode = { "n", "x" }, desc = "Search and Replace", }, }, @@ -120,7 +120,7 @@ opts = { defaults = {}, spec = { { - mode = { "n", "v" }, + mode = { "n", "x" }, { "", group = "tabs" }, { "c", group = "code" }, { "d", group = "debug" }, @@ -174,7 +174,7 @@ opts = { defaults = {}, spec = { { - mode = { "n", "v" }, + mode = { "n", "x" }, { "", group = "tabs" }, { "c", group = "code" }, { "d", group = "debug" }, @@ -294,8 +294,8 @@ opts = { end, "Prev Hunk") map("n", "]H", function() gs.nav_hunk("last") end, "Last Hunk") map("n", "[H", function() gs.nav_hunk("first") end, "First Hunk") - map({ "n", "v" }, "ghs", ":Gitsigns stage_hunk", "Stage Hunk") - map({ "n", "v" }, "ghr", ":Gitsigns reset_hunk", "Reset Hunk") + map({ "n", "x" }, "ghs", ":Gitsigns stage_hunk", "Stage Hunk") + map({ "n", "x" }, "ghr", ":Gitsigns reset_hunk", "Reset Hunk") map("n", "ghS", gs.stage_buffer, "Stage Buffer") map("n", "ghu", gs.undo_stage_hunk, "Undo Stage Hunk") map("n", "ghR", gs.reset_buffer, "Reset Buffer") @@ -358,8 +358,8 @@ opts = { end, "Prev Hunk") map("n", "]H", function() gs.nav_hunk("last") end, "Last Hunk") map("n", "[H", function() gs.nav_hunk("first") end, "First Hunk") - map({ "n", "v" }, "ghs", ":Gitsigns stage_hunk", "Stage Hunk") - map({ "n", "v" }, "ghr", ":Gitsigns reset_hunk", "Reset Hunk") + map({ "n", "x" }, "ghs", ":Gitsigns stage_hunk", "Stage Hunk") + map({ "n", "x" }, "ghr", ":Gitsigns reset_hunk", "Reset Hunk") map("n", "ghS", gs.stage_buffer, "Stage Buffer") map("n", "ghu", gs.undo_stage_hunk, "Undo Stage Hunk") map("n", "ghR", gs.reset_buffer, "Reset Buffer") diff --git a/docs/plugins/formatting.md b/docs/plugins/formatting.md index 928917c4f5..37ccf3e1de 100644 --- a/docs/plugins/formatting.md +++ b/docs/plugins/formatting.md @@ -87,7 +87,7 @@ end function() require("conform").format({ formatters = { "injected" }, timeout_ms = 3000 }) end, - mode = { "n", "v" }, + mode = { "n", "x" }, desc = "Format Injected Langs", }, }, From 7c6cbe407f29a397ba8747ceadb7881a278fad59 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 08:29:25 +0000 Subject: [PATCH 179/187] chore(build): auto-generate docs --- docs/extras/lang/haskell.md | 178 +++++++++++++++++++----- docs/extras/lang/julia.md | 267 ++++++++++++++++++++++++++++++++++++ docs/extras/lang/twig.md | 227 ++++++++++++++++++++++++++++++ docs/extras/lang/typst.md | 236 +++++++++++++++++++++++++++++++ docs/extras/util/gh.md | 114 +++++++++++++++ docs/keymaps.md | 62 +++++++++ 6 files changed, 1046 insertions(+), 38 deletions(-) create mode 100644 docs/extras/lang/julia.md create mode 100644 docs/extras/lang/twig.md create mode 100644 docs/extras/lang/typst.md create mode 100644 docs/extras/util/gh.md diff --git a/docs/extras/lang/haskell.md b/docs/extras/lang/haskell.md index 878e90a3da..1c78c7d4e8 100644 --- a/docs/extras/lang/haskell.md +++ b/docs/extras/lang/haskell.md @@ -53,7 +53,7 @@ opts = { ensure_installed = { "haskell" } } ```lua -opts = {} +opts = nil ``` @@ -64,17 +64,40 @@ opts = {} ```lua { "mrcjkb/haskell-tools.nvim", - version = "^3", + version = false, ft = { "haskell", "lhaskell", "cabal", "cabalproject" }, - dependencies = { - { "nvim-telescope/telescope.nvim", optional = true }, + keys = { + { + "e", + "HlsEvalAll", + ft = "haskell", + desc = "Evaluate All", + }, + { + "h", + function() + require("haskell-tools").hoogle.hoogle_signature() + end, + ft = "haskell", + desc = "Hoogle Signature", + }, + { + "r", + function() + require("haskell-tools").repl.toggle() + end, + ft = "haskell", + desc = "REPL (Package)", + }, + { + "R", + function() + require("haskell-tools").repl.toggle(vim.api.nvim_buf_get_name(0)) + end, + ft = "haskell", + desc = "REPL (Buffer)", + }, }, - config = function() - local ok, telescope = pcall(require, "telescope") - if ok then - telescope.load_extension("ht") - end - end, } ``` @@ -218,7 +241,11 @@ opts = nil ```lua -opts = {} +opts = function() + LazyVim.on_load("telescope.nvim", function() + require("telescope").load_extension("ht") + end) +end ``` @@ -230,15 +257,19 @@ opts = {} { "luc-tielen/telescope_hoogle", ft = { "haskell", "lhaskell", "cabal", "cabalproject" }, - dependencies = { - { "nvim-telescope/telescope.nvim", optional = true }, - }, - config = function() - local ok, telescope = pcall(require, "telescope") - if ok then - telescope.load_extension("hoogle") - end + opts = function() + LazyVim.on_load("telescope.nvim", function() + require("telescope").load_extension("ht") + end) end, + keys = { + { + "H", + "Telescope hoogle", + ft = "haskell", + desc = "Hoogle", + }, + }, } ``` @@ -288,7 +319,7 @@ opts = { -## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) _(optional)_ +## [nvim-dap](https://github.com/mfussenegger/nvim-dap) _(optional)_ @@ -304,21 +335,34 @@ opts = nil ```lua -{ "nvim-telescope/telescope.nvim", optional = true } +{ + "mfussenegger/nvim-dap", + optional = true, + dependencies = { + { + "mason-org/mason.nvim", + opts = { ensure_installed = { "haskell-debug-adapter" } }, + }, + }, +} ``` -## [nvim-dap](https://github.com/mfussenegger/nvim-dap) _(optional)_ +## [neotest](https://github.com/nvim-neotest/neotest) _(optional)_ ```lua -opts = nil +opts = { + adapters = { + ["neotest-haskell"] = {}, + }, +} ``` @@ -328,12 +372,59 @@ opts = nil ```lua { - "mfussenegger/nvim-dap", + "nvim-neotest/neotest", optional = true, dependencies = { + { "mrcjkb/neotest-haskell" }, + }, + opts = { + adapters = { + ["neotest-haskell"] = {}, + }, + }, +} +``` + + + + + +## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) _(optional)_ + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "nvim-telescope/telescope.nvim", + optional = true, + specs = { { - "mason-org/mason.nvim", - opts = { ensure_installed = { "haskell-debug-adapter" } }, + "luc-tielen/telescope_hoogle", + ft = { "haskell", "lhaskell", "cabal", "cabalproject" }, + opts = function() + LazyVim.on_load("telescope.nvim", function() + require("telescope").load_extension("ht") + end) + end, + keys = { + { + "H", + "Telescope hoogle", + ft = "haskell", + desc = "Hoogle", + }, + }, }, }, } @@ -343,7 +434,7 @@ opts = nil -## [neotest](https://github.com/nvim-neotest/neotest) _(optional)_ +## [conform.nvim](https://github.com/stevearc/conform.nvim) _(optional)_ @@ -351,8 +442,9 @@ opts = nil ```lua opts = { - adapters = { - ["neotest-haskell"] = {}, + formatters_by_ft = { + haskell = { "fourmolu" }, + cabal = { "cabal_fmt" }, }, } ``` @@ -364,14 +456,12 @@ opts = { ```lua { - "nvim-neotest/neotest", + "stevearc/conform.nvim", optional = true, - dependencies = { - { "mrcjkb/neotest-haskell" }, - }, opts = { - adapters = { - ["neotest-haskell"] = {}, + formatters_by_ft = { + haskell = { "fourmolu" }, + cabal = { "cabal_fmt" }, }, }, } @@ -381,14 +471,18 @@ opts = { -## [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) _(optional)_ +## [nvim-lint](https://github.com/mfussenegger/nvim-lint) _(optional)_ ```lua -opts = nil +opts = { + linters_by_ft = { + haskell = { "hlint" }, + }, +} ``` @@ -397,7 +491,15 @@ opts = nil ```lua -{ "nvim-telescope/telescope.nvim", optional = true } +{ + "mfussenegger/nvim-lint", + optional = true, + opts = { + linters_by_ft = { + haskell = { "hlint" }, + }, + }, +} ``` diff --git a/docs/extras/lang/julia.md b/docs/extras/lang/julia.md new file mode 100644 index 0000000000..90f979cbb6 --- /dev/null +++ b/docs/extras/lang/julia.md @@ -0,0 +1,267 @@ +# `Julia` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) + + + + + +```lua +opts = { ensure_installed = { "julia" } } +``` + + + + + + +```lua +{ + "nvim-treesitter/nvim-treesitter", + opts = { ensure_installed = { "julia" } }, +} +``` + + + + + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + + + + +```lua +opts = { + servers = { + julials = { + settings = { + -- use the same default settings as the Julia VS Code extension + julia = { + completionmode = "qualify", + lint = { missingrefs = "none" }, + }, + }, + }, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + julials = { + settings = { + -- use the same default settings as the Julia VS Code extension + julia = { + completionmode = "qualify", + lint = { missingrefs = "none" }, + }, + }, + }, + }, + }, +} +``` + + + + + +## [cmp-latex-symbols](https://github.com/kdheepak/cmp-latex-symbols) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "kdheepak/cmp-latex-symbols" } +``` + + + + + +## [cmp-latex-symbols](https://github.com/kdheepak/cmp-latex-symbols) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "kdheepak/cmp-latex-symbols", "saghen/blink.compat" } +``` + + + + + +## [blink.compat](https://github.com/saghen/blink.compat) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +"saghen/blink.compat" +``` + + + + + +## [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) _(optional)_ + + cmp integration + + + + + + +```lua +opts = function(_, opts) + table.insert(opts.sources, { + name = "latex_symbols", + option = { + strategy = 0, -- mixed + }, + }) +end +``` + + + + + + +```lua +{ + "hrsh7th/nvim-cmp", + optional = true, + dependencies = { "kdheepak/cmp-latex-symbols" }, + opts = function(_, opts) + table.insert(opts.sources, { + name = "latex_symbols", + option = { + strategy = 0, -- mixed + }, + }) + end, +} +``` + + + + + +## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ + + blink.cmp integration + + + + + + +```lua +opts = { + sources = { + compat = { "latex_symbols" }, + providers = { + latex_symbols = { + kind = "LatexSymbols", + async = true, + opts = { + strategy = 0, -- mixed + }, + }, + }, + }, +} +``` + + + + + + +```lua +{ + "saghen/blink.cmp", + optional = true, + dependencies = { "kdheepak/cmp-latex-symbols", "saghen/blink.compat" }, + opts = { + sources = { + compat = { "latex_symbols" }, + providers = { + latex_symbols = { + kind = "LatexSymbols", + async = true, + opts = { + strategy = 0, -- mixed + }, + }, + }, + }, + }, +} +``` + + + + + + diff --git a/docs/extras/lang/twig.md b/docs/extras/lang/twig.md new file mode 100644 index 0000000000..854a121198 --- /dev/null +++ b/docs/extras/lang/twig.md @@ -0,0 +1,227 @@ +# `Twig` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) + + + + + +```lua +opts = { ensure_installed = { "twig" } } +``` + + + + + + +```lua +{ + "nvim-treesitter/nvim-treesitter", + opts = { ensure_installed = { "twig" } }, +} +``` + + + + + +## [mason.nvim](https://github.com/mason-org/mason.nvim) + + + + + +```lua +opts = { + ensure_installed = { + "twigcs", + "twig-cs-fixer", + }, +} +``` + + + + + + +```lua +{ + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "twigcs", + "twig-cs-fixer", + }, + }, +} +``` + + + + + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + + + + +```lua +opts = { + servers = { + twiggy_language_server = { + enabled = true, + }, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + twiggy_language_server = { + enabled = true, + }, + }, + }, +} +``` + + + + + +## [none-ls.nvim](https://github.com/nvimtools/none-ls.nvim) _(optional)_ + + + + + +```lua +opts = function(_, opts) + local nls = require("null-ls") + opts.sources = opts.sources or {} + table.insert(opts.sources, nls.builtins.diagnostics.twigcs) + -- Twig-CS-Fixer builtin not available in none-ls +end +``` + + + + + + +```lua +{ + "nvimtools/none-ls.nvim", + optional = true, + opts = function(_, opts) + local nls = require("null-ls") + opts.sources = opts.sources or {} + table.insert(opts.sources, nls.builtins.diagnostics.twigcs) + -- Twig-CS-Fixer builtin not available in none-ls + end, +} +``` + + + + + +## [nvim-lint](https://github.com/mfussenegger/nvim-lint) _(optional)_ + + + + + +```lua +opts = { + linters_by_ft = { + twig = { "twigcs" }, + }, +} +``` + + + + + + +```lua +{ + "mfussenegger/nvim-lint", + optional = true, + opts = { + linters_by_ft = { + twig = { "twigcs" }, + }, + }, +} +``` + + + + + +## [conform.nvim](https://github.com/stevearc/conform.nvim) _(optional)_ + + + + + +```lua +opts = { + formatters_by_ft = { + twig = { "twig-cs-fixer" }, + }, +} +``` + + + + + + +```lua +{ + "stevearc/conform.nvim", + optional = true, + opts = { + formatters_by_ft = { + twig = { "twig-cs-fixer" }, + }, + }, +} +``` + + + + + + diff --git a/docs/extras/lang/typst.md b/docs/extras/lang/typst.md new file mode 100644 index 0000000000..a0e8e54b0b --- /dev/null +++ b/docs/extras/lang/typst.md @@ -0,0 +1,236 @@ +# `Typst` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) + + + + + +```lua +opts = { + ensure_installed = { "typst" }, +} +``` + + + + + + +```lua +{ + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { "typst" }, + }, +} +``` + + + + + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + + + + +```lua +opts = { + servers = { + tinymist = { + keys = { + { + "cP", + function() + local buf_name = vim.api.nvim_buf_get_name(0) + local file_name = vim.fn.fnamemodify(buf_name, ":t") + LazyVim.lsp.execute({ + command = "tinymist.pinMain", + arguments = { buf_name }, + }) + LazyVim.info("Tinymist: Pinned " .. file_name) + end, + desc = "Pin main file", + }, + }, + single_file_support = true, -- Fixes LSP attachment in non-Git directories + settings = { + formatterMode = "typstyle", + }, + }, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + tinymist = { + keys = { + { + "cP", + function() + local buf_name = vim.api.nvim_buf_get_name(0) + local file_name = vim.fn.fnamemodify(buf_name, ":t") + LazyVim.lsp.execute({ + command = "tinymist.pinMain", + arguments = { buf_name }, + }) + LazyVim.info("Tinymist: Pinned " .. file_name) + end, + desc = "Pin main file", + }, + }, + single_file_support = true, -- Fixes LSP attachment in non-Git directories + settings = { + formatterMode = "typstyle", + }, + }, + }, + }, +} +``` + + + + + +## [typst-preview.nvim](https://github.com/chomosuke/typst-preview.nvim) + + + + + +```lua +opts = { + dependencies_bin = { + tinymist = "tinymist", + }, +} +``` + + + + + + +```lua +{ + "chomosuke/typst-preview.nvim", + cmd = { "TypstPreview", "TypstPreviewToggle", "TypstPreviewUpdate" }, + keys = { + { + "cp", + ft = "typst", + "TypstPreviewToggle", + desc = "Toggle Typst Preview", + }, + }, + opts = { + dependencies_bin = { + tinymist = "tinymist", + }, + }, +} +``` + + + + + +## [ts-comments.nvim](https://github.com/folke/ts-comments.nvim) + + + + + +```lua +opts = { + lang = { + typst = { "// %s", "/* %s */" }, + }, +} +``` + + + + + + +```lua +{ + "folke/ts-comments.nvim", + opts = { + lang = { + typst = { "// %s", "/* %s */" }, + }, + }, +} +``` + + + + + +## [conform.nvim](https://github.com/stevearc/conform.nvim) _(optional)_ + + + + + +```lua +opts = { + formatters_by_ft = { + typst = { "typstyle", lsp_format = "prefer" }, + }, +} +``` + + + + + + +```lua +{ + "stevearc/conform.nvim", + optional = true, + opts = { + formatters_by_ft = { + typst = { "typstyle", lsp_format = "prefer" }, + }, + }, +} +``` + + + + + + diff --git a/docs/extras/util/gh.md b/docs/extras/util/gh.md new file mode 100644 index 0000000000..71c5469ed1 --- /dev/null +++ b/docs/extras/util/gh.md @@ -0,0 +1,114 @@ +# `Gh` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +### Includes the following extras + +- [lang.git](/extras/lang/git) + +## [litee.nvim](https://github.com/ldelossa/litee.nvim) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "ldelossa/litee.nvim", lazy = true } +``` + + + + + +## [gh.nvim](https://github.com/ldelossa/gh.nvim) + + gh.nvim + + + + + + +```lua +opts = {} +``` + + + + + + +```lua +{ + "ldelossa/gh.nvim", + opts = {}, + config = function(_, opts) + require("litee.lib").setup() + require("litee.gh").setup(opts) + end, + keys = { + { "G", "", desc = "+Github" }, + { "Gc", "", desc = "+Commits" }, + { "Gcc", "GHCloseCommit", desc = "Close" }, + { "Gce", "GHExpandCommit", desc = "Expand" }, + { "Gco", "GHOpenToCommit", desc = "Open To" }, + { "Gcp", "GHPopOutCommit", desc = "Pop Out" }, + { "Gcz", "GHCollapseCommit", desc = "Collapse" }, + { "Gi", "", desc = "+Issues" }, + { "Gip", "GHPreviewIssue", desc = "Preview" }, + { "Gio", "GHOpenIssue", desc = "Open" }, + { "Gl", "", desc = "+Litee" }, + { "Glt", "LTPanel", desc = "Toggle Panel" }, + { "Gp", "", desc = "+Pull Request" }, + { "Gpc", "GHClosePR", desc = "Close" }, + { "Gpd", "GHPRDetails", desc = "Details" }, + { "Gpe", "GHExpandPR", desc = "Expand" }, + { "Gpo", "GHOpenPR", desc = "Open" }, + { "Gpp", "GHPopOutPR", desc = "PopOut" }, + { "Gpr", "GHRefreshPR", desc = "Refresh" }, + { "Gpt", "GHOpenToPR", desc = "Open To" }, + { "Gpz", "GHCollapsePR", desc = "Collapse" }, + { "Gr", "", desc = "+Review" }, + { "Grb", "GHStartReview", desc = "Begin" }, + { "Grc", "GHCloseReview", desc = "Close" }, + { "Grd", "GHDeleteReview", desc = "Delete" }, + { "Gre", "GHExpandReview", desc = "Expand" }, + { "Grs", "GHSubmitReview", desc = "Submit" }, + { "Grz", "GHCollapseReview", desc = "Collapse" }, + { "Gt", "", desc = "+Threads" }, + { "Gtc", "GHCreateThread", desc = "Create" }, + { "Gtn", "GHNextThread", desc = "Next" }, + { "Gtt", "GHToggleThread", desc = "Toggle" }, + }, +} +``` + + + + + + diff --git a/docs/keymaps.md b/docs/keymaps.md index b3fcca52f4..597284a196 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -580,6 +580,23 @@ Part of [lazyvim.plugins.extras.lang.ansible](/extras/lang/ansible) | --- | --- | --- | | <leader>ta | Ansible Run Playbook/Role | **n** | +## [haskell-tools.nvim](https://github.com/mrcjkb/haskell-tools.nvim.git) +Part of [lazyvim.plugins.extras.lang.haskell](/extras/lang/haskell) + +| Key | Description | Mode | +| --- | --- | --- | +| <localleader>e | Evaluate All | **n** | +| <localleader>h | Hoogle Signature | **n** | +| <localleader>r | REPL (Package) | **n** | +| <localleader>R | REPL (Buffer) | **n** | + +## [telescope_hoogle](https://github.com/luc-tielen/telescope_hoogle.git) +Part of [lazyvim.plugins.extras.lang.haskell](/extras/lang/haskell) + +| Key | Description | Mode | +| --- | --- | --- | +| <localleader>H | Hoogle | **n** | + ## [markdown-preview.nvim](https://github.com/iamcco/markdown-preview.nvim.git) Part of [lazyvim.plugins.extras.lang.markdown](/extras/lang/markdown) @@ -625,6 +642,13 @@ Part of [lazyvim.plugins.extras.lang.tex](/extras/lang/tex) | --- | --- | --- | | <localLeader>l | +vimtex | **n** | +## [typst-preview.nvim](https://github.com/chomosuke/typst-preview.nvim.git) +Part of [lazyvim.plugins.extras.lang.typst](/extras/lang/typst) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>cp | Toggle Typst Preview | **n** | + ## [neotest](https://github.com/nvim-neotest/neotest.git) Part of [lazyvim.plugins.extras.test.core](/extras/test/core) @@ -664,6 +688,44 @@ Part of [lazyvim.plugins.extras.util.chezmoi](/extras/util/chezmoi) | --- | --- | --- | | <leader>sz | Chezmoi | **n** | +## [gh.nvim](https://github.com/ldelossa/gh.nvim.git) +Part of [lazyvim.plugins.extras.util.gh](/extras/util/gh) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>G | +Github | **n** | +| <leader>Gc | +Commits | **n** | +| <leader>Gcc | Close | **n** | +| <leader>Gce | Expand | **n** | +| <leader>Gco | Open To | **n** | +| <leader>Gcp | Pop Out | **n** | +| <leader>Gcz | Collapse | **n** | +| <leader>Gi | +Issues | **n** | +| <leader>Gio | Open | **n** | +| <leader>Gip | Preview | **n** | +| <leader>Gl | +Litee | **n** | +| <leader>Glt | Toggle Panel | **n** | +| <leader>Gp | +Pull Request | **n** | +| <leader>Gpc | Close | **n** | +| <leader>Gpd | Details | **n** | +| <leader>Gpe | Expand | **n** | +| <leader>Gpo | Open | **n** | +| <leader>Gpp | PopOut | **n** | +| <leader>Gpr | Refresh | **n** | +| <leader>Gpt | Open To | **n** | +| <leader>Gpz | Collapse | **n** | +| <leader>Gr | +Review | **n** | +| <leader>Grb | Begin | **n** | +| <leader>Grc | Close | **n** | +| <leader>Grd | Delete | **n** | +| <leader>Gre | Expand | **n** | +| <leader>Grs | Submit | **n** | +| <leader>Grz | Collapse | **n** | +| <leader>Gt | +Threads | **n** | +| <leader>Gtc | Create | **n** | +| <leader>Gtn | Next | **n** | +| <leader>Gtt | Toggle | **n** | + ## [mason.nvim](https://github.com/mason-org/mason.nvim.git) Part of [lazyvim.plugins.extras.util.gitui](/extras/util/gitui) From 0fb285993c8ac7bca54e1898743eb5a5af033213 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 09:25:23 +0000 Subject: [PATCH 180/187] chore(build): auto-generate docs --- docs/extras/ai/avante.md | 262 +++++++++++++++++++++++++++++++++++ docs/extras/lang/go.md | 70 ++++++++++ docs/extras/lang/helm.md | 26 +--- docs/extras/lang/solidity.md | 136 ++++++++++++++++++ docs/extras/lang/tailwind.md | 50 ++++--- docs/extras/lang/twig.md | 2 +- docs/keymaps.md | 7 + 7 files changed, 506 insertions(+), 47 deletions(-) create mode 100644 docs/extras/ai/avante.md create mode 100644 docs/extras/lang/solidity.md diff --git a/docs/extras/ai/avante.md b/docs/extras/ai/avante.md new file mode 100644 index 0000000000..7537e60f75 --- /dev/null +++ b/docs/extras/ai/avante.md @@ -0,0 +1,262 @@ +# `Avante` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nui.nvim](https://github.com/MunifTanjim/nui.nvim) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "MunifTanjim/nui.nvim", lazy = true } +``` + + + + + +## [avante.nvim](https://github.com/yetone/avante.nvim) + + + + + +```lua +opts = { + provider = "copilot", + selection = { + hint_display = "none", + }, +} +``` + + + + + + +```lua +{ + "yetone/avante.nvim", + build = vim.fn.has("win32") ~= 0 and "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" + or "make", + event = "VeryLazy", + opts = { + provider = "copilot", + selection = { + hint_display = "none", + }, + }, + cmd = { + "AvanteAsk", + "AvanteBuild", + "AvanteChat", + "AvanteClear", + "AvanteEdit", + "AvanteFocus", + "AvanteHistory", + "AvanteModels", + "AvanteRefresh", + "AvanteShowRepoMap", + "AvanteStop", + "AvanteSwitchProvider", + "AvanteToggle", + }, + keys = { + { "n", "aa", "AvanteAsk", desc = "Ask Avante" }, + { "n", "ac", "AvanteChat", desc = "Chat with Avante" }, + { "n", "ae", "AvanteEdit", desc = "Edit Avante" }, + { "n", "af", "AvanteFocus", desc = "Focus Avante" }, + { "n", "ah", "AvanteHistory", desc = "Avante History" }, + { "n", "am", "AvanteModels", desc = "Select Avante Model" }, + { "n", "an", "AvanteChatNew", desc = "New Avante Chat" }, + { "n", "ap", "AvanteSwitchProvider", desc = "Switch Avante Provider" }, + { "n", "ar", "AvanteRefresh", desc = "Refresh Avante" }, + { "n", "as", "AvanteStop", desc = "Stop Avante" }, + { "n", "at", "AvanteToggle", desc = "Toggle Avante" }, + }, +} +``` + + + + + +## [blink-cmp-avante](https://github.com/Kaiser-Yang/blink-cmp-avante) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ "Kaiser-Yang/blink-cmp-avante" } +``` + + + + + +## [img-clip.nvim](https://github.com/HakonHarnes/img-clip.nvim) _(optional)_ + + support for image pasting + + + + + + +```lua +opts = { + -- recommended settings + default = { + embed_image_as_base64 = false, + prompt_for_file_name = false, + drag_and_drop = { + insert_mode = true, + }, + -- required for Windows users + use_absolute_path = true, + }, +} +``` + + + + + + +```lua +{ + "HakonHarnes/img-clip.nvim", + event = "VeryLazy", + optional = true, + opts = { + -- recommended settings + default = { + embed_image_as_base64 = false, + prompt_for_file_name = false, + drag_and_drop = { + insert_mode = true, + }, + -- required for Windows users + use_absolute_path = true, + }, + }, +} +``` + + + + + +## [render-markdown.nvim](https://github.com/MeanderingProgrammer/render-markdown.nvim) _(optional)_ + + Make sure to set this up properly if you have lazy=true + + + + + + +```lua +opts = { + file_types = { "markdown", "Avante" }, +} +``` + + + + + + +```lua +{ + "MeanderingProgrammer/render-markdown.nvim", + optional = true, + opts = { + file_types = { "markdown", "Avante" }, + }, + ft = { "markdown", "Avante" }, +} +``` + + + + + +## [blink.cmp](https://github.com/saghen/blink.cmp) _(optional)_ + + blink.cmp source for avante.nvim + + + + + + +```lua +opts = { + sources = { + default = { "avante" }, + providers = { avante = { module = "blink-cmp-avante", name = "Avante" } }, + }, +} +``` + + + + + + +```lua +{ + "saghen/blink.cmp", + optional = true, + specs = { "Kaiser-Yang/blink-cmp-avante" }, + opts = { + sources = { + default = { "avante" }, + providers = { avante = { module = "blink-cmp-avante", name = "Avante" } }, + }, + }, +} +``` + + + + + + diff --git a/docs/extras/lang/go.md b/docs/extras/lang/go.md index 42d6754343..1eaeb8b754 100644 --- a/docs/extras/lang/go.md +++ b/docs/extras/lang/go.md @@ -250,6 +250,32 @@ opts = { ensure_installed = { "gomodifytags", "impl" } } +```lua +opts = { ensure_installed = { "golangci-lint" } } +``` + + + + + + +```lua +{ + "mason-org/mason.nvim", + opts = { ensure_installed = { "golangci-lint" } }, +} +``` + + + + + +## [mason.nvim](https://github.com/mason-org/mason.nvim) + + + + + ```lua opts = { ensure_installed = { "delve" } } ``` @@ -413,6 +439,50 @@ end +## [nvim-lint](https://github.com/mfussenegger/nvim-lint) _(optional)_ + + Add linting + + + + + + +```lua +opts = { + linters_by_ft = { + go = { "golangcilint" }, + }, +} +``` + + + + + + +```lua +{ + "mfussenegger/nvim-lint", + optional = true, + dependencies = { + { + "mason-org/mason.nvim", + opts = { ensure_installed = { "golangci-lint" } }, + }, + }, + opts = { + linters_by_ft = { + go = { "golangcilint" }, + }, + }, +} +``` + + + + + ## [conform.nvim](https://github.com/stevearc/conform.nvim) _(optional)_ diff --git a/docs/extras/lang/helm.md b/docs/extras/lang/helm.md index 507ebfe7eb..f9bf6312cf 100644 --- a/docs/extras/lang/helm.md +++ b/docs/extras/lang/helm.md @@ -17,7 +17,7 @@ They are only shown here for reference. import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -## [vim-helm](https://github.com/towolf/vim-helm) +## [helm-ls.nvim](https://github.com/qvalentin/helm-ls.nvim) @@ -33,7 +33,7 @@ opts = nil ```lua -{ "towolf/vim-helm", ft = "helm" } +{ "qvalentin/helm-ls.nvim", ft = "helm" } ``` @@ -77,17 +77,6 @@ opts = { servers = { helm_ls = {}, }, - setup = { - yamlls = function() - LazyVim.lsp.on_attach(function(client, buffer) - if vim.bo[buffer].filetype == "helm" then - vim.schedule(function() - vim.cmd("LspStop ++force yamlls") - end) - end - end, "yamlls") - end, - }, } ``` @@ -103,17 +92,6 @@ opts = { servers = { helm_ls = {}, }, - setup = { - yamlls = function() - LazyVim.lsp.on_attach(function(client, buffer) - if vim.bo[buffer].filetype == "helm" then - vim.schedule(function() - vim.cmd("LspStop ++force yamlls") - end) - end - end, "yamlls") - end, - }, }, } ``` diff --git a/docs/extras/lang/solidity.md b/docs/extras/lang/solidity.md new file mode 100644 index 0000000000..bb09929153 --- /dev/null +++ b/docs/extras/lang/solidity.md @@ -0,0 +1,136 @@ +# `Solidity` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) + + Add Solidity & related to treesitter + + + + + + +```lua +opts = { ensure_installed = { "solidity" } } +``` + + + + + + +```lua +{ + "nvim-treesitter/nvim-treesitter", + opts = { ensure_installed = { "solidity" } }, +} +``` + + + + + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + Correctly setup lspconfig for Solidity + + + + + + +```lua +opts = { + servers = { + solidity_ls = {}, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + solidity_ls = {}, + }, + }, +} +``` + + + + + +## [conform.nvim](https://github.com/stevearc/conform.nvim) _(optional)_ + + Formatter for Solidity + + + + + + +```lua +opts = { + formatters_by_ft = { + solidity = { "forge_fmt" }, + }, + formatters = { + forge_fmt = { + command = "forge", + args = { "fmt" }, + }, + }, +} +``` + + + + + + +```lua +{ + "stevearc/conform.nvim", + optional = true, + opts = { + formatters_by_ft = { + solidity = { "forge_fmt" }, + }, + formatters = { + forge_fmt = { + command = "forge", + args = { "fmt" }, + }, + }, + }, +} +``` + + + + + + diff --git a/docs/extras/lang/tailwind.md b/docs/extras/lang/tailwind.md index 24de525c55..c5217b7ecb 100644 --- a/docs/extras/lang/tailwind.md +++ b/docs/extras/lang/tailwind.md @@ -33,6 +33,20 @@ opts = { filetypes_include = {}, -- to fully override the default_config, change the below -- filetypes = {} + + -- additional settings for the server, e.g: + -- tailwindCSS = { includeLanguages = { someLang = "html" } } + -- can be addeded to the settings table and will be merged with + -- this defaults for Phoenix projects + settings = { + tailwindCSS = { + includeLanguages = { + elixir = "html-eex", + eelixir = "html-eex", + heex = "html-eex", + }, + }, + }, }, }, setup = { @@ -48,17 +62,6 @@ opts = { return not vim.tbl_contains(opts.filetypes_exclude or {}, ft) end, opts.filetypes) - -- Additional settings for Phoenix projects - opts.settings = { - tailwindCSS = { - includeLanguages = { - elixir = "html-eex", - eelixir = "html-eex", - heex = "html-eex", - }, - }, - } - -- Add additional filetypes vim.list_extend(opts.filetypes, opts.filetypes_include or {}) end, @@ -83,6 +86,20 @@ opts = { filetypes_include = {}, -- to fully override the default_config, change the below -- filetypes = {} + + -- additional settings for the server, e.g: + -- tailwindCSS = { includeLanguages = { someLang = "html" } } + -- can be addeded to the settings table and will be merged with + -- this defaults for Phoenix projects + settings = { + tailwindCSS = { + includeLanguages = { + elixir = "html-eex", + eelixir = "html-eex", + heex = "html-eex", + }, + }, + }, }, }, setup = { @@ -98,17 +115,6 @@ opts = { return not vim.tbl_contains(opts.filetypes_exclude or {}, ft) end, opts.filetypes) - -- Additional settings for Phoenix projects - opts.settings = { - tailwindCSS = { - includeLanguages = { - elixir = "html-eex", - eelixir = "html-eex", - heex = "html-eex", - }, - }, - } - -- Add additional filetypes vim.list_extend(opts.filetypes, opts.filetypes_include or {}) end, diff --git a/docs/extras/lang/twig.md b/docs/extras/lang/twig.md index 854a121198..13f7bf05ad 100644 --- a/docs/extras/lang/twig.md +++ b/docs/extras/lang/twig.md @@ -65,7 +65,7 @@ opts = { ```lua { - "williamboman/mason.nvim", + "mason-org/mason.nvim", opts = { ensure_installed = { "twigcs", diff --git a/docs/keymaps.md b/docs/keymaps.md index 597284a196..40db9dc484 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -288,6 +288,13 @@ possible keymaps starting with ``. | <c-w><space> | Window Hydra Mode (which-key) | **n** | | <leader>? | Buffer Keymaps (which-key) | **n** | +## [avante.nvim](https://github.com/yetone/avante.nvim.git) +Part of [lazyvim.plugins.extras.ai.avante](/extras/ai/avante) + +| Key | Description | Mode | +| --- | --- | --- | +| n | Toggle Avante | **n** | + ## [CopilotChat.nvim](https://github.com/CopilotC-Nvim/CopilotChat.nvim.git) Part of [lazyvim.plugins.extras.ai.copilot-chat](/extras/ai/copilot-chat) From 889cc9e62b03d557b4d65b04de6fcba860e0d98b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 10:24:14 +0000 Subject: [PATCH 181/187] chore(build): auto-generate docs --- docs/extras/lang/dart.md | 187 ++++++++++++++++++++++++++++++++++++++ docs/extras/lang/ember.md | 116 +++++++++++++++++++++++ docs/extras/lang/java.md | 10 ++ docs/extras/lang/php.md | 122 +++++++++++++++++++++++++ 4 files changed, 435 insertions(+) create mode 100644 docs/extras/lang/dart.md create mode 100644 docs/extras/lang/ember.md diff --git a/docs/extras/lang/dart.md b/docs/extras/lang/dart.md new file mode 100644 index 0000000000..c45da0bc3c --- /dev/null +++ b/docs/extras/lang/dart.md @@ -0,0 +1,187 @@ +# `Dart` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + + + + +```lua +opts = { + servers = { + dartls = {}, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + dartls = {}, + }, + }, +} +``` + + + + + +## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) + + + + + +```lua +opts = { ensure_installed = { "dart" } } +``` + + + + + + +```lua +{ + "nvim-treesitter/nvim-treesitter", + opts = { ensure_installed = { "dart" } }, +} +``` + + + + + +## [conform.nvim](https://github.com/stevearc/conform.nvim) + + + + + +```lua +opts = { + formatters = { + dart_format = { + args = { "format", "--line-length", "120" }, + }, + }, + formatters_by_ft = { + dart = { "dart_format" }, + }, +} +``` + + + + + + +```lua +{ + "stevearc/conform.nvim", + opts = { + formatters = { + dart_format = { + args = { "format", "--line-length", "120" }, + }, + }, + formatters_by_ft = { + dart = { "dart_format" }, + }, + }, +} +``` + + + + + +## [neotest-dart](https://github.com/sidlatau/neotest-dart) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "sidlatau/neotest-dart", +} +``` + + + + + +## [neotest](https://github.com/nvim-neotest/neotest) _(optional)_ + + + + + +```lua +opts = { + adapters = { + ["neotest-dart"] = {}, + }, +} +``` + + + + + + +```lua +{ + "nvim-neotest/neotest", + optional = true, + dependencies = { + "sidlatau/neotest-dart", + }, + opts = { + adapters = { + ["neotest-dart"] = {}, + }, + }, +} +``` + + + + + + diff --git a/docs/extras/lang/ember.md b/docs/extras/lang/ember.md new file mode 100644 index 0000000000..3b17d7cf0b --- /dev/null +++ b/docs/extras/lang/ember.md @@ -0,0 +1,116 @@ +# `Ember` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) + + + + + +```lua +opts = { ensure_installed = { "css", "glimmer", "glimmer_javascript", "glimmer_typescript" } } +``` + + + + + + +```lua +{ + "nvim-treesitter/nvim-treesitter", + opts = { ensure_installed = { "css", "glimmer", "glimmer_javascript", "glimmer_typescript" } }, +} +``` + + + + + +## [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) + + + + + +```lua +opts = { + servers = { + ember = {}, + }, +} +``` + + + + + + +```lua +{ + "neovim/nvim-lspconfig", + opts = { + servers = { + ember = {}, + }, + }, +} +``` + + + + + +## [conform.nvim](https://github.com/stevearc/conform.nvim) + + + + + +```lua +opts = function(_, opts) + if LazyVim.has_extra("formatting.prettier") then + opts.formatters_by_ft = opts.formatters_by_ft or {} + opts.formatters_by_ft.glimmer = { "prettier" } + end +end +``` + + + + + + +```lua +{ + "conform.nvim", + opts = function(_, opts) + if LazyVim.has_extra("formatting.prettier") then + opts.formatters_by_ft = opts.formatters_by_ft or {} + opts.formatters_by_ft.glimmer = { "prettier" } + end + end, +} +``` + + + + + + diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index b0bd8966df..29272f7d97 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -276,6 +276,16 @@ end end end end + + -- Allow users to add custom bundles through opts.init_options.bundles and opts.jdtls.init_options.bundles + if opts.init_options and opts.init_options.bundles then + vim.list_extend(bundles, opts.init_options.bundles) + end + if opts.jdtls and opts.jdtls.init_options and opts.jdtls.init_options.bundles then + vim.list_extend(bundles, opts.jdtls.init_options.bundles) + opts.jdtls.init_options.bundles = nil + end + local function attach_jdtls() local fname = vim.api.nvim_buf_get_name(0) diff --git a/docs/extras/lang/php.md b/docs/extras/lang/php.md index 03d36ab268..075a37f7bd 100644 --- a/docs/extras/lang/php.md +++ b/docs/extras/lang/php.md @@ -139,6 +139,83 @@ opts = { +## [neotest-pest](https://github.com/V13Axel/neotest-pest) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "V13Axel/neotest-pest", + "olimorris/neotest-phpunit", +} +``` + + + + + +## [neotest-phpunit](https://github.com/olimorris/neotest-phpunit) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +"olimorris/neotest-phpunit" +``` + + + + + +## [neotest-pest](https://github.com/V13Axel/neotest-pest) + + + + + +```lua +opts = nil +``` + + + + + + +```lua +{ + "neotest-pest", + ["neotest-phpunit"] = { + root_ignore_files = { "tests/Pest.php" }, + }, +} +``` + + + + + ## [nvim-dap](https://github.com/mfussenegger/nvim-dap) _(optional)_ @@ -287,4 +364,49 @@ opts = { +## [neotest](https://github.com/nvim-neotest/neotest) _(optional)_ + + + + + +```lua +opts = { + adapters = { + "neotest-pest", + ["neotest-phpunit"] = { + root_ignore_files = { "tests/Pest.php" }, + }, + }, +} +``` + + + + + + +```lua +{ + "nvim-neotest/neotest", + optional = true, + dependencies = { + "V13Axel/neotest-pest", + "olimorris/neotest-phpunit", + }, + opts = { + adapters = { + "neotest-pest", + ["neotest-phpunit"] = { + root_ignore_files = { "tests/Pest.php" }, + }, + }, + }, +} +``` + + + + + From c94c0a5aaaa6d60eec4922d1f08d4bb2b5800fd4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 11:18:44 +0000 Subject: [PATCH 182/187] chore(build): auto-generate docs --- docs/extras/lang/java.md | 10 --- docs/extras/lang/typescript.md | 135 +++++++++++++++++++++------------ 2 files changed, 87 insertions(+), 58 deletions(-) diff --git a/docs/extras/lang/java.md b/docs/extras/lang/java.md index 29272f7d97..b0bd8966df 100644 --- a/docs/extras/lang/java.md +++ b/docs/extras/lang/java.md @@ -276,16 +276,6 @@ end end end end - - -- Allow users to add custom bundles through opts.init_options.bundles and opts.jdtls.init_options.bundles - if opts.init_options and opts.init_options.bundles then - vim.list_extend(bundles, opts.init_options.bundles) - end - if opts.jdtls and opts.jdtls.init_options and opts.jdtls.init_options.bundles then - vim.list_extend(bundles, opts.jdtls.init_options.bundles) - opts.jdtls.init_options.bundles = nil - end - local function attach_jdtls() local fname = vim.api.nvim_buf_get_name(0) diff --git a/docs/extras/lang/typescript.md b/docs/extras/lang/typescript.md index b829df4299..4cb656c1dd 100644 --- a/docs/extras/lang/typescript.md +++ b/docs/extras/lang/typescript.md @@ -526,31 +526,34 @@ opts = { ```lua opts = function() local dap = require("dap") - if not dap.adapters["pwa-node"] then - require("dap").adapters["pwa-node"] = { - type = "server", - host = "localhost", - port = "${port}", - executable = { - command = "node", - -- 💀 Make sure to update this path to point to your installation - args = { - LazyVim.get_pkg_path("js-debug-adapter", "/js-debug/src/dapDebugServer.js"), - "${port}", + + for _, adapterType in ipairs({ "node", "chrome", "msedge" }) do + local pwaType = "pwa-" .. adapterType + + if not dap.adapters[pwaType] then + dap.adapters[pwaType] = { + type = "server", + host = "localhost", + port = "${port}", + executable = { + command = "js-debug-adapter", + args = { "${port}" }, }, - }, - } - end - if not dap.adapters["node"] then - dap.adapters["node"] = function(cb, config) - if config.type == "node" then - config.type = "pwa-node" - end - local nativeAdapter = dap.adapters["pwa-node"] - if type(nativeAdapter) == "function" then - nativeAdapter(cb, config) - else - cb(nativeAdapter) + } + end + + -- Define adapters without the "pwa-" prefix for VSCode compatibility + if not dap.adapters[adapterType] then + dap.adapters[adapterType] = function(cb, config) + local nativeAdapter = dap.adapters[pwaType] + + config.type = pwaType + + if type(nativeAdapter) == "function" then + nativeAdapter(cb, config) + else + cb(nativeAdapter) + end end end end @@ -628,31 +631,34 @@ end }, opts = function() local dap = require("dap") - if not dap.adapters["pwa-node"] then - require("dap").adapters["pwa-node"] = { - type = "server", - host = "localhost", - port = "${port}", - executable = { - command = "node", - -- 💀 Make sure to update this path to point to your installation - args = { - LazyVim.get_pkg_path("js-debug-adapter", "/js-debug/src/dapDebugServer.js"), - "${port}", + + for _, adapterType in ipairs({ "node", "chrome", "msedge" }) do + local pwaType = "pwa-" .. adapterType + + if not dap.adapters[pwaType] then + dap.adapters[pwaType] = { + type = "server", + host = "localhost", + port = "${port}", + executable = { + command = "js-debug-adapter", + args = { "${port}" }, }, - }, - } - end - if not dap.adapters["node"] then - dap.adapters["node"] = function(cb, config) - if config.type == "node" then - config.type = "pwa-node" - end - local nativeAdapter = dap.adapters["pwa-node"] - if type(nativeAdapter) == "function" then - nativeAdapter(cb, config) - else - cb(nativeAdapter) + } + end + + -- Define adapters without the "pwa-" prefix for VSCode compatibility + if not dap.adapters[adapterType] then + dap.adapters[adapterType] = function(cb, config) + local nativeAdapter = dap.adapters[pwaType] + + config.type = pwaType + + if type(nativeAdapter) == "function" then + nativeAdapter(cb, config) + else + cb(nativeAdapter) + end end end end @@ -715,4 +721,37 @@ end +## [mason-nvim-dap.nvim](https://github.com/jay-babu/mason-nvim-dap.nvim) _(optional)_ + + + + + +```lua +opts = { + -- chrome adapter is deprecated, use js-debug-adapter instead + automatic_installation = { exclude = { "chrome" } }, +} +``` + + + + + + +```lua +{ + "jay-babu/mason-nvim-dap.nvim", + optional = true, + opts = { + -- chrome adapter is deprecated, use js-debug-adapter instead + automatic_installation = { exclude = { "chrome" } }, + }, +} +``` + + + + + From 044d9c6887902a6962dfbea21fee98d929481499 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 12:46:05 +0000 Subject: [PATCH 183/187] chore(build): auto-generate docs --- docs/extras/ai/claudecode.md | 64 ++++++++++++++++++++++++++++++++++++ docs/extras/coding/blink.md | 3 ++ docs/keymaps.md | 16 +++++++++ docs/plugins/treesitter.md | 2 +- 4 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 docs/extras/ai/claudecode.md diff --git a/docs/extras/ai/claudecode.md b/docs/extras/ai/claudecode.md new file mode 100644 index 0000000000..aae4686005 --- /dev/null +++ b/docs/extras/ai/claudecode.md @@ -0,0 +1,64 @@ +# `Claudecode` + + + +:::info +You can enable the extra with the `:LazyExtras` command. +Plugins marked as optional will only be configured if they are installed. +::: + +Below you can find a list of included plugins and their default settings. + +:::caution +You don't need to copy the default settings to your config. +They are only shown here for reference. +::: + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## [claudecode.nvim](https://github.com/coder/claudecode.nvim) + + + + + +```lua +opts = {} +``` + + + + + + +```lua +{ + "coder/claudecode.nvim", + opts = {}, + keys = { + { "a", "", desc = "+ai", mode = { "n", "v" } }, + { "ac", "ClaudeCode", desc = "Toggle Claude" }, + { "af", "ClaudeCodeFocus", desc = "Focus Claude" }, + { "ar", "ClaudeCode --resume", desc = "Resume Claude" }, + { "aC", "ClaudeCode --continue", desc = "Continue Claude" }, + { "ab", "ClaudeCodeAdd %", desc = "Add current buffer" }, + { "as", "ClaudeCodeSend", mode = "v", desc = "Send to Claude" }, + { + "as", + "ClaudeCodeTreeAdd", + desc = "Add file", + ft = { "NvimTree", "neo-tree", "oil" }, + }, + -- Diff management + { "aa", "ClaudeCodeDiffAccept", desc = "Accept diff" }, + { "ad", "ClaudeCodeDiffDeny", desc = "Deny diff" }, + }, +} +``` + + + + + + diff --git a/docs/extras/coding/blink.md b/docs/extras/coding/blink.md index bdef1f15eb..b0c234dc25 100644 --- a/docs/extras/coding/blink.md +++ b/docs/extras/coding/blink.md @@ -206,6 +206,9 @@ opts = { }, ---@param opts blink.cmp.Config | { sources: { compat: string[] } } config = function(_, opts) + if opts.snippets and opts.snippets.preset == "default" then + opts.snippets.expand = LazyVim.cmp.expand + end -- setup compat sources local enabled = opts.sources.default for _, source in ipairs(opts.sources.compat or {}) do diff --git a/docs/keymaps.md b/docs/keymaps.md index 40db9dc484..0492a2f8f6 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -295,6 +295,22 @@ Part of [lazyvim.plugins.extras.ai.avante](/extras/ai/avante) | --- | --- | --- | | n | Toggle Avante | **n** | +## [claudecode.nvim](https://github.com/coder/claudecode.nvim.git) +Part of [lazyvim.plugins.extras.ai.claudecode](/extras/ai/claudecode) + +| Key | Description | Mode | +| --- | --- | --- | +| <leader>a | +ai | **n**, **v** | +| <leader>aa | Accept diff | **n** | +| <leader>ab | Add current buffer | **n** | +| <leader>ac | Toggle Claude | **n** | +| <leader>aC | Continue Claude | **n** | +| <leader>ad | Deny diff | **n** | +| <leader>af | Focus Claude | **n** | +| <leader>ar | Resume Claude | **n** | +| <leader>as | Add file | **n** | +| <leader>as | Send to Claude | **v** | + ## [CopilotChat.nvim](https://github.com/CopilotC-Nvim/CopilotChat.nvim.git) Part of [lazyvim.plugins.extras.ai.copilot-chat](/extras/ai/copilot-chat) diff --git a/docs/plugins/treesitter.md b/docs/plugins/treesitter.md index 29899e26f3..881fa6d09c 100644 --- a/docs/plugins/treesitter.md +++ b/docs/plugins/treesitter.md @@ -171,7 +171,7 @@ opts = { -- highlighting if enabled("highlight", "highlights") then - pcall(vim.treesitter.start) + pcall(vim.treesitter.start, ev.buf) end -- indents From f4616abf66f45bef608dd8922bfbfdc9be4fbe6a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 16:27:24 +0000 Subject: [PATCH 184/187] chore(build): auto-generate docs --- docs/extras/ai/avante.md | 22 +++++++++++----------- docs/keymaps.md | 12 +++++++++++- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/docs/extras/ai/avante.md b/docs/extras/ai/avante.md index 7537e60f75..f4d64a0e0e 100644 --- a/docs/extras/ai/avante.md +++ b/docs/extras/ai/avante.md @@ -88,17 +88,17 @@ opts = { "AvanteToggle", }, keys = { - { "n", "aa", "AvanteAsk", desc = "Ask Avante" }, - { "n", "ac", "AvanteChat", desc = "Chat with Avante" }, - { "n", "ae", "AvanteEdit", desc = "Edit Avante" }, - { "n", "af", "AvanteFocus", desc = "Focus Avante" }, - { "n", "ah", "AvanteHistory", desc = "Avante History" }, - { "n", "am", "AvanteModels", desc = "Select Avante Model" }, - { "n", "an", "AvanteChatNew", desc = "New Avante Chat" }, - { "n", "ap", "AvanteSwitchProvider", desc = "Switch Avante Provider" }, - { "n", "ar", "AvanteRefresh", desc = "Refresh Avante" }, - { "n", "as", "AvanteStop", desc = "Stop Avante" }, - { "n", "at", "AvanteToggle", desc = "Toggle Avante" }, + { "aa", "AvanteAsk", desc = "Ask Avante" }, + { "ac", "AvanteChat", desc = "Chat with Avante" }, + { "ae", "AvanteEdit", desc = "Edit Avante" }, + { "af", "AvanteFocus", desc = "Focus Avante" }, + { "ah", "AvanteHistory", desc = "Avante History" }, + { "am", "AvanteModels", desc = "Select Avante Model" }, + { "an", "AvanteChatNew", desc = "New Avante Chat" }, + { "ap", "AvanteSwitchProvider", desc = "Switch Avante Provider" }, + { "ar", "AvanteRefresh", desc = "Refresh Avante" }, + { "as", "AvanteStop", desc = "Stop Avante" }, + { "at", "AvanteToggle", desc = "Toggle Avante" }, }, } ``` diff --git a/docs/keymaps.md b/docs/keymaps.md index 0492a2f8f6..2e60280bb9 100644 --- a/docs/keymaps.md +++ b/docs/keymaps.md @@ -293,7 +293,17 @@ Part of [lazyvim.plugins.extras.ai.avante](/extras/ai/avante) | Key | Description | Mode | | --- | --- | --- | -| n | Toggle Avante | **n** | +| <leader>aa | Ask Avante | **n** | +| <leader>ac | Chat with Avante | **n** | +| <leader>ae | Edit Avante | **n** | +| <leader>af | Focus Avante | **n** | +| <leader>ah | Avante History | **n** | +| <leader>am | Select Avante Model | **n** | +| <leader>an | New Avante Chat | **n** | +| <leader>ap | Switch Avante Provider | **n** | +| <leader>ar | Refresh Avante | **n** | +| <leader>as | Stop Avante | **n** | +| <leader>at | Toggle Avante | **n** | ## [claudecode.nvim](https://github.com/coder/claudecode.nvim.git) Part of [lazyvim.plugins.extras.ai.claudecode](/extras/ai/claudecode) From 2fecf95da5abc1655bcc5f95a43077e1f485c168 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 20 Oct 2025 18:32:20 +0000 Subject: [PATCH 185/187] chore(build): auto-generate docs --- docs/extras/ai/avante.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/extras/ai/avante.md b/docs/extras/ai/avante.md index f4d64a0e0e..050ccf9539 100644 --- a/docs/extras/ai/avante.md +++ b/docs/extras/ai/avante.md @@ -52,6 +52,9 @@ opts = { selection = { hint_display = "none", }, + behaviour = { + auto_set_keymaps = false, + }, } ``` @@ -71,6 +74,9 @@ opts = { selection = { hint_display = "none", }, + behaviour = { + auto_set_keymaps = false, + }, }, cmd = { "AvanteAsk", From 704a38e9efaaf278169768401dc02cfe707e0df0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 22 Oct 2025 05:21:20 +0000 Subject: [PATCH 186/187] chore(build): auto-generate docs --- docs/extras/lang/dart.md | 10 ---------- docs/extras/lang/solidity.md | 12 ------------ 2 files changed, 22 deletions(-) diff --git a/docs/extras/lang/dart.md b/docs/extras/lang/dart.md index c45da0bc3c..867830d2c6 100644 --- a/docs/extras/lang/dart.md +++ b/docs/extras/lang/dart.md @@ -85,11 +85,6 @@ opts = { ensure_installed = { "dart" } } ```lua opts = { - formatters = { - dart_format = { - args = { "format", "--line-length", "120" }, - }, - }, formatters_by_ft = { dart = { "dart_format" }, }, @@ -105,11 +100,6 @@ opts = { { "stevearc/conform.nvim", opts = { - formatters = { - dart_format = { - args = { "format", "--line-length", "120" }, - }, - }, formatters_by_ft = { dart = { "dart_format" }, }, diff --git a/docs/extras/lang/solidity.md b/docs/extras/lang/solidity.md index bb09929153..0eda4c9f02 100644 --- a/docs/extras/lang/solidity.md +++ b/docs/extras/lang/solidity.md @@ -97,12 +97,6 @@ opts = { formatters_by_ft = { solidity = { "forge_fmt" }, }, - formatters = { - forge_fmt = { - command = "forge", - args = { "fmt" }, - }, - }, } ``` @@ -119,12 +113,6 @@ opts = { formatters_by_ft = { solidity = { "forge_fmt" }, }, - formatters = { - forge_fmt = { - command = "forge", - args = { "fmt" }, - }, - }, }, } ``` From 1bc787284dbde15c10c2dbc53cfd0743f895a322 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 22 Oct 2025 13:34:27 +0000 Subject: [PATCH 187/187] chore(build): auto-generate docs --- docs/extras/editor/snacks_picker.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/extras/editor/snacks_picker.md b/docs/extras/editor/snacks_picker.md index 3e1c49a344..8ed717d008 100644 --- a/docs/extras/editor/snacks_picker.md +++ b/docs/extras/editor/snacks_picker.md @@ -237,6 +237,8 @@ opts = function() { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, { "ss", function() Snacks.picker.lsp_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Symbols", has = "documentSymbol" }, { "sS", function() Snacks.picker.lsp_workspace_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Workspace Symbols", has = "workspace/symbols" }, + { "gai", function() Snacks.picker.lsp_incoming_calls() end, desc = "C[a]lls Incoming", has = "callHierarchy/incomingCalls" }, + { "gao", function() Snacks.picker.lsp_outgoing_calls() end, desc = "C[a]lls Outgoing", has = "callHierarchy/outgoingCalls" }, }) end ``` @@ -259,6 +261,8 @@ end { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, { "ss", function() Snacks.picker.lsp_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Symbols", has = "documentSymbol" }, { "sS", function() Snacks.picker.lsp_workspace_symbols({ filter = LazyVim.config.kind_filter }) end, desc = "LSP Workspace Symbols", has = "workspace/symbols" }, + { "gai", function() Snacks.picker.lsp_incoming_calls() end, desc = "C[a]lls Incoming", has = "callHierarchy/incomingCalls" }, + { "gao", function() Snacks.picker.lsp_outgoing_calls() end, desc = "C[a]lls Outgoing", has = "callHierarchy/outgoingCalls" }, }) end, }