diff --git a/lua/core/globals.lua b/lua/core/globals.lua index a351514..35c4ed5 100644 --- a/lua/core/globals.lua +++ b/lua/core/globals.lua @@ -16,7 +16,7 @@ vim.g.mapleader = " " vim.g.vimsyn_embed = "1" -vim.fn.execute("language en_US.utf-8") +vim.cmd.language("en_US.utf-8") -- Fix race condition in nvim-tree vim.g.loaded_netrw = 1 -vim.g.loaded_netrwPlugin = 1 \ No newline at end of file +vim.g.loaded_netrwPlugin = 1 diff --git a/lua/core/mappings.lua b/lua/core/mappings.lua index 88d2034..5dc64d2 100644 --- a/lua/core/mappings.lua +++ b/lua/core/mappings.lua @@ -14,9 +14,6 @@ limitations under the License. ]] -local opts = { remap = false, silent = true, } -local opts_expr = { remap = false, silent = true, expr = true, } - local function close_floating_windows() for _, win in ipairs(vim.api.nvim_list_wins()) do local cfg = vim.api.nvim_win_get_config(win) @@ -28,37 +25,32 @@ end --- Tab mappings --- --- vim.keymap.set('n', "tn", ":tabnew NvimTreeOpen", opts) -vim.keymap.set("n", "tn", ":tabnew", opts) -vim.keymap.set("n", "tq", ":tabclose", opts) +vim.keymap.set("n", "tn", vim.cmd.tabnew) +vim.keymap.set("n", "tq", vim.cmd.tabclose) -- switch tabs with Ctrl+PgUp/Ctrl+PgDwn (default vim mapping) --- Buffer mappings --- -- Center cursorline -vim.keymap.set("n", "", "zz", opts) +vim.keymap.set("n", "", "zz") -- Save buffer -vim.keymap.set( - "n", "", - -- workaround for double save messages - function () vim.api.nvim_command(":silent w") end, - { remap = false, } -) +vim.keymap.set("n", "", vim.cmd.write) -- Cycle buffers -vim.keymap.set("n", "", ":BufferLineCycleNext", opts) -vim.keymap.set("n", "", ":BufferLineCyclePrev", opts) +-- TODO: change to :bnext and :bprev +vim.keymap.set("n", "", vim.cmd.BufferLineCycleNext) +vim.keymap.set("n", "", vim.cmd.BufferLineCyclePrev) --- General mappings --- -- yank/put using named register -vim.keymap.set({ "n", "x", }, "y", '"+y', opts) -vim.keymap.set({ "n", "x", }, "p", '"+p', opts) +vim.keymap.set({ "n", "x", }, "y", '"+y') +vim.keymap.set({ "n", "x", }, "p", '"+p') -- Allow exiting insert mode in terminal by hitting -vim.keymap.set("t", "", "", opts) +vim.keymap.set("t", "", "") -- Use :diffput/get instead of normal one to allow staging visual selection -vim.keymap.set({ "n", "x", }, "dp", - "&diff ? ':diffput' : 'dp'", opts_expr) -vim.keymap.set({ "n", "x", }, "do", - "&diff ? ':diffget' : 'do'", opts_expr) -vim.keymap.set("i", "", close_floating_windows, opts) +vim.keymap.set("n", "dp", vim.cmd.diffput) +vim.keymap.set("x", "dp", ":diffput") +vim.keymap.set("n", "do", vim.cmd.diffget) +vim.keymap.set("x", "do", ":diffget") +vim.keymap.set("i", "", close_floating_windows) -- Remove default mappings vim.keymap.set("", "", "") @@ -67,7 +59,3 @@ vim.keymap.set("", "q", "") -- Remove right-click menu items vim.cmd.aunmenu({ "PopUp.-1-", }) vim.cmd.aunmenu({ "PopUp.How-to\\ disable\\ mouse", }) - --- Silence some keys -vim.keymap.set({ "n", "v", }, "u", ":silent undo", { silent = true, }) -vim.keymap.set({ "n", "v", }, "", ":silent redo", { silent = true, }) diff --git a/lua/core/options.lua b/lua/core/options.lua index 3c23765..2f494d3 100644 --- a/lua/core/options.lua +++ b/lua/core/options.lua @@ -74,7 +74,7 @@ vim.opt.diffopt:append("internal") -- These make diffs easier to read, please see the following: -- https://vimways.org/2018/the-power-of-diff/ vim.opt.diffopt:append({ "indent-heuristic", "algorithm:histogram", }) -vim.fn.execute("filetype plugin on") +vim.cmd.filetype("plugin on") vim.opt.hlsearch = true vim.opt.laststatus = 3 vim.opt.textwidth = 0 diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 9ef9d11..efe8bac 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -91,7 +91,7 @@ end function P.on_attach(client, bufnr) -- Mappings. -- See `:help vim.lsp.*` for documentation on any of the below functions - local opts = { silent = true, buffer = bufnr, } + local opts = { buffer = bufnr, } vim.keymap.set("n", "df", vim.diagnostic.open_float, opts) vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts) vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts) @@ -115,9 +115,9 @@ function P.on_attach(client, bufnr) ) -- For document highlight - vim.fn.execute("hi! link LspReferenceRead Visual") - vim.fn.execute("hi! link LspReferenceText Visual") - vim.fn.execute("hi! link LspReferenceWrite Visual") + vim.cmd.highlight({ "link LspReferenceRead Visual", bang = true, }) + vim.cmd.highlight({ "link LspReferenceText Visual", bang = true, }) + vim.cmd.highlight({ "link LspReferenceWrite Visual", bang = true, }) -- vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI", }, { -- buffer = bufnr, -- callback = vim.lsp.buf.document_highlight, @@ -145,7 +145,7 @@ function P.reload_server_buf(self, name) if ft_map[buf_ft] then vim.api.nvim_buf_call( bufnr, - function () vim.cmd("e") end + vim.cmd.edit ) end end diff --git a/lua/plugins/config/aerial.lua b/lua/plugins/config/aerial.lua index 97335df..82fb03b 100644 --- a/lua/plugins/config/aerial.lua +++ b/lua/plugins/config/aerial.lua @@ -24,8 +24,12 @@ require("aerial").setup({ unlisted_buffers = true, }, on_attach = function (bufnr) - vim.api.nvim_buf_set_keymap(bufnr, "n", "at", "AerialToggle!", {}) + vim.keymap.set( + "n", + "at", + function () vim.cmd.AerialToggle({ bang = true, }) end, + { buffer = bufnr, } + ) end, show_guides = true, }) - diff --git a/lua/plugins/config/bufdelete.lua b/lua/plugins/config/bufdelete.lua index 7b8e31c..dcb7a28 100644 --- a/lua/plugins/config/bufdelete.lua +++ b/lua/plugins/config/bufdelete.lua @@ -19,6 +19,6 @@ vim.keymap.set( "n", "q", - ":Bwipeout", + vim.cmd.Bwipeout, { remap = false, silent = true, } ) diff --git a/lua/plugins/config/dap.lua b/lua/plugins/config/dap.lua index 3fc75b0..d10965e 100644 --- a/lua/plugins/config/dap.lua +++ b/lua/plugins/config/dap.lua @@ -16,17 +16,18 @@ -- https://github.com/mfussenegger/nvim-dap -vim.fn.execute("nnoremap :lua require'dap'.continue()") -vim.fn.execute("nnoremap :lua require'dap'.step_over()") -vim.fn.execute("nnoremap :lua require'dap'.step_into()") -vim.fn.execute("nnoremap :lua require'dap'.step_out()") +local dap = require("dap") + +vim.keymap.set("n", "", dap.continue) +vim.keymap.set("n", "", dap.step_over) +vim.keymap.set("n", "", dap.step_into) +vim.keymap.set("n", "", dap.step_out) local utils = require("utils") local M = {} local env_ok = false -local dap = nil local function check_env() utils.assert_installed("python3") @@ -38,15 +39,12 @@ local function start(config) if not env_ok then check_env() end - if not dap then - dap = require("dap") - dap.adapters.python = { - type = "executable", - command = "python", - args = { "-m", "debugpy.adapter", }, - cwd = vim.fn.getcwd(), - } - end + dap.adapters.python = { + type = "executable", + command = "python", + args = { "-m", "debugpy.adapter", }, + cwd = vim.fn.getcwd(), + } dap.run(config) -- List of events described at https://microsoft.github.io/debug-adapter-protocol/specification#Events -- Also see :h dap-extensions diff --git a/lua/plugins/config/diffview.lua b/lua/plugins/config/diffview.lua index 2b2d980..a276077 100644 --- a/lua/plugins/config/diffview.lua +++ b/lua/plugins/config/diffview.lua @@ -41,6 +41,15 @@ require("diffview").setup({ keymaps = { file_panel = { [""] = false, + { + "n", + "", + function () + actions.select_entry() + vim.cmd.wincmd("l") + end, + { desc = "Open the current file in diffview", }, + }, { "n", "s", @@ -56,31 +65,23 @@ require("diffview").setup({ { "n", "cc", - ":G commit | wincmd J", + function () + vim.cmd.G("commit") + vim.cmd.wincmd("J") + end, { desc = "Commit staged changes", }, }, { "n", "ca", - ":G commit --amend | wincmd J", + function () + vim.cmd.G("commit --amend") + vim.cmd.wincmd("J") + end, { desc = "Amend the last commit", }, }, }, }, }) -local opts = { silent = true, remap = false, } -vim.keymap.set("n", "gg", ":DiffviewOpen", opts) -vim.api.nvim_create_autocmd("FileType", { - pattern = "DiffviewFiles", - callback = function () - vim.keymap.set( - "n", - "", - function () - actions.select_entry() - vim.fn.execute("wincmd l") - end, - { silent = true, noremap = true, buffer = true, }) - end, -}) +vim.keymap.set("n", "gg", vim.cmd.DiffviewOpen) diff --git a/lua/plugins/config/flog.lua b/lua/plugins/config/flog.lua index 5ce72b5..e85778a 100644 --- a/lua/plugins/config/flog.lua +++ b/lua/plugins/config/flog.lua @@ -16,4 +16,4 @@ -- https://github.com/rbong/vim-flog -vim.keymap.set("n", "gl", ":Flog", { remap = false, silent = true, }) +vim.keymap.set("n", "gl", vim.cmd.Flog) diff --git a/lua/plugins/config/fugitive.lua b/lua/plugins/config/fugitive.lua index ffb1af1..91fa0d9 100644 --- a/lua/plugins/config/fugitive.lua +++ b/lua/plugins/config/fugitive.lua @@ -17,15 +17,15 @@ -- https://github.com/tpope/vim-fugitive local function git_status_tab() - vim.fn.execute("tabnew") - vim.fn.execute("leftabove vertical G") - vim.fn.execute("vertical resize 60 | set wfw") + vim.cmd.tabnew() + vim.cmd("leftabove vertical G") + vim.cmd("vertical resize 60") + vim.cmd.set("wfw") end -local opts = { silent = true, remap = false, } -vim.keymap.set("n", "gd", ":Gdiffsplit", opts) +vim.keymap.set("n", "gd", vim.cmd.Gdiffsplit) -- Only used if diffview is not available if not pcall(require, "diffview") then - vim.keymap.set("n", "gg", git_status_tab, opts) + vim.keymap.set("n", "gg", git_status_tab) end diff --git a/lua/plugins/config/gitsigns.lua b/lua/plugins/config/gitsigns.lua index e4f277d..e567e9b 100644 --- a/lua/plugins/config/gitsigns.lua +++ b/lua/plugins/config/gitsigns.lua @@ -16,21 +16,25 @@ -- https://github.com/lewis6991/gitsigns.nvim -local function map(bufnr, mode, l, r, opts) - opts = opts or {} - opts.buffer = bufnr - vim.keymap.set(mode, l, r, opts) -end - require("gitsigns").setup({ on_attach = function (bufnr) local gs = package.loaded.gitsigns - map(bufnr, "n", "gv", gs.select_hunk) - map(bufnr, { "n", "x", }, "gr", ":Gitsigns reset_hunk") -- gs.reset_hunk() doesn't work with selected lines - map(bufnr, "n", "g?", gs.preview_hunk) - map(bufnr, "n", "gb", function () - gs.blame_line { full = true, } - end) + vim.keymap.set("n", "gv", gs.select_hunk, { buffer = bufnr, }) + vim.keymap.set("n", "gr", gs.reset_hunk, { buffer = bufnr, }) + vim.keymap.set( + "x", + "gr", + ":Gitsigns reset_hunk", + { buffer = bufnr, } + ) + vim.keymap.set("n", "g?", gs.preview_hunk, { buffer = bufnr, }) + vim.keymap.set( + "n", + "gb", + function () + gs.blame_line { full = true, ignore_whitespace = true, } + end, + { buffer = bufnr, }) end, signs = { untracked = { text = "│", }, diff --git a/lua/plugins/config/move.lua b/lua/plugins/config/move.lua index b901f24..5611e0a 100644 --- a/lua/plugins/config/move.lua +++ b/lua/plugins/config/move.lua @@ -17,10 +17,10 @@ -- https://github.com/fedepujol/move.nvim local opts = { noremap = true, silent = true, } -vim.keymap.set("n", "", ":MoveLine(1)", opts) -vim.keymap.set("n", "", ":MoveLine(-1)", opts) -vim.keymap.set("n", "", ":MoveHChar(-1)", opts) -vim.keymap.set("n", "", ":MoveHChar(1)", opts) +vim.keymap.set("n", "", function () vim.cmd.MoveLine(1) end, opts) +vim.keymap.set("n", "", function () vim.cmd.MoveLine(-1) end, opts) +vim.keymap.set("n", "", function () vim.cmd.MoveHChar(-1) end, opts) +vim.keymap.set("n", "", function () vim.cmd.MoveHChar(1) end, opts) vim.keymap.set("x", "", ":MoveBlock(1)", opts) vim.keymap.set("x", "", ":MoveBlock(-1)", opts) vim.keymap.set("x", "", ":MoveHBlock(-1)", opts) diff --git a/lua/plugins/config/notify.lua b/lua/plugins/config/notify.lua index 8e57167..1980d17 100644 --- a/lua/plugins/config/notify.lua +++ b/lua/plugins/config/notify.lua @@ -28,7 +28,5 @@ vim.notify = notify if has_telescope then telescope.load_extension("notify") - vim.keymap.set( - "n", "fn", function () telescope.extensions.notify.notify() end - ) + vim.keymap.set("n", "fn", telescope.extensions.notify.notify) end diff --git a/lua/plugins/config/telescope.lua b/lua/plugins/config/telescope.lua index 1ac71b4..a0d90fd 100644 --- a/lua/plugins/config/telescope.lua +++ b/lua/plugins/config/telescope.lua @@ -19,10 +19,14 @@ local builtin = require("telescope.builtin") vim.keymap.set( - "n", "ff", function () builtin.find_files({ hidden = true, }) end + "n", + "ff", + function () builtin.find_files({ hidden = true, }) end ) vim.keymap.set( - "n", "fr", function () builtin.oldfiles({ hidden = true, }) end + "n", + "fr", + function () builtin.oldfiles({ hidden = true, }) end ) vim.keymap.set( "n", "fg", function () @@ -40,6 +44,4 @@ vim.keymap.set( ) end ) -vim.keymap.set( - "n", "fb", function () builtin.buffers() end -) +vim.keymap.set("n", "fb", builtin.buffers) diff --git a/lua/plugins/config/tree.lua b/lua/plugins/config/tree.lua index 2f66c71..d2ea35a 100644 --- a/lua/plugins/config/tree.lua +++ b/lua/plugins/config/tree.lua @@ -64,9 +64,4 @@ require("nvim-tree").setup({ }, }) -local opts = { remap = false, silent = true, } -vim.keymap.set( - "n", "tt", - function () require("nvim-tree.api").tree.toggle() end, - opts -) +vim.keymap.set("n", "tt", require("nvim-tree.api").tree.toggle) diff --git a/lua/plugins/config/winresizer.lua b/lua/plugins/config/winresizer.lua index 94e8830..561a680 100644 --- a/lua/plugins/config/winresizer.lua +++ b/lua/plugins/config/winresizer.lua @@ -20,5 +20,4 @@ vim.g.winresizer_vert_resize = "5" vim.g.winresizer_horiz_resize = "5" vim.g.winresizer_start_key = "" -local opts = { remap = false, silent = true, } -vim.keymap.set("n", "r", ":WinResizerStartResize", opts) +vim.keymap.set("n", "r", vim.cmd.WinResizerStartResize) diff --git a/lua/plugins/config/winshift.lua b/lua/plugins/config/winshift.lua index d3e7552..bb4d462 100644 --- a/lua/plugins/config/winshift.lua +++ b/lua/plugins/config/winshift.lua @@ -16,4 +16,8 @@ -- https://github.com/sindrets/winshift.nvim -vim.keymap.set("n", "m", ":WinShift", { remap = false, }) +vim.keymap.set( + "n", + "m", + vim.cmd.WinShift +)