return require('packer').startup(function() -- automatic rebuild on plugins.lua change vim.cmd([[ augroup packer_user_config autocmd! autocmd BufWritePost plugins.lua source | PackerCompile augroup end ]]) use 'wbthomason/packer.nvim' use 'RRethy/nvim-base16' use 'tpope/vim-commentary' use { 'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', opt = true }, config = function() local git_blame = require('gitblame') require('lualine').setup({ sections = { lualine_c = { { git_blame.get_current_blame_text, cond = git_blame.is_blame_text_available } } } }) vim.o.showmode = false end } use { 'junegunn/goyo.vim', config = function() vim.keymap.set('n', 'f', ':lua goyo_toggle():Goyo') end } -- Git use { 'f-person/git-blame.nvim', config = function() vim.g.gitblame_date_format = '%r' vim.g.gitblame_message_when_not_committed = '' vim.g.gitblame_display_virtual_text = 0 end } use { 'lewis6991/gitsigns.nvim', config = function() require('gitsigns').setup() end } -- completion use 'hrsh7th/nvim-cmp' use 'hrsh7th/cmp-buffer' use 'hrsh7th/cmp-path' use 'hrsh7th/cmp-cmdline' use 'saadparwaiz1/cmp_luasnip' -- snippets use 'L3MON4D3/LuaSnip' use 'rafamadriz/friendly-snippets' -- emmet use 'mattn/emmet-vim' -- LSP use 'neovim/nvim-lspconfig' -- LSP, DAP, linters and formatters -- use 'jose-elias-alvarez/null-ls.nvim' use { 'dense-analysis/ale', config = function() vim.cmd [[ g:ale_sign_column_always = 1 ]] end } -- management for LSP, DAP, linters and formatters use { 'williamboman/mason.nvim', config = function() require('mason').setup({ ui = { icons = { package_installed = "✓", package_pending = "➜", package_uninstalled = "✗" } } }) end } use 'williamboman/mason-lspconfig.nvim' end)