From 52bc03fcac5d6bf25f2756c589a3db0f74d0c055 Mon Sep 17 00:00:00 2001 From: Yuan Chiu Date: Mon, 2 Jun 2025 22:16:03 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"fix=20nvim:=20menu=20for=20gitsigns?= =?UTF-8?q?=E5=A4=B1=E6=95=88"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit e533009beaab9e16a19f016ea1c41ca825d7ab44. --- .../exact_lua/exact_plugins/exact_ui/menu.lua | 70 +++++++++---------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/dot_config/nvim/exact_lua/exact_plugins/exact_ui/menu.lua b/dot_config/nvim/exact_lua/exact_plugins/exact_ui/menu.lua index 9f930a0..6ee4b67 100644 --- a/dot_config/nvim/exact_lua/exact_plugins/exact_ui/menu.lua +++ b/dot_config/nvim/exact_lua/exact_plugins/exact_ui/menu.lua @@ -20,45 +20,43 @@ return { vim.cmd.exec '"normal! \\"' - vim.defer_fn(function() - -- clicked buf - local mouse = vim.fn.getmousepos() - local buf = vim.api.nvim_win_get_buf(mouse.winid) - local name = vim.api.nvim_buf_get_name(buf) - local ft = vim.bo[buf].ft - local gitsigns = require("gitsigns") - local hunks = gitsigns.get_hunks and gitsigns.get_hunks(buf) - local lsp = vim.lsp.get_clients({ bufnr = buf }) + -- clicked buf + local mouse = vim.fn.getmousepos() + local buf = vim.api.nvim_win_get_buf(mouse.winid) + local name = vim.api.nvim_buf_get_name(buf) + local ft = vim.bo[buf].ft + local gitsigns = require("gitsigns") + local hunks = gitsigns.get_hunks and gitsigns.get_hunks(buf) + local lsp = vim.lsp.get_clients({ bufnr = buf }) - local in_signcolumn = mouse.wincol <= vim.fn.getwininfo(mouse.winid)[1].textoff - local is_git_buf = vim.b[buf].gitsigns_head ~= nil - local has_hunks = hunks and #hunks > 0 + local in_signcolumn = mouse.wincol <= vim.fn.getwininfo(mouse.winid)[1].textoff + local is_git_buf = vim.b[buf].gitsigns_head ~= nil + local has_hunks = hunks and #hunks > 0 - local options - if ft == "neo-tree" then - options = "neo-tree" - elseif in_signcolumn and is_git_buf and has_hunks then - options = "gitsigns" - else - options = "default" - end + local options + if ft == "neo-tree" then + options = "neo-tree" + elseif in_signcolumn and is_git_buf and has_hunks then + options = "gitsigns" + else + options = "default" + end - -- -- Debug用途 - -- local name = vim.api.nvim_buf_get_name(buf) - -- local lsp = vim.lsp.get_clients({ bufnr = buf }) - -- vim.notify("👉 Buffer: " .. buf .. - -- "\nFile: " .. name .. - -- "\nFiletype: " .. ft .. - -- "\nGitsigns Head: " .. vim.inspect(vim.b[buf].gitsigns_head) .. - -- "\nHas Hunks: " .. tostring(has_hunks) .. - -- "\nMouse Col: " .. mouse.wincol .. - -- "\nText Offset: " .. vim.fn.getwininfo(mouse.winid)[1].textoff .. - -- "\nIn SignColumn: " .. tostring(in_signcolumn) .. - -- "\nLSP: " .. tostring(#lsp > 0) .. - -- "\n🧭 Menu: " .. options, vim.log.levels.INFO - -- ) - require("menu").open(options, { mouse = true }) - end, 10) + -- -- Debug用途 + -- local name = vim.api.nvim_buf_get_name(buf) + -- local lsp = vim.lsp.get_clients({ bufnr = buf }) + -- vim.notify("👉 Buffer: " .. buf .. + -- "\nFile: " .. name .. + -- "\nFiletype: " .. ft .. + -- "\nGitsigns Head: " .. vim.inspect(vim.b[buf].gitsigns_head) .. + -- "\nHas Hunks: " .. tostring(has_hunks) .. + -- "\nMouse Col: " .. mouse.wincol .. + -- "\nText Offset: " .. vim.fn.getwininfo(mouse.winid)[1].textoff .. + -- "\nIn SignColumn: " .. tostring(in_signcolumn) .. + -- "\nLSP: " .. tostring(#lsp > 0) .. + -- "\n🧭 Menu: " .. options, vim.log.levels.INFO + -- ) + require("menu").open(options, { mouse = true }) end, {}) end,