diff options
Diffstat (limited to 'dot_config/nvim/lua/plugins/init.lua')
| -rw-r--r-- | dot_config/nvim/lua/plugins/init.lua | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/dot_config/nvim/lua/plugins/init.lua b/dot_config/nvim/lua/plugins/init.lua new file mode 100644 index 0000000..be4b9e3 --- /dev/null +++ b/dot_config/nvim/lua/plugins/init.lua @@ -0,0 +1,156 @@ +return { + -- Detect tabstop and shiftwidth automatically + { + 'NMAC427/guess-indent.nvim', + event = 'VeryLazy', + }, + + -- Adds git related signs to the gutter, as well as utilities for managing changes + { + 'lewis6991/gitsigns.nvim', + event = 'VeryLazy', + opts = { + signs = { + add = { text = '+' }, + change = { text = '~' }, + delete = { text = '_' }, + topdelete = { text = '‾' }, + changedelete = { text = '~' }, + }, + }, + }, + + -- Useful plugin to show you pending keybinds. + { + 'folke/which-key.nvim', + event = 'VeryLazy', -- Sets the loading event to 'VimEnter' + opts = { + -- delay between pressing a key and opening which-key (milliseconds) + -- this setting is independent of vim.o.timeoutlen + delay = 0, + icons = { + -- set icon mappings to true if you have a Nerd Font + mappings = vim.g.have_nerd_font, + -- If you are using a Nerd Font: set icons.keys to an empty table which will use the + -- default which-key.nvim defined Nerd Font icons, otherwise define a string table + keys = vim.g.have_nerd_font and {} or { + Up = '<Up> ', + Down = '<Down> ', + Left = '<Left> ', + Right = '<Right> ', + C = '<C-…> ', + M = '<M-…> ', + D = '<D-…> ', + S = '<S-…> ', + CR = '<CR> ', + Esc = '<Esc> ', + ScrollWheelDown = '<ScrollWheelDown> ', + ScrollWheelUp = '<ScrollWheelUp> ', + NL = '<NL> ', + BS = '<BS> ', + Space = '<Space> ', + Tab = '<Tab> ', + F1 = '<F1>', + F2 = '<F2>', + F3 = '<F3>', + F4 = '<F4>', + F5 = '<F5>', + F6 = '<F6>', + F7 = '<F7>', + F8 = '<F8>', + F9 = '<F9>', + F10 = '<F10>', + F11 = '<F11>', + F12 = '<F12>', + }, + }, + + -- Document existing key chains + spec = { + { '<leader>s', group = '[S]earch' }, + { '<leader>t', group = '[T]oggle' }, + { '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } }, + }, + }, + }, + { + 'folke/trouble.nvim', + opts = {}, -- for default options, refer to the configuration section for custom setup. + cmd = 'Trouble', + keys = { + { + '<leader>xx', + '<cmd>Trouble diagnostics toggle<cr>', + desc = 'Diagnostics (Trouble)', + }, + { + '<leader>xX', + '<cmd>Trouble diagnostics toggle filter.buf=0<cr>', + desc = 'Buffer Diagnostics (Trouble)', + }, + { + '<leader>cs', + '<cmd>Trouble symbols toggle focus=false<cr>', + desc = 'Symbols (Trouble)', + }, + { + '<leader>cl', + '<cmd>Trouble lsp toggle focus=false win.position=right<cr>', + desc = 'LSP Definitions / references / ... (Trouble)', + }, + { + '<leader>xL', + '<cmd>Trouble loclist toggle<cr>', + desc = 'Location List (Trouble)', + }, + { + '<leader>xQ', + '<cmd>Trouble qflist toggle<cr>', + desc = 'Quickfix List (Trouble)', + }, + }, + }, + { + 'catppuccin/nvim', + name = 'catppuccin', + priority = 1000, + event = 'VeryLazy', + opts = { + flavour = 'latte', + transparent_background = false, + integrations = { + blink_cmp = true, + cmp = false, + fidget = true, + mason = true, + gitsigns = true, + treesitter = true, + notify = false, + which_key = false, + mini = { + enabled = true, + indentscope_color = '', + }, + }, + }, + }, + { + 'stevearc/oil.nvim', + ---@module 'oil' + ---@type oil.SetupOpts + opts = {}, + -- Optional dependencies + dependencies = { { 'echasnovski/mini.icons', opts = {} } }, + -- dependencies = { "nvim-tree/nvim-web-devicons" }, -- use if you prefer nvim-web-devicons + -- Lazy loading is not recommended because it is very tricky to make it work correctly in all situations. + lazy = false, + }, + + -- Highlight todo, notes, etc in comments + { 'folke/todo-comments.nvim', event = 'VeryLazy', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } }, + + -- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec` + -- Or use telescope! + -- In normal mode type `<space>sh` then write `lazy.nvim-plugin` + -- you can continue same window with `<space>sr` which resumes last telescope search +} |