local opts = { noremap = true, silent = true } local term_opts = { silent = true } local keymap = vim.api.nvim_set_keymap local builtin = require("telescope.builtin") -- space leader vim.g.mapleader = " " keymap("n", "", "", { silent = true, noremap = false }) -- debug keymap("n", "", ':lua require("dap").toggle_breakpoint()', opts) keymap("n", "", ':lua require("dap").step_over()', opts) keymap("n", "", ':lua require("dap").step_into()', opts) keymap("n", "", ':lua require("dap").continue() :lua require("dapui").toggle()', opts) keymap("n", "", ':lua require("dap").continue()', opts) keymap("n", "", ':lua require("dap").close() :lua require("dapui").toggle()', opts) -- file tree keymap("n", "t", ':lua require("nvim-tree").toggle()', opts) keymap("n", "f", ':lua require("nvim-tree").focus()', opts) -- tab switching keymap("n", "", ":BufferPrev", opts) keymap("n", "", ":BufferNext", opts) -- formatting keymap("n", "", ":lua vim.lsp.buf.format { async = true }", opts) -- telescope keymap("n", "ff", ":lua builtin.find_files", {}) keymap("n", "fg", ":lua builtin.live_grep", {}) keymap("n", "fb", ":lua builtin.buffers", {}) keymap("n", "fh", ":lua builtin.help_tags", {}) -- trouble keymap("n", "", "TroubleToggle", term_opts) require("trouble").setup { action_keys = { --remove the fucking stupid keymap amk open_tab = {} } } -- LSP local on_attach = function(client, bufnr) vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc") local opts = { noremap = true, silent = true, buffer=bufnr } keymap("n", "h", "lua vim.lsp.buf.declaration()", opts) keymap("n", "j", "lua vim.lsp.buf.definition()", opts) keymap("n", "k", "lua vim.lsp.buf.implementation()", opts) keymap("n", "l", "lua vim.lsp.buf.references()", opts) keymap("n", ";", "lua vim.lsp.buf.code_action()", opts) keymap("n", "u", "lua vim.lsp.buf.signature_help()", opts) keymap("n", "g", "lua vim.lsp.buf.hover()", opts) end