mirror of
https://github.com/neovim/neovim.git
synced 2025-12-11 17:12:40 +00:00
Add vim.uri_to_bufnr
This commit is contained in:
@@ -62,14 +62,10 @@ builtin_callbacks['textDocument/rename'] = function(_, _, result)
|
|||||||
util.workspace_apply_workspace_edit(result)
|
util.workspace_apply_workspace_edit(result)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function uri_to_bufnr(uri)
|
|
||||||
return vim.fn.bufadd((vim.uri_to_fname(uri)))
|
|
||||||
end
|
|
||||||
|
|
||||||
builtin_callbacks['textDocument/publishDiagnostics'] = function(_, _, result)
|
builtin_callbacks['textDocument/publishDiagnostics'] = function(_, _, result)
|
||||||
if not result then return end
|
if not result then return end
|
||||||
local uri = result.uri
|
local uri = result.uri
|
||||||
local bufnr = uri_to_bufnr(uri)
|
local bufnr = vim.uri_to_bufnr(uri)
|
||||||
if not bufnr then
|
if not bufnr then
|
||||||
api.nvim_err_writeln(string.format("LSP.publishDiagnostics: Couldn't find buffer for %s", uri))
|
api.nvim_err_writeln(string.format("LSP.publishDiagnostics: Couldn't find buffer for %s", uri))
|
||||||
return
|
return
|
||||||
@@ -154,7 +150,7 @@ builtin_callbacks['textDocument/peekDefinition'] = function(_, _, result)
|
|||||||
if result == nil or vim.tbl_isempty(result) then return end
|
if result == nil or vim.tbl_isempty(result) then return end
|
||||||
-- TODO(ashkan) what to do with multiple locations?
|
-- TODO(ashkan) what to do with multiple locations?
|
||||||
result = result[1]
|
result = result[1]
|
||||||
local bufnr = uri_to_bufnr(result.uri)
|
local bufnr = vim.uri_to_bufnr(result.uri)
|
||||||
assert(bufnr)
|
assert(bufnr)
|
||||||
local start = result.range.start
|
local start = result.range.start
|
||||||
local finish = result.range["end"]
|
local finish = result.range["end"]
|
||||||
|
|||||||
@@ -77,13 +77,18 @@ local function uri_to_fname(uri)
|
|||||||
else
|
else
|
||||||
uri = uri:gsub('^file://', '')
|
uri = uri:gsub('^file://', '')
|
||||||
end
|
end
|
||||||
|
|
||||||
return uri_decode(uri)
|
return uri_decode(uri)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Return or create a buffer for a uri.
|
||||||
|
local function uri_to_bufnr(uri)
|
||||||
|
return vim.fn.bufadd((uri_to_fname(uri)))
|
||||||
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
uri_from_fname = uri_from_fname,
|
uri_from_fname = uri_from_fname,
|
||||||
uri_from_bufnr = uri_from_bufnr,
|
uri_from_bufnr = uri_from_bufnr,
|
||||||
uri_to_fname = uri_to_fname,
|
uri_to_fname = uri_to_fname,
|
||||||
|
uri_to_bufnr = uri_to_bufnr,
|
||||||
}
|
}
|
||||||
-- vim:sw=2 ts=2 et
|
-- vim:sw=2 ts=2 et
|
||||||
|
|||||||
Reference in New Issue
Block a user