local packer = nil local function init() if packer == nil then packer = require 'packer' packer.init { disable_commands = true } end local use = packer.use packer.reset() -- Packer can manage itself use 'wbthomason/packer.nvim' -- nvim-mapper to explore mappings use { "lazytanuki/nvim-mapper", config = function() require("nvim-mapper").setup{} end, before = "telescope.nvim" } -- telescope.nvim use { 'nvim-telescope/telescope.nvim', requires = {{'nvim-lua/popup.nvim'}, {'nvim-lua/plenary.nvim'}}, config = function() require("telescope").load_extension("mapper") end } -- Highlight use { 'nvim-treesitter/nvim-treesitter', requires = { 'nvim-treesitter/nvim-treesitter-refactor', 'nvim-treesitter/nvim-treesitter-textobjects', }, run = ':TSUpdate', } -- Colortheme -- use 'rktjmp/lush.nvim' -- use 'alaric/nortia.nvim' -- use 'morhetz/gruvbox' -- use 'vim-airline/vim-airline' -- use 'vim-airline/vim-airline-themes' -- use 'projekt0n/github-nvim-theme' use 'folke/tokyonight.nvim' use { 'hoob3rt/lualine.nvim', requires = {'kyazdani42/nvim-web-devicons', opt = true} } -- Coc use { 'neoclide/coc.nvim', branch = 'master', run = 'yarn install --frozen-lockfile', } -- Wrapping/delimiters use 'andymass/vim-matchup' use 'machakann/vim-sandwich' -- Undo tree use 'mbbill/undotree' -- LSP stuff use 'neovim/nvim-lspconfig' -- Split maximizer use 'szw/vim-maximizer' -- Auto pair use 'jiangmiao/auto-pairs' -- Nginx syntax use 'chr4/nginx.vim' -- Zig syntax use 'ziglang/zig.vim' end local plugins = setmetatable({}, { __index = function(_, key) init() return packer[key] end, }) return plugins