fix(dap.hover): remove yank expression
This commit is contained in:
@@ -100,39 +100,6 @@ function Node:format_c()
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
---@return string
|
|
||||||
function Node:get_full_expression()
|
|
||||||
local parts = {}
|
|
||||||
local current = self
|
|
||||||
|
|
||||||
while current do
|
|
||||||
table.insert(parts, 1, current.item.name)
|
|
||||||
current = current.parent
|
|
||||||
end
|
|
||||||
|
|
||||||
if #parts <= 1 then
|
|
||||||
return parts[1] or ""
|
|
||||||
end
|
|
||||||
|
|
||||||
local expr = parts[1]
|
|
||||||
for i = 2, #parts do
|
|
||||||
local part = parts[i]
|
|
||||||
if part:match("^%[.*%]$") then
|
|
||||||
expr = expr .. part
|
|
||||||
elseif part:match("^%*") then
|
|
||||||
expr = "(" .. expr .. ")" .. part
|
|
||||||
else
|
|
||||||
if expr:match("%*$") then
|
|
||||||
expr = expr .. part
|
|
||||||
else
|
|
||||||
expr = expr .. "." .. part
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return expr
|
|
||||||
end
|
|
||||||
|
|
||||||
---@return boolean
|
---@return boolean
|
||||||
function Node:is_expandable()
|
function Node:is_expandable()
|
||||||
return self:is_container() and not self:is_c_null_pointer()
|
return self:is_container() and not self:is_c_null_pointer()
|
||||||
|
|||||||
@@ -194,10 +194,6 @@ function Window:show(content)
|
|||||||
vim.keymap.set("n", "y", function()
|
vim.keymap.set("n", "y", function()
|
||||||
self:yank_value()
|
self:yank_value()
|
||||||
end, { buffer = self.bufnr, nowait = true })
|
end, { buffer = self.bufnr, nowait = true })
|
||||||
|
|
||||||
vim.keymap.set("n", "Y", function()
|
|
||||||
self:yank_expression()
|
|
||||||
end, { buffer = self.bufnr, nowait = true })
|
|
||||||
end
|
end
|
||||||
|
|
||||||
---@param callback fun()
|
---@param callback fun()
|
||||||
@@ -391,19 +387,4 @@ function Window:yank_value()
|
|||||||
vim.fn.setreg("+", info.node.item.value)
|
vim.fn.setreg("+", info.node.item.value)
|
||||||
end
|
end
|
||||||
|
|
||||||
function Window:yank_expression()
|
|
||||||
if not self.tree then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local info = self:get_current_node_info()
|
|
||||||
if not info:is_valid() then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local expr = info.node:get_full_expression()
|
|
||||||
vim.fn.setreg('"', expr)
|
|
||||||
vim.fn.setreg("+", expr)
|
|
||||||
end
|
|
||||||
|
|
||||||
return Window
|
return Window
|
||||||
|
|||||||
Reference in New Issue
Block a user