return require("packer").startup(function(use) use("wbthomason/packer.nvim") -- Colorschemes use({ "ayu-theme/ayu-vim" }) use({ "ghifarit53/tokyonight-vim" }) use({ "NLKNguyen/papercolor-theme" }) -- Treesitter use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) use({ "p00f/nvim-ts-rainbow" }) use({ "windwp/nvim-ts-autotag" }) use({ "JoosepAlviste/nvim-ts-context-commentstring" }) use({ "nvim-treesitter/playground" }) -- Make commenting code great use({ "tpope/vim-commentary" }) -- File tree use({ "kyazdani42/nvim-tree.lua", requires = { "kyazdani42/nvim-web-devicons" } }) -- Telescope use({ "nvim-telescope/telescope.nvim", requires = { "nvim-lua/plenary.nvim" } }) use({ "nvim-telescope/telescope-symbols.nvim" }) -- Automatically close brackets and quotes use({ "windwp/nvim-autopairs" }) -- LSP use({ "neovim/nvim-lspconfig", "williamboman/nvim-lsp-installer", "onsails/lspkind-nvim" }) use({ "hrsh7th/nvim-cmp", requires = { "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", "hrsh7th/cmp-path", "hrsh7th/cmp-cmdline", "hrsh7th/cmp-nvim-lua", "saadparwaiz1/cmp_luasnip" }}) -- Snippets use({ "L3MON4D3/LuaSnip" }) use({ "rafamadriz/friendly-snippets" }) -- Signature like in vscode use({ "ray-x/lsp_signature.nvim" }) -- Tabs use({ "akinsho/bufferline.nvim", requires = { "kyazdani42/nvim-web-devicons" } }) -- Terminal use({ "caenrique/nvim-toggle-terminal" }) -- Statusline use({ "nvim-lualine/lualine.nvim", requires = { "kyazdani42/nvim-web-devicons", opt = true } }) -- Git use({ "lewis6991/gitsigns.nvim", requires = { "nvim-lua/plenary.nvim" } }) use({ "tpope/vim-fugitive" }) -- TODO: Read documentation for github.com/sindrets/diffview.nvim use({ "sindrets/diffview.nvim", requires = "nvim-lua/plenary.nvim", config = function () require("diffview").setup({ }) end }) use({ "fatih/vim-go", ft = { "go", "gomod" } }) use({ "iamcco/markdown-preview.nvim", run = "cd app && yarn install" }) -- Highlight colors in editor use({ "norcalli/nvim-colorizer.lua" }) -- Show indent lines use({ "lukas-reineke/indent-blankline.nvim", config = function () vim.cmd("let g:indent_blankline_filetype_exclude = ['help']") require("indent_blankline").setup({ char = "|", buftype_exclude = { "terminal" }, }) end }) -- Fast movement use({ "ggandor/lightspeed.nvim", config = function () require("lightspeed").setup() end }) -- Window management use({ "sindrets/winshift.nvim", config = function () require("winshift").setup({ highlight_moving_win = true, window_picker_ignore = { filetype = { "NvimTree" }, buftype = { "terminal" } } }) end }) use({ "mizlan/iswap.nvim" }) end)