local ensure_packer = function() local fn = vim.fn local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) vim.cmd [[packadd packer.nvim]] return true end return false end local packer_bootstrap = ensure_packer() return require('packer').startup(function(use) use 'wbthomason/packer.nvim' use { 'williamboman/mason.nvim', run = ':MasonUpdate' -- :MasonUpdate updates registry contents } -- use 'NvChad/nvim-colorizer.lua' use 'uga-rosa/ccc.nvim' use 'windwp/nvim-autopairs' use 'nvim-tree/nvim-tree.lua' use 'nvim-tree/nvim-web-devicons' use 'williamboman/mason-lspconfig.nvim' use 'neovim/nvim-lspconfig' use {'akinsho/bufferline.nvim', tag = "*", requires = 'nvim-tree/nvim-web-devicons'} -- use {'neoclide/coc.nvim', branch = 'release'} -- Themes use 'folke/tokyonight.nvim' use 'shaunsingh/nord.nvim' use { "ellisonleao/gruvbox.nvim" } use 'numToStr/Comment.nvim' use 'mfussenegger/nvim-dap' use { "rcarriga/nvim-dap-ui", requires = {"mfussenegger/nvim-dap"}} use 'mfussenegger/nvim-lint' use 'mhartington/formatter.nvim' use 'nvim-lua/plenary.nvim' use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } use { 'nvim-telescope/telescope.nvim', tag = '0.1.5', requires = { {'nvim-lua/plenary.nvim'} } } use { 'nvim-treesitter/nvim-treesitter', run = ':TSUpdate', ensure_installed = 'all' } -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if packer_bootstrap then require('packer').sync() end -- mason setup require 'mason'.setup() -- colorizer setup -- require 'colorizer'.setup() -- comment.nvim for toggling line comments require 'Comment'.setup() -- ccc.nvim setup require 'ccc'.setup({ highlighter = { auto_enable = true, lsp = false, }, }) -- autopairs setup require 'nvim-autopairs'.setup() -- nvim-tree setup require 'nvim-tree'.setup() -- lspconfig require 'mason-lspconfig'.setup() require 'lspconfig'.cssls.setup{} require 'lspconfig'.jsonls.setup{} -- bufferline setup require 'bufferline'.setup() end)