all repos

init.lua @ 71addb1744196615782fdef5034cff642e543100

my nvim config
3 files changed, 62 insertions(+), 96 deletions(-)
refactor: set keymaps in single way
Author: Smirnov Oleksandr ss2316544@gmail.com
Committed at: 2024-03-13 17:08:34 +0200
Parent: f6acf4c
M lua/core/keymaps.lua

@@ -1,49 +1,42 @@

local u = require "core.utils" -local map, expr = u.map, u.expr -- general -map("n", "<C-s>", "<cmd>write!<cr>") -map("i", "jk", "<esc>") -map("n", "<leader>h", "<cmd>nohlsearch<cr>") -map("n", "<C-d>", "<C-d>zz") -map("n", "<C-u>", "<C-u>zz") -map("n", "Q", "<nop>") -- Q is the worth thing ever -map("n", "[b", ":bp<cr>") -map("n", "]b", ":bn<cr>") +u.map("n", "<C-s>", "<cmd>write!<cr>") +u.map("i", "jk", "<esc>") +u.map("n", "<leader>h", "<cmd>nohlsearch<cr>") +u.map("n", "<C-d>", "<C-d>zz") +u.map("n", "<C-u>", "<C-u>zz") +u.map("n", "Q", "<nop>") -- Q is the worth thing ever +u.map("n", "[b", ":bp<cr>") +u.map("n", "]b", ":bn<cr>") -- quickfix -map("n", "]q", "<cmd>cnext<cr>") -map("n", "[q", "<cmd>cprev<cr>") -map("n", "<lader>x", u.qf_toggle) +u.map("n", "]q", "<cmd>cnext<cr>") +u.map("n", "[q", "<cmd>cprev<cr>") +u.map("n", "<leader>j", u.qf_toggle) -- macros -map("n", "Q", "@qj") -map("x", "Q", ":norm @qj<cr>") +u.map("n", "Q", "@qj") +u.map("x", "Q", ":norm @qj<cr>") --- buffers -map("n", "<leader>q", "<cmd>quit!<cr>") -map("n", "<leader>w", "<cmd>write!<cr>") - --- select in pupup by C-j & C-k -expr("i", "<C-j>", 'pumvisible() ? "\\<down>" : "\\<C-j>"') -expr("i", "<C-k>", 'pumvisible() ? "\\<up>" : "\\<C-k>"') -expr("c", "<C-j>", 'pumvisible() ? "\\<C-n>" : "\\<C-j>"') -expr("c", "<C-k>", 'pumvisible() ? "\\<C-p>" : "\\<C-k>"') +u.map("n", "<leader>q", "<cmd>quit!<cr>") +u.map("n", "<leader>w", "<cmd>write!<cr>") -- window navigation and resize -map("n", "<C-h>", "<cmd>wincmd h<cr>") -map("n", "<C-j>", "<cmd>wincmd j<cr>") -map("n", "<C-k>", "<cmd>wincmd k<cr>") -map("n", "<C-l>", "<cmd>wincmd l<cr>") -map("n", "<C-Left>", "<cmd>vertical resize -2<cr>") -map("n", "<C-Down>", "<cmd>resize +2<cr>") -map("n", "<C-Up", "<cmd>resize -1<cr>") -map("n", "<C-Right>", "<cmd>vertical resize +2<CR>") +u.map("n", "<C-h>", "<cmd>wincmd h<cr>") +u.map("n", "<C-j>", "<cmd>wincmd j<cr>") +u.map("n", "<C-k>", "<cmd>wincmd k<cr>") +u.map("n", "<C-l>", "<cmd>wincmd l<cr>") +u.map("n", "<C-Left>", "<cmd>vertical resize -2<cr>") +u.map("n", "<C-Down>", "<cmd>resize +2<cr>") +u.map("n", "<C-Up", "<cmd>resize -1<cr>") +u.map("n", "<C-Right>", "<cmd>vertical resize +2<CR>") -- move lines -map("v", "K", ":move '<-2<CR>gv-gv") -map("v", "J", ":move '>+1<CR>gv-gv") -map("n", "<A-j>", ":m .+1<CR>==") -map("n", "<A-k>", ":m .-2<CR>==") -map("v", "<", "<gv") -map("v", ">", ">gv") +u.map("v", "K", ":move '<-2<CR>gv-gv") +u.map("v", "J", ":move '>+1<CR>gv-gv") +u.map("n", "<A-j>", ":m .+1<CR>==") +u.map("n", "<A-k>", ":m .-2<CR>==") +u.map("v", "<", "<gv") +u.map("v", ">", ">gv")
M lua/core/utils.lua

@@ -3,46 +3,27 @@ return {

---@param mode string|table ---@param from string ---@param to string|function - map = function(mode, from, to) - vim.keymap.set(mode, from, to, { noremap = true, silent = true }) - end, - - ---@param mode string|table - ---@param from string - ---@param to string|function - expr = function(mode, from, to) - vim.keymap.set(mode, from, to, { noremap = true, expr = true }) - end, - - ---@param module string - ---@param method string - ---@param args? string - ---@return string - smap = function(module, method, args) - args = args or "" - return string.format( - "<cmd>lua require'%s'.%s(%s)<cr>", - module, - method, - args - ) + ---@param buffer? number|boolean + map = function(mode, from, to, buffer) + vim.keymap.set(mode, from, to, { + noremap = true, + silent = true, + buffer = buffer or false, + }) end, qf_toggle = function() is_qf_exists = false - for _, win in - pairs(vim.fn.getwininfo() --[[@as table]]) - do - if win["quickfix"] == 1 then - is_qf_exists = true - end + for _, win in pairs(vim.fn.getwininfo()) do + is_qf_exists = win["quickfix"] == 1 end + if is_qf_exists == true then - vim.cmd "cclose" - return + return vim.cmd.cclose() end + if not vim.tbl_isempty(vim.fn.getqflist()) then - vim.cmd "copen" + vim.cmd.copen() end end,
M lua/plugins/lsp/attach.lua

@@ -1,26 +1,19 @@

+local u = require "core.utils" local attach = {} -local function map(from, to) - vim.keymap.set("n", from, to, { - buffer = true, - noremap = true, - silent = true, - }) -end - function attach.basic(_, _) - map("<leader>lf", function() + u.map("n", "<leader>lf", function() vim.lsp.buf.format { async = true } - end) - map("]d", function() + end, true) + u.map("n", "]d", function() vim.diagnostic.goto_next { float = false } - end) - map("[d", function() + end, true) + u.map("n", "[d", function() vim.diagnostic.goto_prev { float = false } - end) + end, true) - map("]D", vim.diagnostic.goto_next) - map("[D", vim.diagnostic.goto_prev) + u.map("n", "]D", vim.diagnostic.goto_next, true) + u.map("n", "[D", vim.diagnostic.goto_prev, true) end function attach.common(client, bufnr)

@@ -35,17 +28,16 @@ end

attach.basic(client, bufnr) - map("K", vim.lsp.buf.hover) - map("gd", "<cmd>Telescope lsp_definitions<cr>") - map("gr", "<cmd>Telescope lsp_references<cr>") - map("gi", "<cmd>Telescope lsp_implementations<cr>") - map("gl", vim.diagnostic.open_float) - map("<leader>la", vim.lsp.buf.code_action) - map("<leader>lr", vim.lsp.buf.rename) - map("<leader>ls", "<cmd>Telescope lsp_document_symbols<cr>") - map("<leader>ll", vim.lsp.codelens.run) - - map("<leader>li", function() + u.map("n", "K", vim.lsp.buf.hover, true) + u.map("n", "gd", "<cmd>Telescope lsp_definitions<cr>", true) + u.map("n", "gr", "<cmd>Telescope lsp_references<cr>", true) + u.map("n", "gi", "<cmd>Telescope lsp_implementations<cr>", true) + u.map("n", "gl", vim.diagnostic.open_float, true) + u.map("n", "<leader>la", vim.lsp.buf.code_action, true) + u.map("n", "<leader>lr", vim.lsp.buf.rename, true) + u.map("n", "<leader>ls", "<cmd>Telescope lsp_document_symbols<cr>", true) + u.map("n", "<leader>ll", vim.lsp.codelens.run, true) + u.map("n", "<leader>li", function() if vim.lsp.inlay_hint.is_enabled(bufnr) then vim.lsp.inlay_hint.enable(bufnr, false) vim.print "Inlay hints disabled"

@@ -53,7 +45,7 @@ else

vim.lsp.inlay_hint.enable(bufnr, true) vim.print "Inlay hints enabled" end - end) + end, true) end return attach