vim.keymap.set("n", "gd", vim.lsp.buf.definition, { silent = true }) vim.keymap.set("n", "gp", peek_definition, { silent = true }) vim.keymap.set("n", "gy", vim.lsp.buf.type_definition, { silent = true }) vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { silent = true }) vim.keymap.set("n", "gr", vim.lsp.buf.references, { silent = true }) vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { silent = true }) vim.keymap.set("n", "K", vim.lsp.buf.hover, { silent = true }) vim.keymap.set("n", "", vim.lsp.buf.signature_help, { silent = true }) vim.keymap.set("n", "sd", vim.lsp.buf.document_symbol, { silent = true }) vim.keymap.set("n", "sw", vim.lsp.buf.workspace_symbol, { silent = true }) vim.keymap.set("n", "f", function() vim.lsp.buf.formatting_seq_sync(nil, nil, { "tsserver", "diagnosticls" }) end, { silent = true }) vim.keymap.set("n", "a", vim.lsp.buf.code_action, { silent = true }) vim.keymap.set("n", "r", vim.lsp.buf.rename, { silent = true }) vim.keymap.set("n", "l", vim.lsp.codelens.run, { silent = true })