mirror of
https://github.com/LazyVim/LazyVim.git
synced 2026-07-22 04:21:08 +00:00
Merge branch 'main' into fix-metals-dependencies
This commit is contained in:
commit
dd3ae20829
17 changed files with 90 additions and 48 deletions
2
.github/.release-please-manifest.json
vendored
2
.github/.release-please-manifest.json
vendored
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
".": "15.12.0"
|
||||
".": "15.13.0"
|
||||
}
|
||||
|
|
|
|||
3
.markdownlint-cli2.yaml
Normal file
3
.markdownlint-cli2.yaml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
config:
|
||||
MD013: false
|
||||
MD033: false
|
||||
27
CHANGELOG.md
27
CHANGELOG.md
|
|
@ -1,5 +1,32 @@
|
|||
# Changelog
|
||||
|
||||
## [15.13.0](https://github.com/LazyVim/LazyVim/compare/v15.12.2...v15.13.0) (2025-11-01)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **snacks:** `snacks.gh` integration. Enabled by default, unless the `util.octo` extra is enabled. ([5e981f9](https://github.com/LazyVim/LazyVim/commit/5e981f9a8cd75eb6f49756e188411037b82b8045))
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **treesitter:** remove node requirement ([6b52a30](https://github.com/LazyVim/LazyVim/commit/6b52a3059e52eed062b6ff3f56e70cffcbf879fe))
|
||||
|
||||
## [15.12.2](https://github.com/LazyVim/LazyVim/compare/v15.12.1...v15.12.2) (2025-10-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **lsp.keymaps:** make cond -> enabled work again. Closes [#6697](https://github.com/LazyVim/LazyVim/issues/6697) ([1a40162](https://github.com/LazyVim/LazyVim/commit/1a401627146c66beaeb213f66dd02662f1006e82))
|
||||
|
||||
## [15.12.1](https://github.com/LazyVim/LazyVim/compare/v15.12.0...v15.12.1) (2025-10-26)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **fzf-lua:** LSP keymaps. Closes [#6698](https://github.com/LazyVim/LazyVim/issues/6698) ([b5ea1e9](https://github.com/LazyVim/LazyVim/commit/b5ea1e9d25202e38a47f0b03ac35cc587c80e6d7))
|
||||
* **navic:** navic attach. Closes [#6702](https://github.com/LazyVim/LazyVim/issues/6702) ([d2d0c64](https://github.com/LazyVim/LazyVim/commit/d2d0c641ed443f8d2ea9e131ec90df59ea149d0a))
|
||||
|
||||
## [15.12.0](https://github.com/LazyVim/LazyVim/compare/v15.11.0...v15.12.0) (2025-10-25)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
*LazyVim.txt* For Neovim Last change: 2025 October 25
|
||||
*LazyVim.txt* LazyVim docs
|
||||
|
||||
==============================================================================
|
||||
Table of Contents *LazyVim-table-of-contents*
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ _G.LazyVim = require("lazyvim.util")
|
|||
---@class LazyVimConfig: LazyVimOptions
|
||||
local M = {}
|
||||
|
||||
M.version = "15.12.0" -- x-release-please-version
|
||||
M.version = "15.13.0" -- x-release-please-version
|
||||
LazyVim.config = M
|
||||
|
||||
---@class LazyVimOptions
|
||||
|
|
@ -34,7 +34,9 @@ local defaults = {
|
|||
dots = "",
|
||||
},
|
||||
ft = {
|
||||
octo = "",
|
||||
octo = " ",
|
||||
gh = " ",
|
||||
["markdown.gh"] = " ",
|
||||
},
|
||||
dap = {
|
||||
Stopped = { " ", "DiagnosticWarn", "DapStoppedLine" },
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ if lazyvim_docs then
|
|||
end
|
||||
|
||||
if LazyVim.has_extra("ai.copilot-native") then
|
||||
if not vim.lsp.inline_completion then
|
||||
if vim.fn.has("nvim-0.12") == 0 then
|
||||
LazyVim.error("You need Neovim >= 0.12 to use the `ai.copilot-native` extra.")
|
||||
return {}
|
||||
end
|
||||
|
|
|
|||
|
|
@ -293,10 +293,12 @@ return {
|
|||
servers = {
|
||||
-- stylua: ignore
|
||||
["*"] = {
|
||||
{ "gd", "<cmd>FzfLua lsp_definitions jump1=true ignore_current_line=true<cr>", desc = "Goto Definition", has = "definition" },
|
||||
{ "gr", "<cmd>FzfLua lsp_references jump1=true ignore_current_line=true<cr>", desc = "References", nowait = true },
|
||||
{ "gI", "<cmd>FzfLua lsp_implementations jump1=true ignore_current_line=true<cr>", desc = "Goto Implementation" },
|
||||
{ "gy", "<cmd>FzfLua lsp_typedefs jump1=true ignore_current_line=true<cr>", desc = "Goto T[y]pe Definition" },
|
||||
keys = {
|
||||
{ "gd", "<cmd>FzfLua lsp_definitions jump1=true ignore_current_line=true<cr>", desc = "Goto Definition", has = "definition" },
|
||||
{ "gr", "<cmd>FzfLua lsp_references jump1=true ignore_current_line=true<cr>", desc = "References", nowait = true },
|
||||
{ "gI", "<cmd>FzfLua lsp_implementations jump1=true ignore_current_line=true<cr>", desc = "Goto Implementation" },
|
||||
{ "gy", "<cmd>FzfLua lsp_typedefs jump1=true ignore_current_line=true<cr>", desc = "Goto T[y]pe Definition" },
|
||||
}
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@ return {
|
|||
lazy = true,
|
||||
init = function()
|
||||
vim.g.navic_silence = true
|
||||
end,
|
||||
opts = function()
|
||||
Snacks.util.lsp.on({ method = "textDocument/documentSymbol" }, function(buffer, client)
|
||||
require("nvim-navic").attach(client, buffer)
|
||||
end)
|
||||
end,
|
||||
opts = function()
|
||||
return {
|
||||
separator = " ",
|
||||
highlight = true,
|
||||
|
|
|
|||
|
|
@ -73,9 +73,13 @@ return {
|
|||
{ "<leader>fp", function() Snacks.picker.projects() end, desc = "Projects" },
|
||||
-- git
|
||||
{ "<leader>gd", function() Snacks.picker.git_diff() end, desc = "Git Diff (hunks)" },
|
||||
{ "<leader>gD", function() Snacks.picker.git_diff({ base = "origin" }) end, desc = "Git Diff (origin)" },
|
||||
{ "<leader>gD", function() Snacks.picker.git_diff({ base = "origin", group = true }) end, desc = "Git Diff (origin)" },
|
||||
{ "<leader>gs", function() Snacks.picker.git_status() end, desc = "Git Status" },
|
||||
{ "<leader>gS", function() Snacks.picker.git_stash() end, desc = "Git Stash" },
|
||||
{ "<leader>gi", function() Snacks.picker.gh_issue() end, desc = "GitHub Issues (open)" },
|
||||
{ "<leader>gI", function() Snacks.picker.gh_issue({ state = "all" }) end, desc = "GitHub Issues (all)" },
|
||||
{ "<leader>gp", function() Snacks.picker.gh_pr() end, desc = "GitHub Pull Requests (open)" },
|
||||
{ "<leader>gP", function() Snacks.picker.gh_pr({ state = "all" }) end, desc = "GitHub Pull Requests (all)" },
|
||||
-- Grep
|
||||
{ "<leader>sb", function() Snacks.picker.lines() end, desc = "Buffer Lines" },
|
||||
{ "<leader>sB", function() Snacks.picker.grep_buffers() end, desc = "Grep Open Buffers" },
|
||||
|
|
|
|||
|
|
@ -3,6 +3,16 @@ return {
|
|||
-- depends on the git extra for highlighting and auto-completion of github issues/prs
|
||||
{ import = "lazyvim.plugins.extras.lang.git" },
|
||||
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
keys = { -- disable conflicting keymaps
|
||||
{ "<leader>gi", false },
|
||||
{ "<leader>gI", false },
|
||||
{ "<leader>gp", false },
|
||||
{ "<leader>gP", false },
|
||||
},
|
||||
},
|
||||
|
||||
-- Octo
|
||||
{
|
||||
"pwntester/octo.nvim",
|
||||
|
|
|
|||
|
|
@ -7,14 +7,6 @@ if vim.fn.has("nvim-0.11.2") == 0 then
|
|||
vim.fn.getchar()
|
||||
vim.cmd([[quit]])
|
||||
return {}
|
||||
elseif not vim.lsp.is_enabled then
|
||||
vim.schedule(function()
|
||||
LazyVim.warn({
|
||||
"You're using an **old** `nightly` version of **Neovim**",
|
||||
"Please update to a recent `nightly`,",
|
||||
"or a stable version (`>= 0.11.2`).",
|
||||
})
|
||||
end)
|
||||
end
|
||||
|
||||
require("lazyvim.config").init()
|
||||
|
|
|
|||
|
|
@ -92,13 +92,13 @@ return {
|
|||
{ "<leader>cr", vim.lsp.buf.rename, desc = "Rename", has = "rename" },
|
||||
{ "<leader>cA", LazyVim.lsp.action.source, desc = "Source Action", has = "codeAction" },
|
||||
{ "]]", function() Snacks.words.jump(vim.v.count1) end, has = "documentHighlight",
|
||||
desc = "Next Reference", cond = function() return Snacks.words.is_enabled() end },
|
||||
desc = "Next Reference", enabled = function() return Snacks.words.is_enabled() end },
|
||||
{ "[[", function() Snacks.words.jump(-vim.v.count1) end, has = "documentHighlight",
|
||||
desc = "Prev Reference", cond = function() return Snacks.words.is_enabled() end },
|
||||
desc = "Prev Reference", enabled = function() return Snacks.words.is_enabled() end },
|
||||
{ "<a-n>", function() Snacks.words.jump(vim.v.count1, true) end, has = "documentHighlight",
|
||||
desc = "Next Reference", cond = function() return Snacks.words.is_enabled() end },
|
||||
desc = "Next Reference", enabled = function() return Snacks.words.is_enabled() end },
|
||||
{ "<a-p>", function() Snacks.words.jump(-vim.v.count1, true) end, has = "documentHighlight",
|
||||
desc = "Prev Reference", cond = function() return Snacks.words.is_enabled() end },
|
||||
desc = "Prev Reference", enabled = function() return Snacks.words.is_enabled() end },
|
||||
},
|
||||
},
|
||||
stylua = { enabled = false },
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ local M = {}
|
|||
---@type LazyKeysLspSpec[]|nil
|
||||
M._keys = {}
|
||||
|
||||
---@alias LazyKeysLspSpec LazyKeysSpec|{has?:string|string[], cond?:fun():boolean}
|
||||
---@alias LazyKeysLsp LazyKeys|{has?:string|string[], cond?:fun():boolean}
|
||||
---@alias LazyKeysLspSpec LazyKeysSpec|{has?:string|string[], enabled?:fun():boolean}
|
||||
---@alias LazyKeysLsp LazyKeys|{has?:string|string[], enabled?:fun():boolean}
|
||||
|
||||
---@deprecated
|
||||
---@return LazyKeysLspSpec[]
|
||||
|
|
@ -43,24 +43,23 @@ function M.set(filter, spec)
|
|||
local Keys = require("lazy.core.handler.keys")
|
||||
for _, keys in pairs(Keys.resolve(spec)) do
|
||||
---@cast keys LazyKeysLsp
|
||||
if keys.cond == nil or keys.cond() then
|
||||
local filters = {} ---@type vim.lsp.get_clients.Filter[]
|
||||
if keys.has then
|
||||
local methods = type(keys.has) == "string" and { keys.has } or keys.has --[[@as string[] ]]
|
||||
for _, method in ipairs(methods) do
|
||||
method = method:find("/") and method or ("textDocument/" .. method)
|
||||
filters[#filters + 1] = vim.tbl_extend("force", vim.deepcopy(filter), { method = method })
|
||||
end
|
||||
else
|
||||
filters[#filters + 1] = filter
|
||||
local filters = {} ---@type vim.lsp.get_clients.Filter[]
|
||||
if keys.has then
|
||||
local methods = type(keys.has) == "string" and { keys.has } or keys.has --[[@as string[] ]]
|
||||
for _, method in ipairs(methods) do
|
||||
method = method:find("/") and method or ("textDocument/" .. method)
|
||||
filters[#filters + 1] = vim.tbl_extend("force", vim.deepcopy(filter), { method = method })
|
||||
end
|
||||
else
|
||||
filters[#filters + 1] = filter
|
||||
end
|
||||
|
||||
for _, f in ipairs(filters) do
|
||||
local opts = Keys.opts(keys)
|
||||
---@cast opts snacks.keymap.set.Opts
|
||||
opts.lsp = f
|
||||
Snacks.keymap.set(keys.mode or "n", keys.lhs, keys.rhs, opts)
|
||||
end
|
||||
for _, f in ipairs(filters) do
|
||||
local opts = Keys.opts(keys)
|
||||
---@cast opts snacks.keymap.set.Opts
|
||||
opts.lsp = f
|
||||
opts.enabled = keys.enabled
|
||||
Snacks.keymap.set(keys.mode or "n", keys.lhs, keys.rhs, opts)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -171,8 +171,14 @@ return {
|
|||
|
||||
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)
|
||||
local queries = type(query) == "table" and query or { query }
|
||||
local parts = {}
|
||||
for _, q in ipairs(queries) do
|
||||
local part = q:gsub("@", ""):gsub("%..*", "")
|
||||
part = part:sub(1, 1):upper() .. part:sub(2)
|
||||
table.insert(parts, part)
|
||||
end
|
||||
local desc = table.concat(parts, " or ")
|
||||
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
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@ return {
|
|||
nav_j = { "<C-j>", term_nav("j"), desc = "Go to Lower Window", expr = true, mode = "t" },
|
||||
nav_k = { "<C-k>", term_nav("k"), desc = "Go to Upper Window", expr = true, mode = "t" },
|
||||
nav_l = { "<C-l>", term_nav("l"), desc = "Go to Right Window", expr = true, mode = "t" },
|
||||
hide_slash = { "<C-/>", "hide", desc = "Hide Terminal", mode = { "t", "n" } },
|
||||
hide_underscore = { "<c-_>", "hide", desc = "which_key_ignore", mode = { "t", "n" } },
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ function M.setup(shell)
|
|||
|
||||
-- Setting shell command flags
|
||||
vim.o.shellcmdflag =
|
||||
"-NoLogo -NonInteractive -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.UTF8Encoding]::new();$PSDefaultParameterValues['Out-File:Encoding']='utf8';$PSStyle.OutputRendering='plaintext';Remove-Alias -Force -ErrorAction SilentlyContinue tee;"
|
||||
"-NoProfile -NoLogo -NonInteractive -ExecutionPolicy RemoteSigned -Command [Console]::InputEncoding=[Console]::OutputEncoding=[System.Text.UTF8Encoding]::new();$PSDefaultParameterValues['Out-File:Encoding']='utf8';$PSStyle.OutputRendering='plaintext';Remove-Alias -Force -ErrorAction SilentlyContinue tee;"
|
||||
|
||||
-- Setting shell redirection
|
||||
vim.o.shellredir = '2>&1 | %%{ "$_" } | Out-File %s; exit $LastExitCode'
|
||||
|
|
|
|||
|
|
@ -80,7 +80,6 @@ function M.check()
|
|||
["C compiler"] = have_cc,
|
||||
tar = have("tar"),
|
||||
curl = have("curl"),
|
||||
node = have("node"),
|
||||
}
|
||||
local ok = true
|
||||
for _, v in pairs(ret) do
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue