From 96f4f18d7d81c786ac0df5723bc7aca058bf2165 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Sat, 21 Mar 2026 09:50:09 +0100 Subject: [PATCH 1/9] fix(terminal): use Snacks.terminal.focus() for mapping Switches from toggle() to focus() so that only hides the terminal when you're currently in it. Restores hide win keys for terminal mode. Closes #7048 Co-Authored-By: Claude Opus 4.6 (1M context) --- lua/lazyvim/config/keymaps.lua | 4 ++-- lua/lazyvim/plugins/util.lua | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lua/lazyvim/config/keymaps.lua b/lua/lazyvim/config/keymaps.lua index 05d07a21..9651e4e6 100644 --- a/lua/lazyvim/config/keymaps.lua +++ b/lua/lazyvim/config/keymaps.lua @@ -189,8 +189,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","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" }) +map({"n","t"}, "",function() Snacks.terminal.focus(nil, { cwd = LazyVim.root() }) end, { desc = "Terminal (Root Dir)" }) +map({"n","t"}, "",function() Snacks.terminal.focus(nil, { cwd = LazyVim.root() }) end, { desc = "which_key_ignore" }) -- windows map("n", "-", "s", { desc = "Split Window Below", remap = true }) diff --git a/lua/lazyvim/plugins/util.lua b/lua/lazyvim/plugins/util.lua index 8d8aa220..9d0d231c 100644 --- a/lua/lazyvim/plugins/util.lua +++ b/lua/lazyvim/plugins/util.lua @@ -23,6 +23,8 @@ return { 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" }, + hide_underscore = { "", "hide", desc = "which_key_ignore", mode = "t" }, }, }, }, From 85afbbc94bb45891799a4851b2edf753b51f18b0 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Thu, 2 Apr 2026 10:07:50 +0200 Subject: [PATCH 2/9] fix(oxc): added `fixKind = "all"` --- lua/lazyvim/plugins/extras/lang/typescript/oxc.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lua/lazyvim/plugins/extras/lang/typescript/oxc.lua b/lua/lazyvim/plugins/extras/lang/typescript/oxc.lua index a516fc89..d4efb30c 100644 --- a/lua/lazyvim/plugins/extras/lang/typescript/oxc.lua +++ b/lua/lazyvim/plugins/extras/lang/typescript/oxc.lua @@ -29,7 +29,11 @@ return { opts = { servers = { ---@type lspconfig.settings.oxlint - oxlint = {}, + oxlint = { + settings = { + fixKind = "all", + }, + }, --- disable the oxfmt lsp server since we use conform for formatting oxfmt = { enabled = false }, }, From d07070bf2ff83ae513097d02d71460920af85a91 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Thu, 2 Apr 2026 10:08:02 +0200 Subject: [PATCH 3/9] fix(tsgo): remove some noisy inlay hints --- lua/lazyvim/plugins/extras/lang/typescript/tsgo.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lua/lazyvim/plugins/extras/lang/typescript/tsgo.lua b/lua/lazyvim/plugins/extras/lang/typescript/tsgo.lua index ef075416..b526cef5 100644 --- a/lua/lazyvim/plugins/extras/lang/typescript/tsgo.lua +++ b/lua/lazyvim/plugins/extras/lang/typescript/tsgo.lua @@ -34,15 +34,15 @@ return { settings = { typescript = { inlayHints = { + enumMemberValues = { enabled = true }, + functionLikeReturnTypes = { enabled = false }, parameterNames = { enabled = "literals", suppressWhenArgumentMatchesName = true, }, parameterTypes = { enabled = true }, - variableTypes = { enabled = true }, propertyDeclarationTypes = { enabled = true }, - functionLikeReturnTypes = { enabled = false }, - enumMemberValues = { enabled = true }, + variableTypes = { enabled = false }, }, }, }, From ef272ff7cc9b53d48baf6544618b5923d65c0282 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Thu, 2 Apr 2026 10:11:23 +0200 Subject: [PATCH 4/9] fix(treesitter): `nvim-treesitter` on longer support nvim-0.11, so pin when needed. Fixes #7092 --- lua/lazyvim/plugins/treesitter.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/lazyvim/plugins/treesitter.lua b/lua/lazyvim/plugins/treesitter.lua index 6de91b30..4ef68c8f 100644 --- a/lua/lazyvim/plugins/treesitter.lua +++ b/lua/lazyvim/plugins/treesitter.lua @@ -6,6 +6,7 @@ return { { "nvim-treesitter/nvim-treesitter", branch = "main", + commit = vim.fn.has("nvim-0.12") == 0 and "7caec274fd19c12b55902a5b795100d21531391f" or nil, version = false, -- last release is way too old and doesn't work on Windows build = function() local TS = require("nvim-treesitter") From 83d90f339defdb109a6ede333865a66ffc7ef6aa Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2026 10:13:57 +0200 Subject: [PATCH 5/9] chore(main): release 15.15.0 (#7034) :robot: I have created a release *beep* *boop* --- ## [15.15.0](https://github.com/LazyVim/LazyVim/compare/v15.14.0...v15.15.0) (2026-04-02) ### Features * **biome:** enable biome lsp for linting ([b2830cf](https://github.com/LazyVim/LazyVim/commit/b2830cfcc5c9c09ebbf9545beb3947a55ce89dbd)) * **biome:** move biome extra from formatting.biome -> lang.typescript.biome ([242f098](https://github.com/LazyVim/LazyVim/commit/242f0983de9fdb70f0d82057a8039e32bc171764)) * **lazydev:** make lspconfig types available on word `lspconfig.settings` ([36f5947](https://github.com/LazyVim/LazyVim/commit/36f594716bcb0bec84a05a6c55f702134d2e89c3)) * **lsp:** auto add organizeImport keymaps for LSPs that support it ([e54689e](https://github.com/LazyVim/LazyVim/commit/e54689ebdc5458cb30f4a48b954c710bb381cd01)) * **oxc:** added oxc extra for oxfmt and oxlint ([4e9eac5](https://github.com/LazyVim/LazyVim/commit/4e9eac57aba1ea575ef008a503cba8327257e4a4)) * **sidekick:** ctrl+. focuses sidekick, but when already inside sidekick, hides it ([50159fe](https://github.com/LazyVim/LazyVim/commit/50159fe344d93329a569cee136c0323e48b0d3da)) * **typescript:** set `vim.g.lazyvim_ts_lsp = "tsgo"` to use the much faster experimental lsp server ([e6f26f0](https://github.com/LazyVim/LazyVim/commit/e6f26f0f23e9cb4c6bcc351b06474f4863319aff)) * **typescript:** split typescript extra in main, vtsls and tsgo ([9029d92](https://github.com/LazyVim/LazyVim/commit/9029d928d2f7b7f76f132b618d2931499c9b6eb9)) ### Bug Fixes * **biome:** added recommendation when root has biome config file ([ad25b31](https://github.com/LazyVim/LazyVim/commit/ad25b31e512892ca51a1fa3ffa96d1375c391039)) * **biome:** biome mason install is no longer needed ([5450006](https://github.com/LazyVim/LazyVim/commit/5450006ccdd7df341f7f60dded58ea4a87aa9c15)) * **biome:** use biome-check in conform that also fixes linting issues and sorts imports ([954d874](https://github.com/LazyVim/LazyVim/commit/954d8746e5cf1266d93cf4210c00c1506f20423b)) * **lsp:** sort server names before setting keymaps ([6d0da34](https://github.com/LazyVim/LazyVim/commit/6d0da34de9c4a82170e3359d4e7853bf89a557b3)) * **oxc:** added `fixKind = "all"` ([85afbbc](https://github.com/LazyVim/LazyVim/commit/85afbbc94bb45891799a4851b2edf753b51f18b0)) * **r:** recommend for *.qmd instead of *qmd files ([3b3d649](https://github.com/LazyVim/LazyVim/commit/3b3d6493332798674fb7b82aea600bab18eaf311)) * **terminal:** use Snacks.terminal.focus() for <C-/> mapping ([96f4f18](https://github.com/LazyVim/LazyVim/commit/96f4f18d7d81c786ac0df5723bc7aca058bf2165)), closes [#7048](https://github.com/LazyVim/LazyVim/issues/7048) * **treesitter:** `nvim-treesitter` on longer support nvim-0.11, so pin when needed. Fixes [#7092](https://github.com/LazyVim/LazyVim/issues/7092) ([ef272ff](https://github.com/LazyVim/LazyVim/commit/ef272ff7cc9b53d48baf6544618b5923d65c0282)) * **tsgo:** disable inlayHints.functionLikeReturnTypes by default. Too noisy ([8bcb620](https://github.com/LazyVim/LazyVim/commit/8bcb6208021bd4e4257de64c9598c6b78688be28)) * **tsgo:** remove some noisy inlay hints ([d07070b](https://github.com/LazyVim/LazyVim/commit/d07070bf2ff83ae513097d02d71460920af85a91)) * **typescript:** remove keymaps for non-existing code actions ([53f4eab](https://github.com/LazyVim/LazyVim/commit/53f4eabd7723faba2d7c14afe53226d8c18bf16c)) * **util.plugin:** single imports for extras ([1b4be53](https://github.com/LazyVim/LazyVim/commit/1b4be534f1d8959480ba1f622a457654bd737ce5)) ### Performance Improvements * **extras:** never load nested extras ([8764dfb](https://github.com/LazyVim/LazyVim/commit/8764dfbc8fcb8923397153eb3a2cfcac7ea988f1)) ### Reverts * **lsp:** revert changes for [#6456](https://github.com/LazyVim/LazyVim/issues/6456). Closes [#6779](https://github.com/LazyVim/LazyVim/issues/6779) ([d0fe8c8](https://github.com/LazyVim/LazyVim/commit/d0fe8c896f4dca003e8d56e2091ee5ec7da7af75)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .github/.release-please-manifest.json | 2 +- CHANGELOG.md | 40 +++++++++++++++++++++++++++ lua/lazyvim/config/init.lua | 2 +- 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/.github/.release-please-manifest.json b/.github/.release-please-manifest.json index 538e599a..6509ffcb 100644 --- a/.github/.release-please-manifest.json +++ b/.github/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "15.14.0" + ".": "15.15.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index f5e25695..9c2cdedb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,45 @@ # Changelog +## [15.15.0](https://github.com/LazyVim/LazyVim/compare/v15.14.0...v15.15.0) (2026-04-02) + + +### Features + +* **biome:** enable biome lsp for linting ([b2830cf](https://github.com/LazyVim/LazyVim/commit/b2830cfcc5c9c09ebbf9545beb3947a55ce89dbd)) +* **biome:** move biome extra from formatting.biome -> lang.typescript.biome ([242f098](https://github.com/LazyVim/LazyVim/commit/242f0983de9fdb70f0d82057a8039e32bc171764)) +* **lazydev:** make lspconfig types available on word `lspconfig.settings` ([36f5947](https://github.com/LazyVim/LazyVim/commit/36f594716bcb0bec84a05a6c55f702134d2e89c3)) +* **lsp:** auto add organizeImport keymaps for LSPs that support it ([e54689e](https://github.com/LazyVim/LazyVim/commit/e54689ebdc5458cb30f4a48b954c710bb381cd01)) +* **oxc:** added oxc extra for oxfmt and oxlint ([4e9eac5](https://github.com/LazyVim/LazyVim/commit/4e9eac57aba1ea575ef008a503cba8327257e4a4)) +* **sidekick:** ctrl+. focuses sidekick, but when already inside sidekick, hides it ([50159fe](https://github.com/LazyVim/LazyVim/commit/50159fe344d93329a569cee136c0323e48b0d3da)) +* **typescript:** set `vim.g.lazyvim_ts_lsp = "tsgo"` to use the much faster experimental lsp server ([e6f26f0](https://github.com/LazyVim/LazyVim/commit/e6f26f0f23e9cb4c6bcc351b06474f4863319aff)) +* **typescript:** split typescript extra in main, vtsls and tsgo ([9029d92](https://github.com/LazyVim/LazyVim/commit/9029d928d2f7b7f76f132b618d2931499c9b6eb9)) + + +### Bug Fixes + +* **biome:** added recommendation when root has biome config file ([ad25b31](https://github.com/LazyVim/LazyVim/commit/ad25b31e512892ca51a1fa3ffa96d1375c391039)) +* **biome:** biome mason install is no longer needed ([5450006](https://github.com/LazyVim/LazyVim/commit/5450006ccdd7df341f7f60dded58ea4a87aa9c15)) +* **biome:** use biome-check in conform that also fixes linting issues and sorts imports ([954d874](https://github.com/LazyVim/LazyVim/commit/954d8746e5cf1266d93cf4210c00c1506f20423b)) +* **lsp:** sort server names before setting keymaps ([6d0da34](https://github.com/LazyVim/LazyVim/commit/6d0da34de9c4a82170e3359d4e7853bf89a557b3)) +* **oxc:** added `fixKind = "all"` ([85afbbc](https://github.com/LazyVim/LazyVim/commit/85afbbc94bb45891799a4851b2edf753b51f18b0)) +* **r:** recommend for *.qmd instead of *qmd files ([3b3d649](https://github.com/LazyVim/LazyVim/commit/3b3d6493332798674fb7b82aea600bab18eaf311)) +* **terminal:** use Snacks.terminal.focus() for <C-/> mapping ([96f4f18](https://github.com/LazyVim/LazyVim/commit/96f4f18d7d81c786ac0df5723bc7aca058bf2165)), closes [#7048](https://github.com/LazyVim/LazyVim/issues/7048) +* **treesitter:** `nvim-treesitter` on longer support nvim-0.11, so pin when needed. Fixes [#7092](https://github.com/LazyVim/LazyVim/issues/7092) ([ef272ff](https://github.com/LazyVim/LazyVim/commit/ef272ff7cc9b53d48baf6544618b5923d65c0282)) +* **tsgo:** disable inlayHints.functionLikeReturnTypes by default. Too noisy ([8bcb620](https://github.com/LazyVim/LazyVim/commit/8bcb6208021bd4e4257de64c9598c6b78688be28)) +* **tsgo:** remove some noisy inlay hints ([d07070b](https://github.com/LazyVim/LazyVim/commit/d07070bf2ff83ae513097d02d71460920af85a91)) +* **typescript:** remove keymaps for non-existing code actions ([53f4eab](https://github.com/LazyVim/LazyVim/commit/53f4eabd7723faba2d7c14afe53226d8c18bf16c)) +* **util.plugin:** single imports for extras ([1b4be53](https://github.com/LazyVim/LazyVim/commit/1b4be534f1d8959480ba1f622a457654bd737ce5)) + + +### Performance Improvements + +* **extras:** never load nested extras ([8764dfb](https://github.com/LazyVim/LazyVim/commit/8764dfbc8fcb8923397153eb3a2cfcac7ea988f1)) + + +### Reverts + +* **lsp:** revert changes for [#6456](https://github.com/LazyVim/LazyVim/issues/6456). Closes [#6779](https://github.com/LazyVim/LazyVim/issues/6779) ([d0fe8c8](https://github.com/LazyVim/LazyVim/commit/d0fe8c896f4dca003e8d56e2091ee5ec7da7af75)) + ## [15.14.0](https://github.com/LazyVim/LazyVim/compare/v15.13.0...v15.14.0) (2026-03-01) diff --git a/lua/lazyvim/config/init.lua b/lua/lazyvim/config/init.lua index 5a4020b6..62d0b8a5 100644 --- a/lua/lazyvim/config/init.lua +++ b/lua/lazyvim/config/init.lua @@ -3,7 +3,7 @@ _G.LazyVim = require("lazyvim.util") ---@class LazyVimConfig: LazyVimOptions local M = {} -M.version = "15.14.0" -- x-release-please-version +M.version = "15.15.0" -- x-release-please-version LazyVim.config = M ---@class LazyVimOptions From d92692309c41581e1f839033fbccd745be732c7e Mon Sep 17 00:00:00 2001 From: Iordanis Petkakis <12776461+dpetka2001@users.noreply.github.com> Date: Wed, 22 Apr 2026 12:32:53 +0300 Subject: [PATCH 6/9] fix(refactoring)!: conform to upstream breaking changes on 2.0 branch (#7124) ## Description `refactoring.nvim` had a new 2.0 release with some breaking changes. Adjust the LazyVim Extra. Left `opts` with everything default as there've been changes there as well, but I don't use the plugin. ## Related Issue(s) Fixes #7122 ## Screenshots ## Checklist - [x] I've read the [CONTRIBUTING](https://github.com/LazyVim/LazyVim/blob/main/CONTRIBUTING.md) guidelines. --- .../plugins/extras/editor/refactoring.lua | 114 ++++-------------- 1 file changed, 22 insertions(+), 92 deletions(-) diff --git a/lua/lazyvim/plugins/extras/editor/refactoring.lua b/lua/lazyvim/plugins/extras/editor/refactoring.lua index 11ab3786..d1105d3b 100644 --- a/lua/lazyvim/plugins/extras/editor/refactoring.lua +++ b/lua/lazyvim/plugins/extras/editor/refactoring.lua @@ -1,95 +1,64 @@ -local pick = function() - local refactoring = require("refactoring") - if LazyVim.pick.picker.name == "telescope" then - return require("telescope").extensions.refactoring.refactors() - elseif LazyVim.pick.picker.name == "fzf" then - local fzf_lua = require("fzf-lua") - local results = refactoring.get_refactors() - - local opts = { - fzf_opts = {}, - fzf_colors = true, - actions = { - ["default"] = function(selected) - refactoring.refactor(selected[1]) - end, - }, - } - fzf_lua.fzf_exec(results, opts) - else - refactoring.select_refactor() +if LazyVim.has_extra("editor.refactoring") then + if vim.fn.has("nvim-0.12") == 0 then + LazyVim.error("refactoring.nvim requires Neovim 0.12 or higher", { title = "refactoring.nvim" }) + return {} end end return { + { "lewis6991/async.nvim", lazy = true }, + { "ThePrimeagen/refactoring.nvim", event = { "BufReadPre", "BufNewFile" }, - dependencies = { - "nvim-lua/plenary.nvim", - "nvim-treesitter/nvim-treesitter", - }, keys = { { "r", "", desc = "+refactor", mode = { "n", "x" } }, { "rs", - pick, + function() + return require("refactoring").select_refactor() + end, mode = { "n", "x" }, - desc = "Refactor", + desc = "Select Refactor", }, { "ri", function() - return require("refactoring").refactor("Inline Variable") + return require("refactoring").inline_var() end, mode = { "n", "x" }, desc = "Inline Variable", expr = true, }, - { - "rb", - function() - return require("refactoring").refactor("Extract Block") - end, - mode = { "n", "x" }, - desc = "Extract Block", - expr = true, - }, - { - "rf", - function() - return require("refactoring").refactor("Extract Block To File") - end, - mode = { "n", "x" }, - desc = "Extract Block To File", - expr = true, - }, { "rP", function() - require("refactoring").debug.printf({ below = false }) + return require("refactoring.debug").print_loc({ output_location = "below" }) end, - desc = "Debug Print", + desc = "Debug Print Location", + expr = true, }, { "rp", function() - require("refactoring").debug.print_var({ normal = true }) + return require("refactoring.debug").print_var({ output_location = "below" }) .. "iw" end, mode = { "n", "x" }, desc = "Debug Print Variable", + expr = true, }, { "rc", function() - require("refactoring").debug.cleanup({}) + return require("refactoring.debug").cleanup({ restore_view = true }) .. "ag" end, desc = "Debug Cleanup", + expr = true, }, { "rf", function() - return require("refactoring").refactor("Extract Function") + return require("refactoring").extract_func() end, mode = { "n", "x" }, desc = "Extract Function", @@ -98,7 +67,7 @@ return { { "rF", function() - return require("refactoring").refactor("Extract Function To File") + return require("refactoring").extract_func_to_file() end, mode = { "n", "x" }, desc = "Extract Function To File", @@ -107,52 +76,13 @@ return { { "rx", function() - return require("refactoring").refactor("Extract Variable") + return require("refactoring").extract_var() end, mode = { "n", "x" }, desc = "Extract Variable", expr = true, }, - { - "rp", - function() - require("refactoring").debug.print_var() - end, - mode = { "n", "x" }, - desc = "Debug Print Variable", - }, }, - opts = { - prompt_func_return_type = { - go = false, - java = false, - cpp = false, - c = false, - h = false, - hpp = false, - cxx = false, - }, - prompt_func_param_type = { - go = false, - java = false, - cpp = false, - c = false, - h = false, - hpp = false, - cxx = false, - }, - printf_statements = {}, - print_var_statements = {}, - show_success_message = true, -- shows a message with information about the refactor on success - -- i.e. [Refactor] Inlined 3 variable occurrences - }, - config = function(_, opts) - require("refactoring").setup(opts) - if LazyVim.has("telescope.nvim") then - LazyVim.on_load("telescope.nvim", function() - require("telescope").load_extension("refactoring") - end) - end - end, + opts = {}, }, } From cdc47ae6152872ad09d588697906bf93cba3fcd9 Mon Sep 17 00:00:00 2001 From: folke <292349+folke@users.noreply.github.com> Date: Wed, 22 Apr 2026 09:33:58 +0000 Subject: [PATCH 7/9] chore(build): auto-generated vimdocs --- doc/LazyVim.txt | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/doc/LazyVim.txt b/doc/LazyVim.txt index 1288f75d..7802ea89 100644 --- a/doc/LazyVim.txt +++ b/doc/LazyVim.txt @@ -1,4 +1,5 @@ *LazyVim.txt* LazyVim docs + For Neovim Last change: 2026 April 22 ============================================================================== Table of Contents *LazyVim-table-of-contents* @@ -78,22 +79,26 @@ Try it with Docker ~ Install the LazyVim Starter ~ - Make a backup of your current Neovim files: - >sh + +>sh mv ~/.config/nvim ~/.config/nvim.bak mv ~/.local/share/nvim ~/.local/share/nvim.bak - < +< - Clone the starter - >sh + +>sh git clone https://github.com/LazyVim/starter ~/.config/nvim - < +< - Remove the `.git` folder, so you can add it to your own repo later - >sh + +>sh rm -rf ~/.config/nvim/.git - < +< - Start Neovim! - >sh + +>sh nvim - < +< Refer to the comments in the files on how to customize **LazyVim**. ------------------------------------------------------------------------------ From d840410047d20a8f93fb8d473599209ebe95584e Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Sun, 26 Apr 2026 20:15:56 +0200 Subject: [PATCH 8/9] fix(oxc): prefer top-level oxlint root_dir in monorepos --- lua/lazyvim/plugins/extras/lang/typescript/oxc.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lua/lazyvim/plugins/extras/lang/typescript/oxc.lua b/lua/lazyvim/plugins/extras/lang/typescript/oxc.lua index d4efb30c..c2f35843 100644 --- a/lua/lazyvim/plugins/extras/lang/typescript/oxc.lua +++ b/lua/lazyvim/plugins/extras/lang/typescript/oxc.lua @@ -30,6 +30,15 @@ return { servers = { ---@type lspconfig.settings.oxlint oxlint = { + root_dir = function(bufnr, on_dir) + -- prefer the top-level oxlint config if it exists (monorepo support) + local git = vim.fs.root(bufnr, ".git") + local markers = { ".oxlintrc.json", ".oxlintrc.jsonc", "oxlint.config.ts" } + local root = git and vim.fs.root(git, markers) or vim.fs.root(bufnr, markers) + if root then + on_dir(root) + end + end, settings = { fixKind = "all", }, From 7c1301b89563198d1b2a295e673f6a7205adc076 Mon Sep 17 00:00:00 2001 From: folke <292349+folke@users.noreply.github.com> Date: Sun, 26 Apr 2026 18:17:07 +0000 Subject: [PATCH 9/9] chore(build): auto-generated vimdocs --- doc/LazyVim.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/LazyVim.txt b/doc/LazyVim.txt index 7802ea89..37675cf5 100644 --- a/doc/LazyVim.txt +++ b/doc/LazyVim.txt @@ -1,5 +1,5 @@ *LazyVim.txt* LazyVim docs - For Neovim Last change: 2026 April 22 + For Neovim Last change: 2026 April 26 ============================================================================== Table of Contents *LazyVim-table-of-contents*