mirror of
https://github.com/neovim/neovim.git
synced 2025-12-12 01:22:41 +00:00
fix(pack): use more correct URI for confirmation buffer name
Problem: Confirmation buffer is named with `nvim-pack://` as scheme prefix and uses buffer id (needed for in-process LSP) as one an entry in the "hierarchical part". Solution: Use `nvim://pack-confirm#<buf>` format with a more ubiquitous `nvim://` prefix and buffer id at the end as the optional fragment.
This commit is contained in:
@@ -282,8 +282,8 @@ mappings to a specific action by invoking `vim.lsp.buf.code_action()` with the
|
|||||||
<
|
<
|
||||||
|
|
||||||
Example: See `runtime/lua/vim/pack/_lsp.lua` for how vim.pack defines an
|
Example: See `runtime/lua/vim/pack/_lsp.lua` for how vim.pack defines an
|
||||||
in-process LSP server to provide interactive features in its `nvim-pack://`
|
in-process LSP server to provide interactive features in its
|
||||||
buffer.
|
`nvim://pack-confirm` buffer.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
Troubleshooting *lua-plugin-troubleshooting*
|
Troubleshooting *lua-plugin-troubleshooting*
|
||||||
|
|||||||
@@ -923,7 +923,7 @@ end
|
|||||||
local function show_confirm_buf(lines, on_finish)
|
local function show_confirm_buf(lines, on_finish)
|
||||||
-- Show buffer in a separate tabpage
|
-- Show buffer in a separate tabpage
|
||||||
local bufnr = api.nvim_create_buf(true, true)
|
local bufnr = api.nvim_create_buf(true, true)
|
||||||
api.nvim_buf_set_name(bufnr, 'nvim-pack://' .. bufnr .. '/confirm-update')
|
api.nvim_buf_set_name(bufnr, 'nvim://pack-confirm#' .. bufnr)
|
||||||
api.nvim_buf_set_lines(bufnr, 0, -1, false, lines)
|
api.nvim_buf_set_lines(bufnr, 0, -1, false, lines)
|
||||||
vim.cmd.sbuffer({ bufnr, mods = { tab = vim.fn.tabpagenr() } })
|
vim.cmd.sbuffer({ bufnr, mods = { tab = vim.fn.tabpagenr() } })
|
||||||
local tab_id = api.nvim_get_current_tabpage()
|
local tab_id = api.nvim_get_current_tabpage()
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ function methods.shutdown(_, callback)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local get_confirm_bufnr = function(uri)
|
local get_confirm_bufnr = function(uri)
|
||||||
return tonumber(uri:match('^nvim%-pack://(%d+)/confirm%-update$'))
|
return tonumber(uri:match('^nvim://pack%-confirm#(%d+)$'))
|
||||||
end
|
end
|
||||||
|
|
||||||
local group_header_pattern = '^# (%S+)'
|
local group_header_pattern = '^# (%S+)'
|
||||||
|
|||||||
@@ -987,7 +987,7 @@ describe('vim.pack', function()
|
|||||||
local confirm_bufnr = api.nvim_get_current_buf()
|
local confirm_bufnr = api.nvim_get_current_buf()
|
||||||
local confirm_winnr = api.nvim_get_current_win()
|
local confirm_winnr = api.nvim_get_current_win()
|
||||||
local confirm_tabpage = api.nvim_get_current_tabpage()
|
local confirm_tabpage = api.nvim_get_current_tabpage()
|
||||||
eq(api.nvim_buf_get_name(0), 'nvim-pack://' .. confirm_bufnr .. '/confirm-update')
|
eq(api.nvim_buf_get_name(0), 'nvim://pack-confirm#' .. confirm_bufnr)
|
||||||
|
|
||||||
-- Adjust lines for a more robust screenshot testing
|
-- Adjust lines for a more robust screenshot testing
|
||||||
local fetch_src = repos_src.fetch
|
local fetch_src = repos_src.fetch
|
||||||
@@ -1037,10 +1037,10 @@ describe('vim.pack', function()
|
|||||||
short_hashes.fetch_new_prev = git_get_short_hash('main~', 'fetch')
|
short_hashes.fetch_new_prev = git_get_short_hash('main~', 'fetch')
|
||||||
hashes.semver_head = git_get_hash('v0.3.0', 'semver')
|
hashes.semver_head = git_get_hash('v0.3.0', 'semver')
|
||||||
|
|
||||||
local tab_name = 'n' .. (t.is_os('win') and ':' or '') .. '//2/confirm-update'
|
local tab_name = 'n' .. (t.is_os('win') and ':' or '') .. '//pack-confirm#2'
|
||||||
|
|
||||||
local screen_lines = {
|
local screen_lines = {
|
||||||
('{24: [No Name] }{5: %s }{2:%s }{24:X}|'):format(
|
('{24: [No Name] }{5: %s }{2:%s }{24:X}|'):format(
|
||||||
tab_name,
|
tab_name,
|
||||||
t.is_os('win') and '' or ' '
|
t.is_os('win') and '' or ' '
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user