local wk = require("which-key")

wk.setup({})

wk.add({
	{ "<C-k>", desc = "Signature Help" },
	{ "<leader>a", desc = "Aerial" },
	{ "<leader>d", group = "Debug" },
	{ "<leader>db", desc = "Toggle Breakpoint" },
	{ "<leader>dc", desc = "Continue" },
	{ "<leader>dt", desc = "Run Test" },
	{ "<leader>du", desc = "Toggle UI" },
	{ "<leader>f", group = "Find - Telescope" },
	{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Find Buffer" },
	{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find File" },
	{ "<leader>fg", "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
	{ "<leader>fh", "<cmd>Telescope help_tags<cr>", desc = "Help Tags" },
	{ "<leader>fj", "<cmd>Telescope jumplist<cr>", desc = "Jump List" },
	{ "<leader>g", group = "DiffView" },
	{ "<leader>gB", desc = "Git Blame Full" },
	{ "<leader>gH", "<cmd>DiffviewFileHistory --range=origin..HEAD<cr>", desc = "Diff History - Main" },
	{ "<leader>gO", "<cmd>DiffviewOpen origin/main...HEAD<cr>", desc = "Open Diff - Main" },
	{ "<leader>gb", desc = "Git Blame Line" },
	{ "<leader>gc", "<cmd>DiffviewClose<cr>", desc = "Close Diff" },
	{ "<leader>gh", "<cmd>DiffviewFileHistory<cr>", desc = "Diff History" },
	{ "<leader>go", "<cmd>DiffviewOpen<cr>", desc = "Open Diff - Current" },
	{ "<leader>l", group = "LSP" },
	{ "<leader>lD", desc = "Declaration" },
	{ "<leader>ld", desc = "Definition" },
	{ "<leader>lf", desc = "Format" },
	{ "<leader>li", desc = "Implementation" },
	{ "<leader>ln", desc = "Rename" },
	{ "<leader>lr", desc = "References" },
	{ "<leader>lt", desc = "Type Definition" },
	{ "<leader>q", group = "Diagnostics" },
	{ "<leader>qN", desc = "Previous Diagnostic" },
	{ "<leader>qe", desc = "Open Diagnostic Float" },
	{ "<leader>qn", desc = "Next Diagnostic" },
	{ "<leader>qq", desc = "Toggle Diagnostic List" },
	{ "<leader>qt", desc = "Toggle Inline Diagnostics" },
	{ "<leader>sv", desc = "Visual Screenshot" },
	{ "<leader>t", desc = "NeoTree" },
	{ "K", desc = "Definition Hover" },
	{ "<leader>ss", desc = "Selected Screenshot", mode = "v" },
	{ "<leader>s", group = "Screenshot", mode = { "n", "v" } },
	{ "<leader>sb", desc = "Buffer Screenshot", mode = { "n", "v" } },
})
