aboutsummaryrefslogtreecommitdiff
path: root/dot_config/nvim/lua/plugins/init.lua
diff options
context:
space:
mode:
Diffstat (limited to 'dot_config/nvim/lua/plugins/init.lua')
-rw-r--r--dot_config/nvim/lua/plugins/init.lua156
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
+}