From 39d19909525940cc16695ad3e7fcdb5812f744ac Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Sat, 6 Jul 2024 20:07:41 +0300 Subject: [PATCH] Neovim: started rework on the conifg, changed a bunch of stuff --- .config/nvim/TODO.md | 8 ++ .config/nvim/init.lua | 4 +- .config/nvim/lazy-lock.json | 1 + .../dapui.lua} | 0 .../plugins/TODO-alpha.lua} | 0 .../plugins/TODO-auto-session.lua} | 0 .../plugins/TODO-autopair.lua} | 0 .../plugins/TODO-color.lua} | 0 .../plugins/TODO-comment.lua} | 0 .../plugins/TODO-completions.lua} | 0 .../plugins/TODO-debug.lua} | 0 .../edgy.lua => custom/plugins/TODO-edgy.lua} | 0 .../ftFT.lua => custom/plugins/TODO-ftFT.lua} | 0 .../git.lua => custom/plugins/TODO-git.lua} | 0 .../plugins/TODO-illuminate.lua} | 0 .../plugins/TODO-indent-blankline.lua} | 0 .../plugins/TODO-lazydev.lua} | 0 .../leap.lua => custom/plugins/TODO-leap.lua} | 0 .../plugins/TODO-lightbulb.lua} | 0 .../plugins/TODO-lsp-saga.lua} | 0 .../lsp.lua => custom/plugins/TODO-lsp.lua} | 0 .../plugins/TODO-lsp_signature.lua} | 0 .../plugins/TODO-lualine.lua} | 0 .../plugins/TODO-neoclip.lua} | 0 .../plugins/TODO-neotree.lua} | 0 .../plugins/TODO-noice.lua} | 0 .../plugins/TODO-none-ls.lua} | 0 .../plugins/TODO-obsidian.lua} | 0 .../plugins/TODO-overseer.lua} | 0 .../plugins/TODO-surround.lua} | 0 .../plugins/TODO-time-tracking.lua} | 0 .../todo.lua => custom/plugins/TODO-todo.lua} | 0 .../plugins/TODO-trouble.lua} | 0 .../plugins/TODO-vim-tmux-navigator.lua} | 0 .../nvim/lua/custom/plugins/colorschemes.lua | 26 +++++++ .../nvim/lua/{ => custom}/plugins/harpoon.lua | 7 +- .config/nvim/lua/custom/plugins/oil.lua | 21 ++++++ .config/nvim/lua/custom/plugins/telescope.lua | 14 ++++ .../lua/{ => custom}/plugins/treesitter.lua | 5 +- .config/nvim/lua/custom/telescope.lua | 50 +++++++++++++ .config/nvim/lua/keymaps.lua | 44 ++++++----- .config/nvim/lua/options.lua | 20 +++-- .config/nvim/lua/plugin-manager.lua | 4 +- .config/nvim/lua/plugins.lua | 1 - .config/nvim/lua/plugins/colorschemes.lua | 31 -------- .config/nvim/lua/plugins/oil.lua | 9 --- .../overseer/template/user/c_build_make.lua | 17 ----- .config/nvim/lua/plugins/telescope.lua | 73 ------------------- .config/nvim/lua/plugins/which-key.lua | 8 -- 49 files changed, 165 insertions(+), 178 deletions(-) rename .config/nvim/lua/{dapui-colorscheme.lua => colorschemes/dapui.lua} (100%) rename .config/nvim/lua/{plugins/alpha.lua => custom/plugins/TODO-alpha.lua} (100%) rename .config/nvim/lua/{plugins/auto-session.lua => custom/plugins/TODO-auto-session.lua} (100%) rename .config/nvim/lua/{plugins/autopair.lua => custom/plugins/TODO-autopair.lua} (100%) rename .config/nvim/lua/{plugins/color.lua => custom/plugins/TODO-color.lua} (100%) rename .config/nvim/lua/{plugins/comment.lua => custom/plugins/TODO-comment.lua} (100%) rename .config/nvim/lua/{plugins/completions.lua => custom/plugins/TODO-completions.lua} (100%) rename .config/nvim/lua/{plugins/debug.lua => custom/plugins/TODO-debug.lua} (100%) rename .config/nvim/lua/{plugins/edgy.lua => custom/plugins/TODO-edgy.lua} (100%) rename .config/nvim/lua/{plugins/ftFT.lua => custom/plugins/TODO-ftFT.lua} (100%) rename .config/nvim/lua/{plugins/git.lua => custom/plugins/TODO-git.lua} (100%) rename .config/nvim/lua/{plugins/illuminate.lua => custom/plugins/TODO-illuminate.lua} (100%) rename .config/nvim/lua/{plugins/indent-blankline.lua => custom/plugins/TODO-indent-blankline.lua} (100%) rename .config/nvim/lua/{plugins/lazydev.lua => custom/plugins/TODO-lazydev.lua} (100%) rename .config/nvim/lua/{plugins/leap.lua => custom/plugins/TODO-leap.lua} (100%) rename .config/nvim/lua/{plugins/lightbulb.lua => custom/plugins/TODO-lightbulb.lua} (100%) rename .config/nvim/lua/{plugins/lsp-saga.lua => custom/plugins/TODO-lsp-saga.lua} (100%) rename .config/nvim/lua/{plugins/lsp.lua => custom/plugins/TODO-lsp.lua} (100%) rename .config/nvim/lua/{plugins/lsp_signature.lua => custom/plugins/TODO-lsp_signature.lua} (100%) rename .config/nvim/lua/{plugins/lualine.lua => custom/plugins/TODO-lualine.lua} (100%) rename .config/nvim/lua/{plugins/neoclip.lua => custom/plugins/TODO-neoclip.lua} (100%) rename .config/nvim/lua/{plugins/neotree.lua => custom/plugins/TODO-neotree.lua} (100%) rename .config/nvim/lua/{plugins/noice.lua => custom/plugins/TODO-noice.lua} (100%) rename .config/nvim/lua/{plugins/none-ls.lua => custom/plugins/TODO-none-ls.lua} (100%) rename .config/nvim/lua/{plugins/obsidian.lua => custom/plugins/TODO-obsidian.lua} (100%) rename .config/nvim/lua/{plugins/overseer.lua => custom/plugins/TODO-overseer.lua} (100%) rename .config/nvim/lua/{plugins/surround.lua => custom/plugins/TODO-surround.lua} (100%) rename .config/nvim/lua/{plugins/time-tracking.lua => custom/plugins/TODO-time-tracking.lua} (100%) rename .config/nvim/lua/{plugins/todo.lua => custom/plugins/TODO-todo.lua} (100%) rename .config/nvim/lua/{plugins/trouble.lua => custom/plugins/TODO-trouble.lua} (100%) rename .config/nvim/lua/{plugins/vim-tmux-navigator.lua => custom/plugins/TODO-vim-tmux-navigator.lua} (100%) create mode 100644 .config/nvim/lua/custom/plugins/colorschemes.lua rename .config/nvim/lua/{ => custom}/plugins/harpoon.lua (72%) create mode 100644 .config/nvim/lua/custom/plugins/oil.lua create mode 100644 .config/nvim/lua/custom/plugins/telescope.lua rename .config/nvim/lua/{ => custom}/plugins/treesitter.lua (57%) create mode 100644 .config/nvim/lua/custom/telescope.lua delete mode 100644 .config/nvim/lua/plugins.lua delete mode 100644 .config/nvim/lua/plugins/colorschemes.lua delete mode 100644 .config/nvim/lua/plugins/oil.lua delete mode 100644 .config/nvim/lua/plugins/overseer/template/user/c_build_make.lua delete mode 100644 .config/nvim/lua/plugins/telescope.lua delete mode 100644 .config/nvim/lua/plugins/which-key.lua diff --git a/.config/nvim/TODO.md b/.config/nvim/TODO.md index 730d412..28cc687 100644 --- a/.config/nvim/TODO.md +++ b/.config/nvim/TODO.md @@ -28,4 +28,12 @@ when there is an lsp active, it shouldn't show any other types like regex it should just show lsp stuff +# Look at in the future + +- Database integration plugins +https://github.com/kndndrj/nvim-dbee?tab=readme-ov-file +https://github.com/tpope/vim-dadbod + +- Colorscheme https://github.com/scottmckendry/cyberdream.nvim?tab=readme-ov-file + diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 55a16a6..8e8d744 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -2,6 +2,4 @@ require('options') require('keymaps') require('autocmds') require('plugin-manager') ---vim.cmd.colorscheme('darcula') ---vim.cmd.colorscheme('tokyonight-night') -require('dapui-colorscheme').set() + diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index b4989c5..15eced2 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -57,6 +57,7 @@ "spaceduck": { "branch": "main", "commit": "350491f19343b24fa85809242089caa02d4dadce" }, "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, + "telescope-smart-history.nvim": { "branch": "master", "commit": "81a4cceaa54d65d5f7c7c26178ee63b634d3e26d" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" }, "todo-comments.nvim": { "branch": "main", "commit": "51e10f838e84b4756c16311d0b1ef0972c6482d2" }, diff --git a/.config/nvim/lua/dapui-colorscheme.lua b/.config/nvim/lua/colorschemes/dapui.lua similarity index 100% rename from .config/nvim/lua/dapui-colorscheme.lua rename to .config/nvim/lua/colorschemes/dapui.lua diff --git a/.config/nvim/lua/plugins/alpha.lua b/.config/nvim/lua/custom/plugins/TODO-alpha.lua similarity index 100% rename from .config/nvim/lua/plugins/alpha.lua rename to .config/nvim/lua/custom/plugins/TODO-alpha.lua diff --git a/.config/nvim/lua/plugins/auto-session.lua b/.config/nvim/lua/custom/plugins/TODO-auto-session.lua similarity index 100% rename from .config/nvim/lua/plugins/auto-session.lua rename to .config/nvim/lua/custom/plugins/TODO-auto-session.lua diff --git a/.config/nvim/lua/plugins/autopair.lua b/.config/nvim/lua/custom/plugins/TODO-autopair.lua similarity index 100% rename from .config/nvim/lua/plugins/autopair.lua rename to .config/nvim/lua/custom/plugins/TODO-autopair.lua diff --git a/.config/nvim/lua/plugins/color.lua b/.config/nvim/lua/custom/plugins/TODO-color.lua similarity index 100% rename from .config/nvim/lua/plugins/color.lua rename to .config/nvim/lua/custom/plugins/TODO-color.lua diff --git a/.config/nvim/lua/plugins/comment.lua b/.config/nvim/lua/custom/plugins/TODO-comment.lua similarity index 100% rename from .config/nvim/lua/plugins/comment.lua rename to .config/nvim/lua/custom/plugins/TODO-comment.lua diff --git a/.config/nvim/lua/plugins/completions.lua b/.config/nvim/lua/custom/plugins/TODO-completions.lua similarity index 100% rename from .config/nvim/lua/plugins/completions.lua rename to .config/nvim/lua/custom/plugins/TODO-completions.lua diff --git a/.config/nvim/lua/plugins/debug.lua b/.config/nvim/lua/custom/plugins/TODO-debug.lua similarity index 100% rename from .config/nvim/lua/plugins/debug.lua rename to .config/nvim/lua/custom/plugins/TODO-debug.lua diff --git a/.config/nvim/lua/plugins/edgy.lua b/.config/nvim/lua/custom/plugins/TODO-edgy.lua similarity index 100% rename from .config/nvim/lua/plugins/edgy.lua rename to .config/nvim/lua/custom/plugins/TODO-edgy.lua diff --git a/.config/nvim/lua/plugins/ftFT.lua b/.config/nvim/lua/custom/plugins/TODO-ftFT.lua similarity index 100% rename from .config/nvim/lua/plugins/ftFT.lua rename to .config/nvim/lua/custom/plugins/TODO-ftFT.lua diff --git a/.config/nvim/lua/plugins/git.lua b/.config/nvim/lua/custom/plugins/TODO-git.lua similarity index 100% rename from .config/nvim/lua/plugins/git.lua rename to .config/nvim/lua/custom/plugins/TODO-git.lua diff --git a/.config/nvim/lua/plugins/illuminate.lua b/.config/nvim/lua/custom/plugins/TODO-illuminate.lua similarity index 100% rename from .config/nvim/lua/plugins/illuminate.lua rename to .config/nvim/lua/custom/plugins/TODO-illuminate.lua diff --git a/.config/nvim/lua/plugins/indent-blankline.lua b/.config/nvim/lua/custom/plugins/TODO-indent-blankline.lua similarity index 100% rename from .config/nvim/lua/plugins/indent-blankline.lua rename to .config/nvim/lua/custom/plugins/TODO-indent-blankline.lua diff --git a/.config/nvim/lua/plugins/lazydev.lua b/.config/nvim/lua/custom/plugins/TODO-lazydev.lua similarity index 100% rename from .config/nvim/lua/plugins/lazydev.lua rename to .config/nvim/lua/custom/plugins/TODO-lazydev.lua diff --git a/.config/nvim/lua/plugins/leap.lua b/.config/nvim/lua/custom/plugins/TODO-leap.lua similarity index 100% rename from .config/nvim/lua/plugins/leap.lua rename to .config/nvim/lua/custom/plugins/TODO-leap.lua diff --git a/.config/nvim/lua/plugins/lightbulb.lua b/.config/nvim/lua/custom/plugins/TODO-lightbulb.lua similarity index 100% rename from .config/nvim/lua/plugins/lightbulb.lua rename to .config/nvim/lua/custom/plugins/TODO-lightbulb.lua diff --git a/.config/nvim/lua/plugins/lsp-saga.lua b/.config/nvim/lua/custom/plugins/TODO-lsp-saga.lua similarity index 100% rename from .config/nvim/lua/plugins/lsp-saga.lua rename to .config/nvim/lua/custom/plugins/TODO-lsp-saga.lua diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/custom/plugins/TODO-lsp.lua similarity index 100% rename from .config/nvim/lua/plugins/lsp.lua rename to .config/nvim/lua/custom/plugins/TODO-lsp.lua diff --git a/.config/nvim/lua/plugins/lsp_signature.lua b/.config/nvim/lua/custom/plugins/TODO-lsp_signature.lua similarity index 100% rename from .config/nvim/lua/plugins/lsp_signature.lua rename to .config/nvim/lua/custom/plugins/TODO-lsp_signature.lua diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/custom/plugins/TODO-lualine.lua similarity index 100% rename from .config/nvim/lua/plugins/lualine.lua rename to .config/nvim/lua/custom/plugins/TODO-lualine.lua diff --git a/.config/nvim/lua/plugins/neoclip.lua b/.config/nvim/lua/custom/plugins/TODO-neoclip.lua similarity index 100% rename from .config/nvim/lua/plugins/neoclip.lua rename to .config/nvim/lua/custom/plugins/TODO-neoclip.lua diff --git a/.config/nvim/lua/plugins/neotree.lua b/.config/nvim/lua/custom/plugins/TODO-neotree.lua similarity index 100% rename from .config/nvim/lua/plugins/neotree.lua rename to .config/nvim/lua/custom/plugins/TODO-neotree.lua diff --git a/.config/nvim/lua/plugins/noice.lua b/.config/nvim/lua/custom/plugins/TODO-noice.lua similarity index 100% rename from .config/nvim/lua/plugins/noice.lua rename to .config/nvim/lua/custom/plugins/TODO-noice.lua diff --git a/.config/nvim/lua/plugins/none-ls.lua b/.config/nvim/lua/custom/plugins/TODO-none-ls.lua similarity index 100% rename from .config/nvim/lua/plugins/none-ls.lua rename to .config/nvim/lua/custom/plugins/TODO-none-ls.lua diff --git a/.config/nvim/lua/plugins/obsidian.lua b/.config/nvim/lua/custom/plugins/TODO-obsidian.lua similarity index 100% rename from .config/nvim/lua/plugins/obsidian.lua rename to .config/nvim/lua/custom/plugins/TODO-obsidian.lua diff --git a/.config/nvim/lua/plugins/overseer.lua b/.config/nvim/lua/custom/plugins/TODO-overseer.lua similarity index 100% rename from .config/nvim/lua/plugins/overseer.lua rename to .config/nvim/lua/custom/plugins/TODO-overseer.lua diff --git a/.config/nvim/lua/plugins/surround.lua b/.config/nvim/lua/custom/plugins/TODO-surround.lua similarity index 100% rename from .config/nvim/lua/plugins/surround.lua rename to .config/nvim/lua/custom/plugins/TODO-surround.lua diff --git a/.config/nvim/lua/plugins/time-tracking.lua b/.config/nvim/lua/custom/plugins/TODO-time-tracking.lua similarity index 100% rename from .config/nvim/lua/plugins/time-tracking.lua rename to .config/nvim/lua/custom/plugins/TODO-time-tracking.lua diff --git a/.config/nvim/lua/plugins/todo.lua b/.config/nvim/lua/custom/plugins/TODO-todo.lua similarity index 100% rename from .config/nvim/lua/plugins/todo.lua rename to .config/nvim/lua/custom/plugins/TODO-todo.lua diff --git a/.config/nvim/lua/plugins/trouble.lua b/.config/nvim/lua/custom/plugins/TODO-trouble.lua similarity index 100% rename from .config/nvim/lua/plugins/trouble.lua rename to .config/nvim/lua/custom/plugins/TODO-trouble.lua diff --git a/.config/nvim/lua/plugins/vim-tmux-navigator.lua b/.config/nvim/lua/custom/plugins/TODO-vim-tmux-navigator.lua similarity index 100% rename from .config/nvim/lua/plugins/vim-tmux-navigator.lua rename to .config/nvim/lua/custom/plugins/TODO-vim-tmux-navigator.lua diff --git a/.config/nvim/lua/custom/plugins/colorschemes.lua b/.config/nvim/lua/custom/plugins/colorschemes.lua new file mode 100644 index 0000000..8fa17af --- /dev/null +++ b/.config/nvim/lua/custom/plugins/colorschemes.lua @@ -0,0 +1,26 @@ +return { + { + 'folke/tokyonight.nvim', + lazy = false, + priority = 1000, + config = function() + vim.cmd.colorscheme('tokyonight-night') + require('colorschemes.dapui').set() + end, + }, + 'rktjmp/lush.nvim', + 'catppuccin/nvim', + 'marko-cerovac/material.nvim', + 'rebelot/kanagawa.nvim', + 'projekt0n/github-nvim-theme', + 'EdenEast/nightfox.nvim', + 'rose-pine/neovim', + 'rafi/awesome-vim-colorschemes', + 'datsfilipe/min-theme.nvim', + 'nechaev/darkstorm.nvim', + 'briones-gabriel/darcula-solid.nvim', + 'okaihe/okai', + 'uloco/bluloco.nvim', + 'doums/darcula', + 'pineapplegiant/spaceduck', +} diff --git a/.config/nvim/lua/plugins/harpoon.lua b/.config/nvim/lua/custom/plugins/harpoon.lua similarity index 72% rename from .config/nvim/lua/plugins/harpoon.lua rename to .config/nvim/lua/custom/plugins/harpoon.lua index 167d5ea..1352444 100644 --- a/.config/nvim/lua/plugins/harpoon.lua +++ b/.config/nvim/lua/custom/plugins/harpoon.lua @@ -14,10 +14,11 @@ return { end) for i = 1, 9 do - vim.keymap.set('n', '', function() + local select = function() harpoon:list():select(i) - end) + end + vim.keymap.set('n', string.format('', i), select) + vim.keymap.set('n', string.format('%d', i), select) end - end, } diff --git a/.config/nvim/lua/custom/plugins/oil.lua b/.config/nvim/lua/custom/plugins/oil.lua new file mode 100644 index 0000000..1bf5672 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/oil.lua @@ -0,0 +1,21 @@ +return { + 'stevearc/oil.nvim', + dependencies = { 'nvim-tree/nvim-web-devicons' }, + config = function() + local oil = require('oil') + oil.setup({ + keymaps = { + [''] = false, + [''] = false, + [''] = false, + [''] = false, + [''] = 'actions.select_split', + }, + view_options = { + show_hidden = true, + }, + }) + vim.keymap.set('n', 'ob', 'Oil', { desc = '[O]il [B]uffer' }) + vim.keymap.set('n', 'of', oil.toggle_float, { desc = '[O]il [F]loat' }) + end, +} diff --git a/.config/nvim/lua/custom/plugins/telescope.lua b/.config/nvim/lua/custom/plugins/telescope.lua new file mode 100644 index 0000000..263cc1e --- /dev/null +++ b/.config/nvim/lua/custom/plugins/telescope.lua @@ -0,0 +1,14 @@ +return { + { + 'nvim-telescope/telescope.nvim', + tag = '0.1.5', + dependencies = { + 'nvim-lua/plenary.nvim', + { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make' }, + 'nvim-telescope/telescope-ui-select.nvim', + }, + config = function() + require("custom.telescope") + end, + }, +} diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/custom/plugins/treesitter.lua similarity index 57% rename from .config/nvim/lua/plugins/treesitter.lua rename to .config/nvim/lua/custom/plugins/treesitter.lua index 1fffa27..d869a5e 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/custom/plugins/treesitter.lua @@ -2,8 +2,9 @@ return { 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate', config = function() - local config = require('nvim-treesitter.configs') - config.setup({ + ---@type userdata + require('nvim-treesitter.configs').setup({ + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally auto_install = true, highlight = { enable = true }, indent = { enable = true }, diff --git a/.config/nvim/lua/custom/telescope.lua b/.config/nvim/lua/custom/telescope.lua new file mode 100644 index 0000000..bb6ec62 --- /dev/null +++ b/.config/nvim/lua/custom/telescope.lua @@ -0,0 +1,50 @@ +local telescope = require('telescope') +telescope.setup({ + pickers = { + find_files = { follow = true }, + grep_string = { additional_args = '--follow' }, + live_grep = { additional_args = '--follow' }, + }, + extensions = { + fzf = { + fuzzy = true, -- false will only do exact matching + override_generic_sorter = true, -- override the generic sorter + override_file_sorter = true, -- override the file sorter + case_mode = 'smart_case', -- default "smart_case" or "ignore_case" or "respect_case" + }, + ['ui-select'] = { + require('telescope.themes').get_dropdown({}), + }, + }, +}) + +pcall(telescope.load_extension('ui-select')) +pcall(telescope.load_extension('fzf')) + +local builtin = require('telescope.builtin') + +vim.keymap.set('n', 'fs', builtin.find_files, { desc = '[F]ile [S]ystem' }) +vim.keymap.set('n', 'fh', builtin.help_tags, { desc = '[F]ind [H]elp' }) +vim.keymap.set('n', 'fm', builtin.man_pages, { desc = '[F]ind [M]an Pages' }) +-- vim.keymap.set('n', 'fw', builtin.grep_string, { desc = '[F]ind current [W]ord' }) +vim.keymap.set('n', 'lv', builtin.live_grep, { desc = '[L]ive [G]rep' }) +vim.keymap.set('n', 'f.', builtin.oldfiles, { desc = '[F]ind Recent Files' }) +vim.keymap.set('n', 'th', builtin.colorscheme, { desc = 'List [Th]eme' }) +-- vim.keymap.set('n', 'ob', builtin.buffers, { desc = '[O]pen [B]uffers' }) + +vim.keymap.set('n', 'gd', builtin.lsp_definitions, { desc = '[G]oto [D]efinition' }) +vim.keymap.set('n', 'gu', builtin.lsp_references, { desc = '[G]oto [U]sages' }) +vim.keymap.set('n', 'gi', builtin.lsp_implementations, { desc = '[G]oto [I]mplementations' }) +-- vim.keymap.set('n', 'gt', builtin.lsp_type_definitions, { desc = '[G]oto [T]ype Definitions' }) +vim.keymap.set('n', 'gw', builtin.diagnostics, { desc = '[G]oto [W]arnings' }) + +vim.keymap.set('n', 'ds', builtin.lsp_document_symbols, { desc = '[D]ocument [S]symbols' }) +vim.keymap.set('n', 'ps', builtin.lsp_workspace_symbols, { desc = '[P]roject [S]ymbols' }) + +vim.keymap.set('n', 'sb', builtin.git_branches, { desc = '[S]earch [B]ranches' }) +vim.keymap.set('n', 'sc', builtin.git_commits, { desc = '[S]earch [C]ommits' }) +-- TODO: Look into the following +-- builtin.git_commits +-- builtin.git_branches +-- builtin.git_status +-- builtin.git_stash diff --git a/.config/nvim/lua/keymaps.lua b/.config/nvim/lua/keymaps.lua index e8e2b29..f6d67ec 100644 --- a/.config/nvim/lua/keymaps.lua +++ b/.config/nvim/lua/keymaps.lua @@ -1,29 +1,35 @@ +local set = vim.keymap.set +local silent = { silent = true } + -- Misc -vim.keymap.set({ 'n', 'i' }, '', 'ggVG', { desc = 'Visually Highlight [A]ll' }) -vim.keymap.set('n', '', ':nohlsearch') -vim.keymap.set('n', 'z', function() +set({ 'n', 'i' }, '', 'ggVG', { desc = 'Visually Highlight [A]ll' }) +set('n', '', ':nohlsearch', silent) +set({ 'i', 'c' }, '', '+') +set('n', 'z', function() vim.cmd('Neotree close') vim.cmd('Trouble todo close') -end, { desc = '[Z]en Mode' }) -vim.keymap.set({ 'i', 'c' }, '', '+') +end, { desc = '[Z]en Mode', silent = true }) --- Undo/Redo -vim.keymap.set('n', 'U', ':redo') -vim.keymap.set('i', '', ':undo') +set('n', 'U', ':redo') +set('i', '', ':undo') -- Window Navigation -vim.keymap.set('n', '', '', { desc = 'Move focus to the left window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the down window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the up window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the right window' }) +set('n', '', '', { desc = 'Move focus to the left window' }) +set('n', '', '', { desc = 'Move focus to the down window' }) +set('n', '', '', { desc = 'Move focus to the up window' }) +set('n', '', '', { desc = 'Move focus to the right window' }) -- Window resizing local resize = 2 -vim.keymap.set({ 'n', 't' }, '', string.format(':vertical resize -%d', resize), { desc = 'Resize Left' }) -vim.keymap.set({ 'n', 't' }, '', string.format(':resize -%d', resize), { desc = 'Resize Up' }) -vim.keymap.set({ 'n', 't' }, '', string.format(':resize +%d', resize), { desc = 'Resize Down' }) -vim.keymap.set({ 'n', 't' }, '', string.format(':vertical resize +%d', resize), { desc = 'Resize Right' }) +set({ 'n', 't' }, '', string.format(':vertical resize -%d', resize), { desc = 'Resize Left' }) +set({ 'n', 't' }, '', string.format(':resize -%d', resize), { desc = 'Resize Up' }) +set({ 'n', 't' }, '', string.format(':resize +%d', resize), { desc = 'Resize Down' }) +set({ 'n', 't' }, '', string.format(':vertical resize +%d', resize), { desc = 'Resize Right' }) --- Keep selection after < and > -vim.keymap.set('v', '<', '', '>gv', {}) +-- Keep selection after < and > in visual mode +set('v', '<', '', '>gv') + +-- Execute lua file or line +set('n', 'x', '.lua', { desc = 'Execute the current line' }) +set('n', 'x', 'source %', { desc = 'Execute the current file' }) diff --git a/.config/nvim/lua/options.lua b/.config/nvim/lua/options.lua index bd78e0e..8fecc36 100644 --- a/.config/nvim/lua/options.lua +++ b/.config/nvim/lua/options.lua @@ -3,14 +3,14 @@ vim.g.maplocalleader = ' ' -- System vim.g.have_nerd_font = true -vim.opt.mouse = 'a' -- enable mouse +vim.opt.mouse = 'a' -- enable mouse vim.opt.clipboard = 'unnamedplus' -- use system clipboard -- Tab vim.opt.expandtab = true -- convert tabs to spaces -vim.opt.tabstop = 4 -- number of visual spaces per TAB -vim.opt.softtabstop = 4 -- number of idfk tab when editing -vim.opt.shiftwidth = 4 -- number of spaces to insert on tab +vim.opt.tabstop = 4 -- number of visual spaces per TAB +vim.opt.softtabstop = 4 -- number of idfk tab when editing +vim.opt.shiftwidth = 4 -- number of spaces to insert on tab -- UI vim.opt.signcolumn = 'auto:9' @@ -22,6 +22,7 @@ vim.opt.splitbelow = true vim.opt.showmode = false -- don't show mode, because lualine already does vim.opt.list = true vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } +vim.diagnostic.config({ signs = false }) -- disable signcolumn diagnostics -- Searching vim.opt.hlsearch = true @@ -33,16 +34,13 @@ vim.opt.wrap = false vim.opt.scrolloff = 8 vim.opt.undofile = true vim.opt.termguicolors = true -vim.opt.laststatus = 3 -- views can only be fully collapsed with the global statusline -vim.opt.splitkeep = 'screen' -- for edgy.nvim +vim.opt.laststatus = 3 -- views can only be fully collapsed with the global statusline +vim.opt.splitkeep = 'screen' -- for edgy.nvim +vim.opt.inccommand = 'split' -- shows preview for commands like :%s/from/to +vim.opt.formatoptions:remove('o') -- don't have `o` add a comment -- Disable warnings for missing language providers vim.g.loaded_node_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_ruby_provider = 0 vim.g.loaded_python3_provider = 0 - --- Disable signcolumn diagnostics -vim.diagnostic.config({ - signs = false, -}) diff --git a/.config/nvim/lua/plugin-manager.lua b/.config/nvim/lua/plugin-manager.lua index 0c68d7c..970847e 100644 --- a/.config/nvim/lua/plugin-manager.lua +++ b/.config/nvim/lua/plugin-manager.lua @@ -10,4 +10,6 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then }) end vim.opt.rtp:prepend(lazypath) -require('lazy').setup('plugins') +require('lazy').setup({ import = 'custom/plugins' }, { + change_detection = { notify = false }, +}) diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua deleted file mode 100644 index a564707..0000000 --- a/.config/nvim/lua/plugins.lua +++ /dev/null @@ -1 +0,0 @@ -return {} diff --git a/.config/nvim/lua/plugins/colorschemes.lua b/.config/nvim/lua/plugins/colorschemes.lua deleted file mode 100644 index 84e824a..0000000 --- a/.config/nvim/lua/plugins/colorschemes.lua +++ /dev/null @@ -1,31 +0,0 @@ -return { - { 'rktjmp/lush.nvim', lazy = false, priority = 1001 }, - { 'catppuccin/nvim', lazy = false, priority = 1000 }, - { 'folke/tokyonight.nvim', lazy = false, priority = 1000 }, - { 'marko-cerovac/material.nvim', lazy = false, priority = 1000 }, - { 'rebelot/kanagawa.nvim', lazy = false, priority = 1000 }, - { 'projekt0n/github-nvim-theme', lazy = false, priority = 1000 }, - { 'EdenEast/nightfox.nvim', lazy = false, priority = 1000 }, - { 'rose-pine/neovim', lazy = false, priority = 1000 }, - { 'rafi/awesome-vim-colorschemes', lazy = false, priority = 1000 }, - { 'datsfilipe/min-theme.nvim', lazy = false, priority = 1000 }, - { 'nechaev/darkstorm.nvim', lazy = false, priority = 1000 }, - { 'briones-gabriel/darcula-solid.nvim', lazy = false, priority = 1000 }, - { - 'okaihe/okai', - lazy = false, - priority = 1000, - config = function() - require('okai').setup() - end, - }, - { - 'uloco/bluloco.nvim', - lazy = false, - priority = 1000, - dependencies = { 'rktjmp/lush.nvim' }, - }, - { 'doums/darcula', lazy = false, priority = 1000 }, - { 'pineapplegiant/spaceduck', lazy = false, priority = 1000 }, - -} diff --git a/.config/nvim/lua/plugins/oil.lua b/.config/nvim/lua/plugins/oil.lua deleted file mode 100644 index eeeb327..0000000 --- a/.config/nvim/lua/plugins/oil.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - 'stevearc/oil.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - opts = {}, - config = function () - require("oil").setup() - vim.keymap.set('n', 'of', ':Oil --float', { desc = '[O]il [F]ilesystem' }) - end -} diff --git a/.config/nvim/lua/plugins/overseer/template/user/c_build_make.lua b/.config/nvim/lua/plugins/overseer/template/user/c_build_make.lua deleted file mode 100644 index 58d7e3c..0000000 --- a/.config/nvim/lua/plugins/overseer/template/user/c_build_make.lua +++ /dev/null @@ -1,17 +0,0 @@ -return { - name = 'C build (make)', - builder = function() - -- Full path to current file (see :help expand()) - local file = vim.fn.expand('%:p') - file = file:sub(1, -3) - return { - name = 'Make C file', - cmd = { 'make' }, - args = { file }, - components = { { 'on_output_quickfix', open = true }, 'default' }, - } - end, - condition = { - filetype = { 'c' }, - }, -} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua deleted file mode 100644 index 6e95e21..0000000 --- a/.config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,73 +0,0 @@ -return { - { 'nvim-telescope/telescope-fzf-native.nvim' }, - { 'nvim-telescope/telescope-ui-select.nvim' }, - { - 'nvim-telescope/telescope.nvim', - tag = '0.1.5', - dependencies = { 'nvim-lua/plenary.nvim' }, - config = function() - local builtin = require('telescope.builtin') - - vim.keymap.set('n', 'h', builtin.help_tags, { desc = '[H]elp' }) - vim.keymap.set('n', 'm', builtin.man_pages, { desc = '[M]an Pages' }) - vim.keymap.set('n', 'th', builtin.colorscheme, { desc = 'List [Th]eme' }) - vim.keymap.set('n', 'ob', builtin.buffers, { desc = '[O]pen [B]uffers' }) - - vim.keymap.set('n', 'fs', builtin.find_files, { desc = '[F]ile [S]ystem' }) - vim.keymap.set('n', 'fw', builtin.grep_string, { desc = '[F]ind current [W]ord' }) - vim.keymap.set('n', 'lv', builtin.live_grep, { desc = '[L]ive [G]rep' }) - vim.keymap.set('n', 'f.', builtin.oldfiles, { desc = '[F]ind Recent Files ("." for old)' }) - - vim.keymap.set('n', 'gd', builtin.lsp_definitions, { desc = '[G]oto [D]efinition' }) - vim.keymap.set('n', 'gu', builtin.lsp_references, { desc = '[G]oto [U]sages' }) - vim.keymap.set('n', 'gi', builtin.lsp_implementations, { desc = '[G]oto [I]mplementations' }) - vim.keymap.set('n', 'gt', builtin.lsp_type_definitions, { desc = '[G]oto [T]ype Definitions' }) - vim.keymap.set('n', 'gw', builtin.diagnostics, { desc = '[G]oto [W]arnings' }) - - vim.keymap.set('n', 'ds', builtin.lsp_document_symbols, { desc = '[D]ocument [S]symbols' }) - vim.keymap.set('n', 'ps', builtin.lsp_workspace_symbols, { desc = '[P]roject [S]ymbols' }) - - -- TODO: Look into the following - -- builtin.git_commits - -- builtin.git_branches - -- builtin.git_status - -- builtin.git_stash - - local telescope = require('telescope') - telescope.setup({ - defaults = { - mappings = { - i = { - -- map actions.which_key to (default: ) - -- actions.which_key shows the mappings for your picker, - -- e.g. git_{create, delete, ...}_branch for the git_branches picker - [''] = 'which_key', - [''] = 'cycle_previewers_next', - [''] = 'cycle_previewers_prev', - }, - }, - }, - pickers = { - find_files = { follow = true }, - grep_string = { additional_args = '--follow' }, - live_grep = { additional_args = '--follow' }, - }, - extensions = { - ui_select = { - require('telescope.themes').get_dropdown({}), - }, - fzf = { - fuzzy = true, -- false will only do exact matching - override_generic_sorter = true, -- override the generic sorter - override_file_sorter = true, -- override the file sorter - case_mode = 'smart_case', -- or "ignore_case" or "respect_case" - -- the default case_mode is "smart_case" - }, - }, - }) - - telescope.load_extension('ui-select') - telescope.load_extension('fzf') - end, - }, -} diff --git a/.config/nvim/lua/plugins/which-key.lua b/.config/nvim/lua/plugins/which-key.lua deleted file mode 100644 index 42eb72d..0000000 --- a/.config/nvim/lua/plugins/which-key.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - 'folke/which-key.nvim', - event = 'VeryLazy', - init = function() - vim.o.timeout = true - vim.o.timeoutlen = 500 - end, -}