mirror of
https://github.com/LazyVim/LazyVim.git
synced 2026-07-22 04:21:08 +00:00
Compare commits
15 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
459a4c3b10 | ||
|
|
c10948c50b | ||
|
|
35f56b9189 | ||
|
|
6eb16e730d | ||
|
|
b30c0312ea | ||
|
|
c429ebb628 | ||
|
|
b830a523b5 | ||
|
|
fa88241e2f | ||
|
|
58089db8b1 | ||
|
|
2dc527e511 | ||
|
|
dc6240f4d5 | ||
|
|
7c1301b895 | ||
|
|
d840410047 | ||
|
|
cdc47ae615 | ||
|
|
d92692309c |
10 changed files with 87 additions and 105 deletions
2
.github/.release-please-manifest.json
vendored
2
.github/.release-please-manifest.json
vendored
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
".": "15.15.0"
|
||||
".": "16.0.0"
|
||||
}
|
||||
|
|
|
|||
21
CHANGELOG.md
21
CHANGELOG.md
|
|
@ -1,5 +1,26 @@
|
|||
# Changelog
|
||||
|
||||
## [16.0.0](https://github.com/LazyVim/LazyVim/compare/v15.15.0...v16.0.0) (2026-05-27)
|
||||
|
||||
|
||||
### ⚠ BREAKING CHANGES
|
||||
|
||||
* **refactoring:** conform to upstream breaking changes on 2.0 branch ([#7124](https://github.com/LazyVim/LazyVim/issues/7124))
|
||||
|
||||
### Features
|
||||
|
||||
* **keymaps:** added leader+bi to delete invisible buffers ([58089db](https://github.com/LazyVim/LazyVim/commit/58089db8b198fc81f91789b6f12d0617cae21437))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **autocmds:** correct version check for nvim-0.13 ([#7184](https://github.com/LazyVim/LazyVim/issues/7184)) ([6eb16e7](https://github.com/LazyVim/LazyVim/commit/6eb16e730d1a686224dca41b05ba125cfd62c1bb))
|
||||
* **autocmds:** replace `vim.hl.on_yank` with `vim.hl.hl_op` for `nvim-0.13` and above ([#7171](https://github.com/LazyVim/LazyVim/issues/7171)) ([b30c031](https://github.com/LazyVim/LazyVim/commit/b30c0312ea1c5bed6b28e72d930059622b0525f8))
|
||||
* **go:** use semanticTokens if setup in gopls config init_options ([#7172](https://github.com/LazyVim/LazyVim/issues/7172)) ([b830a52](https://github.com/LazyVim/LazyVim/commit/b830a523b5973c300639d4d9c4fea7d92fa04dc3))
|
||||
* **hipatterns:** don't color #add (use it too often as a private function in TS) ([dc6240f](https://github.com/LazyVim/LazyVim/commit/dc6240f4d56ae0d40cd0e673ca740dda50c4bf3b))
|
||||
* **oxc:** prefer top-level oxlint root_dir in monorepos ([d840410](https://github.com/LazyVim/LazyVim/commit/d840410047d20a8f93fb8d473599209ebe95584e))
|
||||
* **refactoring:** conform to upstream breaking changes on 2.0 branch ([#7124](https://github.com/LazyVim/LazyVim/issues/7124)) ([d926923](https://github.com/LazyVim/LazyVim/commit/d92692309c41581e1f839033fbccd745be732c7e))
|
||||
|
||||
## [15.15.0](https://github.com/LazyVim/LazyVim/compare/v15.14.0...v15.15.0) (2026-04-02)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
*LazyVim.txt* LazyVim docs
|
||||
For Neovim Last change: 2026 June 02
|
||||
|
||||
==============================================================================
|
||||
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**.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -18,7 +18,11 @@ vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
|
|||
vim.api.nvim_create_autocmd("TextYankPost", {
|
||||
group = augroup("highlight_yank"),
|
||||
callback = function()
|
||||
(vim.hl or vim.highlight).on_yank()
|
||||
if vim.fn.has("nvim-0.13") == 1 then
|
||||
vim.hl.hl_op()
|
||||
else
|
||||
(vim.hl or vim.highlight).on_yank()
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ _G.LazyVim = require("lazyvim.util")
|
|||
---@class LazyVimConfig: LazyVimOptions
|
||||
local M = {}
|
||||
|
||||
M.version = "15.15.0" -- x-release-please-version
|
||||
M.version = "16.0.0" -- x-release-please-version
|
||||
LazyVim.config = M
|
||||
|
||||
---@class LazyVimOptions
|
||||
|
|
|
|||
|
|
@ -43,6 +43,9 @@ end, { desc = "Delete Buffer" })
|
|||
map("n", "<leader>bo", function()
|
||||
Snacks.bufdelete.other()
|
||||
end, { desc = "Delete Other Buffers" })
|
||||
map("n", "<leader>bi", function()
|
||||
Snacks.bufdelete.invisible()
|
||||
end, { desc = "Delete Invisible Buffers" })
|
||||
map("n", "<leader>bD", "<cmd>:bd<cr>", { desc = "Delete Buffer and Window" })
|
||||
|
||||
-- Clear search and stop snippet on escape
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
{ "<leader>r", "", desc = "+refactor", mode = { "n", "x" } },
|
||||
{
|
||||
"<leader>rs",
|
||||
pick,
|
||||
function()
|
||||
return require("refactoring").select_refactor()
|
||||
end,
|
||||
mode = { "n", "x" },
|
||||
desc = "Refactor",
|
||||
desc = "Select Refactor",
|
||||
},
|
||||
{
|
||||
"<leader>ri",
|
||||
function()
|
||||
return require("refactoring").refactor("Inline Variable")
|
||||
return require("refactoring").inline_var()
|
||||
end,
|
||||
mode = { "n", "x" },
|
||||
desc = "Inline Variable",
|
||||
expr = true,
|
||||
},
|
||||
{
|
||||
"<leader>rb",
|
||||
function()
|
||||
return require("refactoring").refactor("Extract Block")
|
||||
end,
|
||||
mode = { "n", "x" },
|
||||
desc = "Extract Block",
|
||||
expr = true,
|
||||
},
|
||||
{
|
||||
"<leader>rf",
|
||||
function()
|
||||
return require("refactoring").refactor("Extract Block To File")
|
||||
end,
|
||||
mode = { "n", "x" },
|
||||
desc = "Extract Block To File",
|
||||
expr = true,
|
||||
},
|
||||
{
|
||||
"<leader>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,
|
||||
},
|
||||
{
|
||||
"<leader>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,
|
||||
},
|
||||
{
|
||||
"<leader>rc",
|
||||
function()
|
||||
require("refactoring").debug.cleanup({})
|
||||
return require("refactoring.debug").cleanup({ restore_view = true }) .. "ag"
|
||||
end,
|
||||
desc = "Debug Cleanup",
|
||||
expr = true,
|
||||
},
|
||||
{
|
||||
"<leader>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 {
|
|||
{
|
||||
"<leader>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 {
|
|||
{
|
||||
"<leader>rx",
|
||||
function()
|
||||
return require("refactoring").refactor("Extract Variable")
|
||||
return require("refactoring").extract_var()
|
||||
end,
|
||||
mode = { "n", "x" },
|
||||
desc = "Extract Variable",
|
||||
expr = true,
|
||||
},
|
||||
{
|
||||
"<leader>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 = {},
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@ return {
|
|||
opts = {
|
||||
servers = {
|
||||
gopls = {
|
||||
init_options = {
|
||||
semanticTokens = true,
|
||||
},
|
||||
settings = {
|
||||
gopls = {
|
||||
gofumpt = true,
|
||||
|
|
@ -46,7 +49,6 @@ return {
|
|||
completeUnimported = true,
|
||||
staticcheck = true,
|
||||
directoryFilters = { "-.git", "-.vscode", "-.idea", "-.vscode-test", "-node_modules" },
|
||||
semanticTokens = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
@ -56,7 +58,12 @@ return {
|
|||
-- workaround for gopls not supporting semanticTokensProvider
|
||||
-- https://github.com/golang/go/issues/54531#issuecomment-1464982242
|
||||
Snacks.util.lsp.on({ name = "gopls" }, function(_, client)
|
||||
if not client.server_capabilities.semanticTokensProvider then
|
||||
if
|
||||
client.config
|
||||
and client.config.init_options
|
||||
and client.config.init_options.semanticTokens
|
||||
and not client.server_capabilities.semanticTokensProvider
|
||||
then
|
||||
local semantic = client.config.capabilities.textDocument.semanticTokens
|
||||
client.server_capabilities.semanticTokensProvider = {
|
||||
full = true,
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -39,6 +39,9 @@ M.plugin = {
|
|||
group = function(_, _, data)
|
||||
---@type string
|
||||
local match = data.full_match
|
||||
if match == "#add" then
|
||||
return
|
||||
end
|
||||
local r, g, b = match:sub(2, 2), match:sub(3, 3), match:sub(4, 4)
|
||||
local hex_color = "#" .. r .. r .. g .. g .. b .. b
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue