From 060782c2a97f3138eacd206e05310ea033105e87 Mon Sep 17 00:00:00 2001 From: Nikola Savic Date: Mon, 9 Sep 2024 23:03:10 +0200 Subject: [PATCH] v1.2 --- init.lua | 35 ++++++++------- lua/custom/plugins/misc.lua | 82 +++++++++++++++++++--------------- lua/custom/plugins/neotree.lua | 3 +- 3 files changed, 67 insertions(+), 53 deletions(-) diff --git a/init.lua b/init.lua index 0af0609b..4a0a147b 100644 --- a/init.lua +++ b/init.lua @@ -356,13 +356,13 @@ require('lazy').setup({ -- Document existing key chains spec = { - { 'c', group = '[C]ode', mode = { 'n', 'x' } }, + { 'c', group = '[C]opilot', mode = { 'n', 'x' } }, { 'd', group = '[D]ocument' }, { 'r', group = '[R]ename' }, - { 'f', group = '[S]earch' }, + { 'f', group = '[F]ind' }, -- { 'w', group = '[W]orkspace' }, { 't', group = '[T]oggle' }, - { 'h', group = 'Git [H]unk', mode = { 'n', 'v' } }, + { 'gh', group = 'Git [H]unk', mode = { 'n', 'v' } }, }, }, }, @@ -455,19 +455,19 @@ require('lazy').setup({ -- See `:help telescope.builtin` local builtin = require 'telescope.builtin' - vim.keymap.set('n', 'fh', builtin.help_tags, { desc = '[S]earch [H]elp' }) - vim.keymap.set('n', 'fk', builtin.keymaps, { desc = '[S]earch [K]eymaps' }) - vim.keymap.set('n', 'ff', builtin.find_files, { desc = '[S]earch [F]iles' }) - vim.keymap.set('n', 'fs', builtin.builtin, { desc = '[S]earch [S]elect Telescope' }) - vim.keymap.set('n', 'fc', builtin.grep_string, { desc = '[S]earch current [W]ord' }) - vim.keymap.set('n', 'fw', builtin.live_grep, { desc = '[S]earch by [G]rep' }) - vim.keymap.set('n', 'fd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' }) - vim.keymap.set('n', 'f', builtin.resume, { desc = '[S]earch [R]esume' }) - vim.keymap.set('n', 'fo', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' }) + vim.keymap.set('n', 'fh', builtin.help_tags, { desc = '[F]ind [H]elp' }) + vim.keymap.set('n', 'fk', builtin.keymaps, { desc = '[F]ind [K]eymaps' }) + vim.keymap.set('n', 'ff', builtin.find_files, { desc = '[F]ind [F]iles' }) + vim.keymap.set('n', 'fs', builtin.builtin, { desc = '[F]ind [S]elect Telescope' }) + vim.keymap.set('n', 'fc', builtin.grep_string, { desc = '[F]ind current [W]ord' }) + vim.keymap.set('n', 'fw', builtin.live_grep, { desc = '[F]ind by [G]rep' }) + vim.keymap.set('n', 'fd', builtin.diagnostics, { desc = '[F]ind [D]iagnostics' }) + vim.keymap.set('n', 'f', builtin.resume, { desc = '[F]ind [R]esume' }) + vim.keymap.set('n', 'fo', builtin.oldfiles, { desc = '[F]ind Recent Files ("." for repeat)' }) vim.keymap.set('n', '', builtin.buffers, { desc = '[ ] Find existing buffers' }) -- Slightly advanced example of overriding default behavior and theme - vim.keymap.set('n', 's/', function() + vim.keymap.set('n', 'f/', function() -- You can pass additional configuration to Telescope to change the theme, layout, etc. builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { winblend = 10, @@ -482,12 +482,12 @@ require('lazy').setup({ -- grep_open_files = true, -- prompt_title = 'Live Grep in Open Files', -- } - -- end, { desc = '[S]earch [/] in Open Files' }) + -- end, { desc = '[F]ind [/] in Open Files' }) -- Shortcut for searching your Neovim configuration files - vim.keymap.set('n', 'sn', function() + vim.keymap.set('n', 'fn', function() builtin.find_files { cwd = vim.fn.stdpath 'config' } - end, { desc = '[S]earch [N]eovim files' }) + end, { desc = '[F]ind [N]eovim files' }) end, }, @@ -538,7 +538,7 @@ require('lazy').setup({ -- - Go to definition -- - Find references -- - Autocompletion - -- - Symbol Search + -- - Symbol [F]ind -- - and more! -- -- Thus, Language Servers are external tools that must be installed separately from @@ -983,6 +983,7 @@ require('lazy').setup({ -- Here are some example plugins that I've included in the Kickstart repository. -- Uncomment any of the lines below to enable them (you will need to restart nvim). -- + -- require 'kickstart.health', -- require 'kickstart.plugins.debug', -- require 'kickstart.plugins.indent_line', -- require 'kickstart.plugins.lint', diff --git a/lua/custom/plugins/misc.lua b/lua/custom/plugins/misc.lua index d98ac3bd..1e5d42f8 100644 --- a/lua/custom/plugins/misc.lua +++ b/lua/custom/plugins/misc.lua @@ -1,12 +1,4 @@ return { - { - -- smooth scroll - 'declancm/cinnamon.nvim', - version = '*', -- use latest release - opts = { - -- change default options here - }, - }, { 'windwp/nvim-autopairs', event = 'InsertEnter', @@ -14,33 +6,33 @@ return { -- use opts = {} for passing setup options -- this is equivalent to setup({}) function }, - { - -- sessions - 'folke/persistence.nvim', - event = 'BufReadPre', -- this will only start session saving when an actual file was opened - opts = { - -- load the session for the current directory - vim.keymap.set('n', 'Ss', function() - require('persistence').load() - end, { desc = 'Load session from directory' }), - - -- select a session to load - vim.keymap.set('n', 'SS', function() - require('persistence').select() - end, { desc = 'Select a sesion to load' }), - - -- load the last session - vim.keymap.set('n', 'Sl', function() - require('persistence').load { last = true } - end, { desc = 'Load the last session' }), - - -- stop Persistence => session won't be saved on exit - vim.keymap.set('n', 'Sd', function() - require('persistence').stop() - end, { desc = 'Stop Saving sessions' }), - -- add any custom options here - }, - }, + -- { + -- -- sessions + -- 'folke/persistence.nvim', + -- event = 'BufReadPre', -- this will only start session saving when an actual file was opened + -- opts = { + -- -- load the session for the current directory + -- vim.keymap.set('n', 'Ss', function() + -- require('persistence').load() + -- end, { desc = 'Load session from directory' }), + -- + -- -- select a session to load + -- vim.keymap.set('n', 'SS', function() + -- require('persistence').select() + -- end, { desc = 'Select a sesion to load' }), + -- + -- -- load the last session + -- vim.keymap.set('n', 'Sl', function() + -- require('persistence').load { last = true } + -- end, { desc = 'Load the last session' }), + -- + -- -- stop Persistence => session won't be saved on exit + -- vim.keymap.set('n', 'Sd', function() + -- require('persistence').stop() + -- end, { desc = 'Stop Saving sessions' }), + -- -- add any custom options here + -- }, + -- }, { 'karb94/neoscroll.nvim', config = function() @@ -64,4 +56,24 @@ return { { '', 'TmuxNavigatePrevious' }, }, }, + { + 'stevearc/resession.nvim', + -- opts = { + config = function() + local resession = require 'resession' + resession.setup() + -- Resession does NOTHING automagically, so we have to set up some keymaps + vim.keymap.set('n', 'Ss', resession.save, { desc = 'Save Session' }) + vim.keymap.set('n', 'Sl', resession.load, { desc = 'Load Session' }) + vim.keymap.set('n', 'Sd', resession.delete, { desc = 'Delete Session' }) + + vim.api.nvim_create_autocmd('VimLeavePre', { + callback = function() + -- Always save a special session named "last" + resession.save 'last' + end, + }) + end, + -- }, + }, } diff --git a/lua/custom/plugins/neotree.lua b/lua/custom/plugins/neotree.lua index 34d33a6c..01b67254 100644 --- a/lua/custom/plugins/neotree.lua +++ b/lua/custom/plugins/neotree.lua @@ -2,6 +2,7 @@ return { { 'nvim-neo-tree/neo-tree.nvim', branch = 'v3.x', + event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim', 'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended @@ -48,7 +49,7 @@ return { vim.fn.sign_define('DiagnosticSignHint', { text = '󰌵', texthl = 'DiagnosticSignHint' }) require('neo-tree').setup { - close_if_last_window = false, -- Close Neo-tree if it is the last window left in the tab + close_if_last_window = true, -- Close Neo-tree if it is the last window left in the tab popup_border_style = 'rounded', enable_git_status = true, enable_diagnostics = true,