diff --git a/home/.config/nvim/lua/plugins/init.lua b/home/.config/nvim/lua/plugins/init.lua index 3491a13b..39a1a6c8 100644 --- a/home/.config/nvim/lua/plugins/init.lua +++ b/home/.config/nvim/lua/plugins/init.lua @@ -3,191 +3,195 @@ local fn = vim.fn -- Install packer if it's not yet installed local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then - print('Installing Packer') - Packer_bootstrap = fn.system({ - 'git', 'clone', '--depth', '1', - 'https://github.com/wbthomason/packer.nvim', install_path - }) - vim.cmd [[packadd packer.nvim]] - print('Installed Packer') + print('Installing Packer') + Packer_bootstrap = fn.system({ + 'git', 'clone', '--depth', '1', + 'https://github.com/wbthomason/packer.nvim', install_path + }) + vim.cmd [[packadd packer.nvim]] + print('Installed Packer') end -- Configure packer require('packer').startup(function() - local use = require('packer').use + local use = require('packer').use - -- The plugin manager itself - use {'wbthomason/packer.nvim'} + -- The plugin manager itself + use { 'wbthomason/packer.nvim' } - -- Colorscheme - use { - 'FunctionalHacker/pywal.nvim', - config = function() require('pywal').setup() end - } + -- Colorscheme + use { + 'FunctionalHacker/pywal.nvim', + config = function() require('pywal').setup() end + } - -- Statusline - use { - 'nvim-lualine/lualine.nvim', - requires = {'kyazdani42/nvim-web-devicons', opt = true}, - config = require('plugins.lualine') - } + -- Statusline + use { + 'nvim-lualine/lualine.nvim', + requires = { 'kyazdani42/nvim-web-devicons', opt = true }, + config = require('plugins.lualine') + } - -- Startup screen/dashboard - use 'glepnir/dashboard-nvim' + -- Startup screen/dashboard + use 'glepnir/dashboard-nvim' - -- Git in signcolumn - use 'airblade/vim-gitgutter' + -- Git in signcolumn + use 'airblade/vim-gitgutter' - -- Tabline/bufferline - use { - 'akinsho/nvim-bufferline.lua', - tag = '*', - requires = 'kyazdani42/nvim-web-devicons', - config = function() require('bufferline').setup {} end - } + -- Tabline/bufferline + use { + 'akinsho/nvim-bufferline.lua', + tag = '*', + requires = 'kyazdani42/nvim-web-devicons', + config = function() require('bufferline').setup {} end + } - -- Git commands - use 'tpope/vim-fugitive' + -- Git commands + use 'tpope/vim-fugitive' - -- Indent characters - use { - 'lukas-reineke/indent-blankline.nvim', - config = require('plugins.indent-blankline') - } + -- Indent characters + use { + 'lukas-reineke/indent-blankline.nvim', + config = require('plugins.indent-blankline') + } - -- Tree explorer - use { - 'kyazdani42/nvim-tree.lua', - requires = 'kyazdani42/nvim-web-devicons', - config = require('plugins.nvim-tree') - } + -- Tree explorer + use { + 'kyazdani42/nvim-tree.lua', + requires = 'kyazdani42/nvim-web-devicons', + config = require('plugins.nvim-tree') + } - -- Telescope - use { - 'nvim-telescope/telescope.nvim', - config = require('plugins.telescope'), - requires = { - {'nvim-lua/plenary.nvim'}, -- Internal dep for telescope - {'nvim-telescope/telescope-fzf-native.nvim', run = 'make'}, -- Use fzf for fuzzy finder - {'nvim-telescope/telescope-ui-select.nvim'} -- Replace vim built in select with telescope - } - } + -- Telescope + use { + 'nvim-telescope/telescope.nvim', + config = require('plugins.telescope'), + requires = { + { 'nvim-lua/plenary.nvim' }, -- Internal dep for telescope + { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }, -- Use fzf for fuzzy finder + { 'nvim-telescope/telescope-ui-select.nvim' } -- Replace vim built in select with telescope + } + } - -- Do stuff as sudo - use 'lambdalisue/suda.vim' + -- Do stuff as sudo + use 'lambdalisue/suda.vim' - -- Display possible keybinds - use {'folke/which-key.nvim', config = require('plugins.which-key')} + -- Display possible keybinds + use { 'folke/which-key.nvim', config = require('plugins.which-key') } - -- Read editorconfig settings - use 'editorconfig/editorconfig-vim' + -- Read editorconfig settings + use 'editorconfig/editorconfig-vim' - -- Package manager for LSP servers, DAP servers etc. - use {'williamboman/mason.nvim', config = require('plugins.mason').setup} + -- Package manager for LSP servers, DAP servers etc. + use { 'williamboman/mason.nvim', config = require('plugins.mason').setup } - -- Install LSP server executables with Mason - use { - 'williamboman/mason-lspconfig.nvim', - config = require('plugins.mason').lspconfig_setup - } + -- Install LSP server executables with Mason + use { + 'williamboman/mason-lspconfig.nvim', + config = require('plugins.mason').lspconfig_setup + } - -- Configs for built-in LSP - use {'neovim/nvim-lspconfig', config = require('plugins.lspconfig').setup} + -- Configs for built-in LSP + use { 'neovim/nvim-lspconfig', config = require('plugins.lspconfig').setup } - -- Additional LSP features for Java - use 'mfussenegger/nvim-jdtls' + -- Additional LSP features for Java + use 'mfussenegger/nvim-jdtls' - -- Display function signature - use 'ray-x/lsp_signature.nvim' + -- Display function signature + use 'ray-x/lsp_signature.nvim' - -- Snippets plugin - use { - 'L3MON4D3/LuaSnip', - requires = {'rafamadriz/friendly-snippets'}, -- Snippets collection - config = require('plugins.luasnip') - } + -- Snippets plugin + use { + 'L3MON4D3/LuaSnip', + requires = { 'rafamadriz/friendly-snippets' }, -- Snippets collection + config = require('plugins.luasnip') + } - -- vim api documentation for lua lsp - use {'ii14/emmylua-nvim'} + -- vim api documentation for lua lsp + use { 'ii14/emmylua-nvim' } - -- Completion - use { - 'hrsh7th/nvim-cmp', - requires = { - {'hrsh7th/cmp-buffer'}, -- Buffer source - {'petertriho/cmp-git', requires = "nvim-lua/plenary.nvim"}, -- Git source - {'hrsh7th/cmp-nvim-lsp'}, -- LSP source - {'hrsh7th/cmp-nvim-lua'}, -- Neovim Lua API documentation source - {'hrsh7th/cmp-path'}, -- Path source - {'saadparwaiz1/cmp_luasnip'} -- Snippets source - }, - config = require('plugins.cmp') - } + -- Completion + use { + 'hrsh7th/nvim-cmp', + requires = { + { 'hrsh7th/cmp-buffer' }, -- Buffer source + { 'petertriho/cmp-git', requires = "nvim-lua/plenary.nvim" }, -- Git source + { 'hrsh7th/cmp-nvim-lsp' }, -- LSP source + { 'hrsh7th/cmp-nvim-lua' }, -- Neovim Lua API documentation source + { 'hrsh7th/cmp-path' }, -- Path source + { 'saadparwaiz1/cmp_luasnip' } -- Snippets source + }, + config = require('plugins.cmp') + } - -- Automatic brackets - use { - 'windwp/nvim-autopairs', - config = function() require('nvim-autopairs').setup {} end - } + -- Automatic brackets + use { + 'windwp/nvim-autopairs', + config = function() require('nvim-autopairs').setup {} end + } - -- treesitter - use { - 'nvim-treesitter/nvim-treesitter', - run = function() - require('nvim-treesitter.install').update({with_sync = true}) - end, - config = require('plugins.treesitter') - } + -- treesitter + use { + 'nvim-treesitter/nvim-treesitter', + run = function() + require('nvim-treesitter.install').update({ with_sync = true }) + end, + config = require('plugins.treesitter') + } - -- treesitter plugin for commentstring - use 'JoosepAlviste/nvim-ts-context-commentstring' + -- treesitter plugin for commentstring + use 'JoosepAlviste/nvim-ts-context-commentstring' - -- Additional plugins for formats not supported - -- by treesitter - use 'jamespeapen/swayconfig.vim' + -- Additional plugins for formats not supported + -- by treesitter + use 'jamespeapen/swayconfig.vim' - -- mappings for commenting in code - use 'tpope/vim-commentary' + -- mappings for commenting in code + use 'tpope/vim-commentary' - -- we all know this one - use 'tpope/vim-surround' + -- we all know this one + use 'tpope/vim-surround' - -- Formatter plugin - use 'sbdchd/neoformat' + -- Formatter plugin + use 'sbdchd/neoformat' - -- Make editing passwords safer - use { - 'https://git.zx2c4.com/password-store', - rtp = 'contrib/vim/redact_pass.vim' - } + -- Make editing passwords safer + use { + 'https://git.zx2c4.com/password-store', + rtp = 'contrib/vim/redact_pass.vim' + } - -- Neovim inside Firefox - use { - 'glacambre/firenvim', - run = function() vim.fn['firenvim#install'](0) end - } + -- Neovim inside Firefox + use { + 'glacambre/firenvim', + run = function() vim.fn['firenvim#install'](0) end + } - -- Vim <3 Asciidoctor - use 'habamax/vim-asciidoctor' + -- Vim <3 Asciidoctor + use 'habamax/vim-asciidoctor' - -- Edit GPG encrypted files transparently - use 'jamessan/vim-gnupg' + -- Markdown preview plugin + use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install", + setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, }) - -- High performance color highlighter - use { - 'norcalli/nvim-colorizer.lua', - config = function() require('colorizer').setup() end - } + -- Edit GPG encrypted files transparently + use 'jamessan/vim-gnupg' - -- If Packer was just installed, - -- sync plugins - if Packer_bootstrap then require('packer').sync() end + -- High performance color highlighter + use { + 'norcalli/nvim-colorizer.lua', + config = function() require('colorizer').setup() end + } + + -- If Packer was just installed, + -- sync plugins + if Packer_bootstrap then require('packer').sync() end end) -- Sync plugins if Packer was just -- installed if Packer_bootstrap then - print('Syncing plugins') - require('packer').sync() + print('Syncing plugins') + require('packer').sync() end