require("truss.lazy") require("truss.remap") require("truss.set") local augroup = vim.api.nvim_create_augroup local autocmd = vim.api.nvim_create_autocmd local ThePrimeagenGroup = augroup('ThePrimeagen', {}) autocmd('LspAttach', { group = ThePrimeagenGroup, callback = function(e) vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, { buffer = e.buf, desc = "Goto definition" }) vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, { buffer = e.buf, desc = "Hover docs" }) vim.keymap.set("n", "vws", function() vim.lsp.buf.workspace_symbol() end, { buffer = e.buf, desc = "View workspace symbols" }) vim.keymap.set("n", "vd", function() vim.diagnostic.open_float() end, { buffer = e.buf, desc = "View diagnostics" }) vim.keymap.set("n", "vca", function() vim.lsp.buf.code_action() end, { buffer = e.buf, desc = "View code actions" }) vim.keymap.set("n", "vrr", function() vim.lsp.buf.references() end, { buffer = e.buf, desc = "View references" }) vim.keymap.set("n", "vrn", function() vim.lsp.buf.rename() end, { buffer = e.buf, desc = "Rename" }) vim.keymap.set("i", "", function() vim.lsp.buf.signature_help() end, { buffer = e.buf, desc = "Signature Help" }) vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, { buffer = e.buf, desc = "Goto next diagnostic" }) vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, { buffer = e.buf, desc = "Goto previous diagnostic" }) end })