-- Author : swytch -- Created : Friday Mar 12, 2021 22:28:34 CET -- License : GPLv3 -- Description : neovim packer config file local install_path = vim.fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if vim.fn.empty(vim.fn.glob(install_path)) > 0 then print("Cloning packer...") PACKER_BOOTSTRAP = vim.fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path, }) vim.cmd([[packadd packer.nvim]]) print("Done.") end local packer = require("packer") packer.init({ display = { working_sym = ' ', -- The symbol for a plugin being installed/updated error_sym = ' ', -- The symbol for a plugin with an error in installation/updating done_sym = ' ', -- The symbol for a plugin which has completed installation/updating removed_sym = '- ', -- The symbol for an unused plugin which was removed moved_sym = '→ ', -- The symbol for a plugin which was moved (e.g. from opt to start) header_sym = '━ ', -- The symbol for the header line in packer's display open_fn = function() return require('packer.util').float({ border = "single" }) end, -- Display in a floating window }, }) local use = packer.use return require("packer").startup(function() -- packer manages itself use "wbthomason/packer.nvim" -- colorscheme use { "~/.local/src/astronomy.nvim", config = function() require("colorscheme") end } -- tree-sitter use { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate", config = function() require("plugin.treesitter") end } use { -- Additional text objects via treesitter 'nvim-treesitter/nvim-treesitter-textobjects', after = 'nvim-treesitter', } -- telescope use { "nvim-telescope/telescope.nvim", requires = { { "nvim-lua/plenary.nvim", }, { "nvim-telescope/telescope-fzf-native.nvim", run = "make" }, { "nvim-telescope/telescope-file-browser.nvim", } }, config = function() require("telescope") require("telescope").load_extension("fzf") require("telescope").load_extension("file_browser") end } -- LSP use { "neovim/nvim-lspconfig", requires = { "williamboman/mason.nvim", "williamboman/mason-lspconfig.nvim", }, config = function() require("plugin.lsp") end } -- auto completion use { "hrsh7th/nvim-cmp", requires = { { "L3MON4D3/LuaSnip", config = function() require("plugin.luasnip") end }, "saadparwaiz1/cmp_luasnip", "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-nvim-lua", "hrsh7th/cmp-buffer", "hrsh7th/cmp-path", "hrsh7th/cmp-calc", "ray-x/cmp-treesitter", "f3fora/cmp-spell", }, config = function() require("plugin.cmp") end } -- commenting, simplified use { "numToStr/Comment.nvim", config = function() require("plugin.comment") end } -- automatically setup the config after cloning if PACKER_BOOTSTRAP then require("packer").sync() end end)