diff --git a/lua/sherlock5512/plugins.lua b/lua/sherlock5512/plugins.lua index 987e653..23227de 100644 --- a/lua/sherlock5512/plugins.lua +++ b/lua/sherlock5512/plugins.lua @@ -13,19 +13,110 @@ end return require('packer').startup(function(use) use 'wbthomason/packer.nvim' -- allow packer to update itself - -- Lualine over airline for now + ------------------------- + -- Appearance + ------------------------- + use 'morhetz/gruvbox' -- my favourite colourscheme use { - 'nvim-lualine/lualine.nvim', - requires = {'kyazdani42/nvim-web-devicons', opt = true} + 'nvim-lualine/lualine.nvim', -- nice status line + requires = {'kyazdani42/nvim-web-devicons', opt = true} -- allow for nice icons } - - use 'morhetz/gruvbox' + use 'sherlock5512/lualine-spell-status' -- my own lualine component + use 'arkav/lualine-lsp-progress' -- LSP progress for lualine (CURRENTLY NOT SURE IF THIS EVEN WORKS) + + ------------------------- + -- New Features + ------------------------- use { - 'ms-jpq/chadtree', - run = - function() - _ = vim.fn.system({'python3' , '-m' , 'chadtree' , 'deps'}) - vim.fn[CHADdeps](0) + 'ms-jpq/chadtree', -- equivalent to NERDTree but faster and better looking + run = + function() + vim.cmd('CHADdeps') -- ensure updates have the correct dependencies + end + } + use "vimwiki/vimwiki" + + ------------------------- + -- Editing Enhancements + ------------------------- + + ------------------------- + -- EE - Commenting + ------------------------- + use 'scrooloose/nerdcommenter' + + ------------------------- + -- EE - Completion + ------------------------- + use "hrsh7th/nvim-cmp" -- completion engine + use "hrsh7th/cmp-buffer" -- completion source + use "hrsh7th/cmp-path" -- completion source + use "hrsh7th/cmp-nvim-lua" -- completion source + use "hrsh7th/cmp-nvim-lsp" -- completion source + use "tamago324/cmp-zsh" -- completion source + use 'onsails/lspkind.nvim' -- completion list formatter + + ------------------------- + -- EE - Snippets + ------------------------- + -- This is a complex block due to the load ordering + use "saadparwaiz1/cmp_luasnip" -- completion source for snippets + use {'L3MON4D3/LuaSnip', + after = 'friendly-snippets', + } + use 'rafamadriz/friendly-snippets' -- snippet library + + ------------------------- + -- EE - Linting & Debugging + ------------------------- + use 'williamboman/nvim-lsp-installer' -- Install available LSP servers + use 'neovim/nvim-lspconfig' -- Easy config for LSP + use {'glepnir/lspsaga.nvim', + branch = "main", + } + + ------------------------- + -- EE - Syntax Highlighting + ------------------------- + use { + 'nvim-treesitter/nvim-treesitter', -- treesitter for nicer highlights + run = ':TSUpdate' + } + use 'p00f/nvim-ts-rainbow' + use { + 'lewis6991/spellsitter.nvim', -- fix spell + config = function() + require('spellsitter').setup() + end, + after = 'nvim-treesitter' + } + + ------------------------- + -- EE - Focus aids + ------------------------- + use 'folke/zen-mode.nvim' + use 'folke/twilight.nvim' + + ------------------------- + -- Telescope + ------------------------- + use { + 'nvim-telescope/telescope.nvim', + requires = { + {'nvim-lua/plenary.nvim'}, + {'kyazdani42/nvim-web-devicons', opt = true}, + {'nvim-treesitter/nvim-treesitter', opt = true} + } + } + use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' } + + ------------------------ + -- Git Integrations + ------------------------ + use { + 'lewis6991/gitsigns.nvim', + config = function() + require('gitsigns').setup() end }