diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/colorschemes.lua | 57 | ||||
| -rw-r--r-- | core/mappings.lua | 90 |
2 files changed, 72 insertions, 75 deletions
diff --git a/core/colorschemes.lua b/core/colorschemes.lua index a3cae78..1afacf0 100644 --- a/core/colorschemes.lua +++ b/core/colorschemes.lua @@ -1,6 +1,6 @@ --- This module will load a random colorscheme on nvim startup process. -local utils = require('utils') +local utils = require("utils") local M = {} @@ -8,16 +8,16 @@ local M = {} -- the same as the colorscheme name itself. M.colorscheme2dir = { gruvbox8 = "vim-gruvbox8", - onedark = 'onedark.nvim', - edge = 'edge', - sonokai = 'sonokai', - gruvbox_material = 'gruvbox-material', - nord = 'nord.nvim', - doom_one = 'doom-one.nvim', - everforest = 'everforest', - nightfox = 'nightfox.nvim', - kanagawa = 'kanagawa.nvim', - catppuccin = 'catppuccin' + onedark = "onedark.nvim", + edge = "edge", + sonokai = "sonokai", + gruvbox_material = "gruvbox-material", + nord = "nord.nvim", + doom_one = "doom-one.nvim", + everforest = "everforest", + nightfox = "nightfox.nvim", + kanagawa = "kanagawa.nvim", + catppuccin = "catppuccin", } M.gruvbox8 = function() @@ -28,57 +28,55 @@ M.gruvbox8 = function() vim.g.gruvbox_filetype_hi_groups = 1 vim.g.gruvbox_plugin_hi_groups = 1 - vim.cmd [[colorscheme gruvbox8_hard]] + vim.cmd([[colorscheme gruvbox8_hard]]) end M.onedark = function() - vim.cmd [[colorscheme onedark]] + vim.cmd([[colorscheme onedark]]) end M.edge = function() vim.g.edge_enable_italic = 1 vim.g.edge_better_performance = 1 - vim.cmd [[colorscheme edge]] + vim.cmd([[colorscheme edge]]) end M.sonokai = function() vim.g.sonokai_enable_italic = 1 vim.g.sonokai_better_performance = 1 - vim.cmd [[colorscheme sonokai]] + vim.cmd([[colorscheme sonokai]]) end M.gruvbox_material = function() vim.g.gruvbox_material_enable_italic = 1 vim.g.gruvbox_material_better_performance = 1 - vim.cmd [[colorscheme gruvbox-material]] + vim.cmd([[colorscheme gruvbox-material]]) end M.nord = function() - vim.cmd [[colorscheme nord]] + vim.cmd([[colorscheme nord]]) end M.doom_one = function() - - vim.cmd [[colorscheme doom-one]] + vim.cmd([[colorscheme doom-one]]) end M.everforest = function() vim.g.everforest_enable_italic = 1 vim.g.everforest_better_performance = 1 - vim.cmd [[colorscheme everforest]] + vim.cmd([[colorscheme everforest]]) end M.nightfox = function() - vim.cmd [[colorscheme nordfox]] + vim.cmd([[colorscheme nordfox]]) end - M.kanagawa = function() - vim.cmd [[colorscheme kanagawa]] + vim.cmd([[colorscheme kanagawa]]) end M.catppuccin = function() @@ -87,17 +85,16 @@ M.catppuccin = function() require("catppuccin").setup() - vim.cmd [[colorscheme catppuccin]] + vim.cmd([[colorscheme catppuccin]]) end - --- Use a random colorscheme from the pre-defined list of colorschemes. -M.rand_colorscheme = function () +M.rand_colorscheme = function() local colorscheme = utils.rand_element(vim.tbl_keys(M.colorscheme2dir)) if not vim.tbl_contains(vim.tbl_keys(M), colorscheme) then local msg = "Invalid colorscheme: " .. colorscheme - vim.notify(msg, vim.log.levels.ERROR, { title = 'nvim-config' }) + vim.notify(msg, vim.log.levels.ERROR, { title = "nvim-config" }) return end @@ -107,7 +104,7 @@ M.rand_colorscheme = function () if not status then local msg = string.format("Colorscheme %s is not installed. Run PackerSync to install.", colorscheme) - vim.notify(msg, vim.log.levels.ERROR, { title = 'nvim-config' }) + vim.notify(msg, vim.log.levels.ERROR, { title = "nvim-config" }) return end @@ -115,10 +112,10 @@ M.rand_colorscheme = function () -- Load the colorscheme and its settings M[colorscheme]() - if vim.g.logging_level == 'debug' then + if vim.g.logging_level == "debug" then local msg = "Colorscheme: " .. colorscheme - vim.notify(msg, vim.log.levels.DEBUG, { title = 'nvim-config' }) + vim.notify(msg, vim.log.levels.DEBUG, { title = "nvim-config" }) end end diff --git a/core/mappings.lua b/core/mappings.lua index 82a3a2b..380d42d 100644 --- a/core/mappings.lua +++ b/core/mappings.lua @@ -11,30 +11,30 @@ keymap.set("i", "<c-u>", "<Esc>viwUea") keymap.set("i", "<c-u>", "<Esc>b~lea") -- Paste non-linewise text above or below current line, see https://stackoverflow.com/a/1346777/6064933 -keymap.set("n", "<leader>p", "m`o<ESC>p``", { desc = "paste below current line", }) -keymap.set("n", "<leader>P", "m`O<ESC>p``", { desc = "paste above current line", }) +keymap.set("n", "<leader>p", "m`o<ESC>p``", { desc = "paste below current line" }) +keymap.set("n", "<leader>P", "m`O<ESC>p``", { desc = "paste above current line" }) -- Shortcut for faster save and quit -keymap.set("n", "<leader>w", "<cmd>update<cr>", { silent = true, desc = "save buffer", }) +keymap.set("n", "<leader>w", "<cmd>update<cr>", { silent = true, desc = "save buffer" }) -- Saves the file if modified and quit keymap.set("n", "<leader>q", "<cmd>x<cr>", { silent = true, desc = "quit current window" }) -- Quit all opened buffers -keymap.set("n", "<leader>Q", "<cmd>qa!<cr>", { silent = true, desc = "quit nvim", }) +keymap.set("n", "<leader>Q", "<cmd>qa!<cr>", { silent = true, desc = "quit nvim" }) -- Navigation in the location and quickfix list -keymap.set("n", "[l", "<cmd>lprevious<cr>zv", { silent = true, desc = "previous location item", }) -keymap.set("n", "]l", "<cmd>lnext<cr>zv", { silent = true, desc = "next location item", }) +keymap.set("n", "[l", "<cmd>lprevious<cr>zv", { silent = true, desc = "previous location item" }) +keymap.set("n", "]l", "<cmd>lnext<cr>zv", { silent = true, desc = "next location item" }) -keymap.set("n", "[L", "<cmd>lfirst<cr>zv", { silent = true, desc = "first location item", }) -keymap.set("n", "]L", "<cmd>llast<cr>zv", { silent = true, desc = "last location item", }) +keymap.set("n", "[L", "<cmd>lfirst<cr>zv", { silent = true, desc = "first location item" }) +keymap.set("n", "]L", "<cmd>llast<cr>zv", { silent = true, desc = "last location item" }) -keymap.set("n", "[q", "<cmd>cprevious<cr>zv", { silent = true, desc = "previous qf item", }) -keymap.set("n", "]q", "<cmd>cnext<cr>zv", { silent = true, desc = "next qf item", }) +keymap.set("n", "[q", "<cmd>cprevious<cr>zv", { silent = true, desc = "previous qf item" }) +keymap.set("n", "]q", "<cmd>cnext<cr>zv", { silent = true, desc = "next qf item" }) -keymap.set("n", "[Q", "<cmd>cfirst<cr>zv", { silent = true, desc = "first qf item", }) -keymap.set("n", "]Q", "<cmd>clast<cr>zv", { silent = true, desc = "last qf item", }) +keymap.set("n", "[Q", "<cmd>cfirst<cr>zv", { silent = true, desc = "first qf item" }) +keymap.set("n", "]Q", "<cmd>clast<cr>zv", { silent = true, desc = "last qf item" }) -- Close location list or quickfix list if they are present, see https://superuser.com/q/355325/736190 keymap.set("n", [[\x]], "<cmd>windo lclose <bar> cclose <cr>", { @@ -89,10 +89,10 @@ keymap.set("n", "<leader>sv", "", { silent = true, desc = "reload init.lua", callback = function() - vim.cmd [[ + vim.cmd([[ update $MYVIMRC source $MYVIMRC - ]] + ]]) vim.notify("Nvim config successfully reloaded!", vim.log.levels.INFO, { title = "nvim-config" }) end, }) @@ -111,14 +111,14 @@ keymap.set("n", "/", [[/\v]]) -- Change current working directory locally and print cwd after that, -- see https://vim.fandom.com/wiki/Set_working_directory_to_the_current_file -keymap.set("n", "<leader>cd", "<cmd>lcd %:p:h<cr><cmd>pwd<cr>", { desc = "change cwd", }) +keymap.set("n", "<leader>cd", "<cmd>lcd %:p:h<cr><cmd>pwd<cr>", { desc = "change cwd" }) -- Use Esc to quit builtin terminal keymap.set("t", "<Esc>", [[<c-\><c-n>]]) -- Toggle spell checking -keymap.set("n", "<F11>", "<cmd>set spell!<cr>", { desc = "toggle spell", }) -keymap.set("i", "<F11>", "<c-o><cmd>set spell!<cr>", { desc = "toggle spell", }) +keymap.set("n", "<F11>", "<cmd>set spell!<cr>", { desc = "toggle spell" }) +keymap.set("i", "<F11>", "<c-o><cmd>set spell!<cr>", { desc = "toggle spell" }) -- Change text without putting it into the vim register, -- see https://stackoverflow.com/q/54255/6064933 @@ -128,25 +128,25 @@ keymap.set("n", "cc", '"_cc') keymap.set("x", "c", '"_c') -- Remove trailing whitespace characters -keymap.set("n", "<leader><space>", "<cmd>StripTrailingWhitespace<cr>", { desc = "remove trailing space", }) +keymap.set("n", "<leader><space>", "<cmd>StripTrailingWhitespace<cr>", { desc = "remove trailing space" }) -- check the syntax group of current cursor position -keymap.set("n", "<leader>st", "<cmd>call utils#SynGroup()<cr>", { desc = "check syntax group", }) +keymap.set("n", "<leader>st", "<cmd>call utils#SynGroup()<cr>", { desc = "check syntax group" }) -- Copy entire buffer. -keymap.set("n", "<leader>y", "<cmd>%yank<cr>", { desc = "yank entire buffer", }) +keymap.set("n", "<leader>y", "<cmd>%yank<cr>", { desc = "yank entire buffer" }) -- Toggle cursor column -keymap.set("n", "<leader>cl", "<cmd>call utils#ToggleCursorCol()<cr>", { desc = "toggle cursor column", }) +keymap.set("n", "<leader>cl", "<cmd>call utils#ToggleCursorCol()<cr>", { desc = "toggle cursor column" }) -- Move current line up and down -keymap.set("n", "<A-k>", '<cmd>call utils#SwitchLine(line("."), "up")<cr>', { desc = "move line up", }) -keymap.set("n", "<A-j>", '<cmd>call utils#SwitchLine(line("."), "down")<cr>', { desc = "move line down", }) +keymap.set("n", "<A-k>", '<cmd>call utils#SwitchLine(line("."), "up")<cr>', { desc = "move line up" }) +keymap.set("n", "<A-j>", '<cmd>call utils#SwitchLine(line("."), "down")<cr>', { desc = "move line down" }) -- Move current visual-line selection up and down -keymap.set("x", "<A-k>", '<cmd>call utils#MoveSelection("up")<cr>', { desc = "move selection up", }) +keymap.set("x", "<A-k>", '<cmd>call utils#MoveSelection("up")<cr>', { desc = "move selection up" }) -keymap.set("x", "<A-j>", '<cmd>call utils#MoveSelection("down")<cr>', { desc = "move selection down", }) +keymap.set("x", "<A-j>", '<cmd>call utils#MoveSelection("down")<cr>', { desc = "move selection down" }) -- Replace visual selection with text in register, but not contaminate the register, -- see also https://stackoverflow.com/q/10723700/6064933. @@ -167,19 +167,19 @@ keymap.set("n", "<Up>", "<C-W>k") keymap.set("n", "<Down>", "<C-W>j") -- Text objects for URL -keymap.set({ "x", "o" }, "iu", "<cmd>call text_obj#URL()<cr>", { desc = "URL text object", }) +keymap.set({ "x", "o" }, "iu", "<cmd>call text_obj#URL()<cr>", { desc = "URL text object" }) -- Text objects for entire buffer -keymap.set({ "x", "o" }, "iB", "<cmd>call text_obj#Buffer()<cr>", { desc = "buffer text object", }) +keymap.set({ "x", "o" }, "iB", "<cmd>call text_obj#Buffer()<cr>", { desc = "buffer text object" }) -- Do not move my cursor when joining lines. keymap.set("n", "J", "", { desc = "join line", callback = function() - vim.cmd [[ + vim.cmd([[ normal! mzJ`z delmarks z - ]] + ]]) end, }) @@ -187,42 +187,42 @@ keymap.set("n", "gJ", "mzgJ`z", { desc = "join visual lines", callback = function() -- we must use `normal!`, otherwise it will trigger recursive mapping - vim.cmd [[ + vim.cmd([[ normal! zmgJ`z delmarks z - ]] - end + ]]) + end, }) -- Break inserted text into smaller undo units when we insert some punctuation chars. -local undo_ch = { ',', '.', '!', '?', ';', ':' } +local undo_ch = { ",", ".", "!", "?", ";", ":" } for _, ch in ipairs(undo_ch) do - keymap.set('i', ch, ch .. '<c-g>u') + keymap.set("i", ch, ch .. "<c-g>u") end -- insert semicolon in the end -keymap.set('i', '<A-;>', '<Esc>miA;<Esc>`ii') +keymap.set("i", "<A-;>", "<Esc>miA;<Esc>`ii") -- Keep cursor position after yanking -keymap.set('n', 'y', 'myy') +keymap.set("n", "y", "myy") -api.nvim_create_autocmd('TextYankPost', { - pattern = '*', +api.nvim_create_autocmd("TextYankPost", { + pattern = "*", group = api.nvim_create_augroup("restore_after_yank", { clear = true }), callback = function() - vim.cmd [[ + vim.cmd([[ silent! normal! `y silent! delmarks y - ]] - end + ]]) + end, }) -- Go to the beginning and end of current line in insert mode quickly -keymap.set('i', '<C-A>', '<HOME>') -keymap.set('i', '<C-E>', '<END>') +keymap.set("i", "<C-A>", "<HOME>") +keymap.set("i", "<C-E>", "<END>") -- Go to beginning of command in command-line mode -keymap.set('c', '<C-A>', '<HOME>') +keymap.set("c", "<C-A>", "<HOME>") -- Delete the character to the right of the cursor -keymap.set('i', '<C-D>', '<DEL>') +keymap.set("i", "<C-D>", "<DEL>") |
