return { { 'rebelot/kanagawa.nvim', lazy = false, priority = 1000, config = function() vim.cmd('colorscheme kanagawa') end }, -- QUALITY OF LIFE INTEGRATIONS { 'tpope/vim-fugitive', }, { 'lewis6991/gitsigns.nvim', dependencies = { 'nvim-lua/plenary.nvim' }, config = function() require('plugin-config/gitsigns') end }, { -- colourise colour codes 'norcalli/nvim-colorizer.lua', lazy = false, opts = {} }, { -- Vim vinegar - better netrw 'stevearc/oil.nvim', opts = { float = { max_width = 80, max_height = 20, border = 'rounded', win_options = { winblend = 0, }, }, }, keys = { { '', 'lua require("oil").open_float()', desc = "Toggle Oil" }, }, -- Optional dependencies dependencies = { "nvim-tree/nvim-web-devicons" } }, { -- EPIC HARPOON MOMENT 'ThePrimeagen/harpoon', lazy = false, keys = { { 'hh', 'lua require("harpoon.ui").toggle_quick_menu()', desc = "Toggle harpoon menu" }, { 'hg', 'lua require("harpoon.mark").toggle_file() ', desc = "Add file to harpoon list" }, }, config = function() require('harpoon').setup({ tabline = true }) for pos = 1, 9 do vim.keymap.set("n", "" .. pos, function() require("harpoon.ui").nav_file(pos) end, { desc = "Move to harpoon mark #" .. pos }) end end }, { 'nvim-telescope/telescope.nvim', dependencies = { 'nvim-tree/nvim-web-devicons', 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope-ui-select.nvim', 'debugloop/telescope-undo.nvim', 'folke/todo-comments.nvim', 'kevinhwang91/nvim-bqf', }, config = function() require('plugin-config/telescope') require('todo-comments').setup({}) end }, { 'nvim-treesitter/nvim-treesitter-context', build = ':TSUpdate', dependencies = { 'nvim-treesitter/nvim-treesitter', }, config = function() require('plugin-config/nvim-treesitter') end }, { 'mrjones2014/smart-splits.nvim', config = function() require('plugin-config/smart-splits') end }, { 'folke/zen-mode.nvim', lazy = true, opts = {}, keys = { { 'z', 'lua require("zen-mode").toggle()', desc = "Toggle zen mode" }, }, }, { 'gorbit99/codewindow.nvim', lazy = false, opts = {}, config = function() require('codewindow').apply_default_keybinds() end }, { 'numToStr/Comment.nvim', opts = { padding = true, toggler = { line = 'cc', block = 'bb', }, opleader = { line = 'c', block = 'b', }, extra = { above = 'cO', below = 'co', eol = 'ca', }, mappings = { basic = true, extra = true, }, }, }, { 'glepnir/lspsaga.nvim', lazy = false, opts = { symbol_in_winbar = { enable = false, }, lightbulb = { enable = false, }, rename = { whole_project = false, } }, }, { 'ntpeters/vim-better-whitespace' }, { 'windwp/nvim-autopairs', opts = {}, }, -- VISUAL CHANGES { 'jovanlanik/fsplash.nvim', opts = { lines = { "▄▄▄▄· ▄▄▄ . ▐ ▄ ▌ ▐·▪ • ▌ ▄ ·. ", "▐█ ▀█▪▀▄.▀·•█▌▐█▪█·█▌██ ·██ ▐███▪", "▐█▀▀█▄▐▀▀▪▄▐█▐▐▌▐█▐█•▐█·▐█ ▌▐▌▐█·", "██▄▪▐█▐█▄▄▌██▐█▌ ███ ▐█▌██ ██▌▐█▌", "·▀▀▀▀ ▀▀▀ ▀▀ █▪. ▀ ▀▀▀▀▀ █▪▀▀▀", '', 'NVIM v' .. vim.version().major .. '.' .. vim.version().minor .. '.' .. vim.version().patch, 'Nvim is open Source and freely distributable', '', 'type :checkhealth to optimize Nvim', 'type :q to exit ', 'type :help for help ', '', 'type :help news to see changes in v' .. vim.version().major .. '.' .. vim.version().minor }, border = 'none', }, }, { 'lukas-reineke/indent-blankline.nvim', opts = { char = '│', filetype_exclude = { 'help', 'alpha', 'dashboard', 'neo-tree', 'Trouble', 'lazy' }, } }, { 'echasnovski/mini.indentscope', opts = { symbol = '│', options = { try_as_border = true }, }, }, { 'ecthelionvi/NeoColumn.nvim', opts = { NeoColumn = '80', always_on = true, }, }, { 'benkyd/nvim-hardline', opts = {}, }, -- FUNCTIONAL CODING STUFF { 'zbirenbaum/copilot.lua', event = 'InsertEnter', opts = { suggestion = { enabled = true, auto_trigger = true, keymap = { accept = '', } }, } }, { 'VonHeikemen/lsp-zero.nvim', branch = 'v1.x', dependencies = { -- LSP Support { 'neovim/nvim-lspconfig' }, { 'williamboman/mason.nvim' }, { 'williamboman/mason-lspconfig.nvim' }, { 'simrat39/rust-tools.nvim' }, -- Autocompletion { 'hrsh7th/nvim-cmp' }, { 'hrsh7th/cmp-nvim-lsp' }, { 'hrsh7th/cmp-nvim-lua' }, { 'hrsh7th/cmp-buffer' }, { 'hrsh7th/cmp-path' }, { 'hrsh7th/cmp-cmdline' }, { 'saadparwaiz1/cmp_luasnip' }, -- Snippets { 'L3MON4D3/LuaSnip' }, { 'rafamadriz/friendly-snippets' }, }, config = function() require('lsp-general') end }, { 'ray-x/lsp_signature.nvim', opts = { hint_prefix = '🚀' }, }, { url = 'https://git.sr.ht/~whynothugo/lsp_lines.nvim', config = function() require('lsp_lines').setup() vim.keymap.set('', 'x', function() local config = vim.diagnostic.config() vim.diagnostic.config({ virtual_text = not config.virtual_text, virtual_lines = not config.virtual_lines, }) end, { desc = 'Toggle Line Diagnostics' }) vim.diagnostic.config({ virtual_text = true, virtual_lines = false, }) end, } }