-- This file can be loaded by calling `lua require('plugins')` from your init.vim

-- Only required if you have packer configured as `opt`
vim.cmd [[packadd packer.nvim]]

return require('packer').startup(function(use)
	-- Packer can manage itself
	use 'wbthomason/packer.nvim'

		use {
			'nvim-telescope/telescope.nvim', tag = '0.1.2',
			-- or                            , branch = '0.1.x',
			requires = { { 'nvim-lua/plenary.nvim' } }
		}
	
		use({ 'rose-pine/neovim', as = 'rose-pine' })
		use({ 'ellisonleao/gruvbox.nvim', as = 'gruvbox' })
		use({ 'patstockwell/vim-monokai-tasty', as = 'monokai' })
	
		use('nvim-treesitter/nvim-treesitter', { run = ':TSUpdate' })
		use('nvim-treesitter/playground')
		use('ThePrimeagen/harpoon')
		use('mbbill/undotree')
		use('tpope/vim-fugitive')
		use('vim-airline/vim-airline')
		use('vim-airline/vim-airline-themes')
		use('cacharle/c_formatter_42.vim')
		-- use('m4xshen/autoclose.nvim')
		use('takac/vim-hardtime')
		use({
			'VonHeikemen/lsp-zero.nvim',
			branch = 'v2.x',
			requires = {
				-- LSP Support
				{ 'neovim/nvim-lspconfig' }, -- Required
				{                   -- Optional
					'williamboman/mason.nvim',
					run = function()
						pcall(vim.api.nvim_command, 'MasonUpdate')
					end,
				},
				{ 'williamboman/mason-lspconfig.nvim' }, -- Optional
	
				-- Autocompletion
				{ 'hrsh7th/nvim-cmp' }, -- Required
				{ 'hrsh7th/cmp-nvim-lsp' }, -- Required
				{ 'L3MON4D3/LuaSnip' }, -- Required
			}
		})
		use({
			'vinicius507/norme.nvim',
			requires = { 'jose-elias-alvarez/null-ls.nvim' }
		})
end)
