From 7e4bc844b9450e2c3e1fe4c7be77e426f3213eab Mon Sep 17 00:00:00 2001 From: Philipp Szechenyi <45265588+szechp@users.noreply.github.com> Date: Fri, 10 Feb 2023 12:20:52 +0100 Subject: [PATCH] changed from packer to lazy --- init.lua | 110 ++++++++++++++++++++----------------------------------- 1 file changed, 39 insertions(+), 71 deletions(-) diff --git a/init.lua b/init.lua index ac291dad..da4d616b 100644 --- a/init.lua +++ b/init.lua @@ -1,19 +1,27 @@ --- Install packer -local install_path = vim.fn.stdpath 'data' .. '/site/pack/packer/start/packer.nvim' -local is_bootstrap = false -if vim.fn.empty(vim.fn.glob(install_path)) > 0 then - is_bootstrap = true - vim.fn.system { 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path } - vim.cmd [[packadd packer.nvim]] +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) end +vim.opt.rtp:prepend(lazypath) -require('packer').startup(function(use) - -- Package manager - use 'wbthomason/packer.nvim' +-- [[ Basic Keymaps ]] +-- Set as the leader key +-- See `:help mapleader` +-- NOTE: Must happen before plugins are required (otherwise wrong leader will be used) +vim.g.mapleader = ' ' +vim.g.maplocalleader = ' ' - use { -- LSP Configuration & Plugins +require('lazy').setup({ + { -- LSP Configuration & Plugins 'neovim/nvim-lspconfig', - requires = { + dependencies = { -- Automatically install LSPs to stdpath for neovim 'williamboman/mason.nvim', 'williamboman/mason-lspconfig.nvim', @@ -24,72 +32,39 @@ require('packer').startup(function(use) -- Additional lua configuration, makes nvim stuff amazing 'folke/neodev.nvim', }, - } + }, - use { -- Autocompletion + { -- Autocompletion 'hrsh7th/nvim-cmp', - requires = { 'hrsh7th/cmp-nvim-lsp', 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip' }, - } + dependencies = { 'hrsh7th/cmp-nvim-lsp', 'L3MON4D3/LuaSnip', 'saadparwaiz1/cmp_luasnip' }, + }, - use { -- Highlight, edit, and navigate code + { -- Highlight, edit, and navigate code 'nvim-treesitter/nvim-treesitter', - run = function() + build = function() pcall(require('nvim-treesitter.install').update { with_sync = true }) end, - } - - use { -- Additional text objects via treesitter + dependencies = { 'nvim-treesitter/nvim-treesitter-textobjects', - after = 'nvim-treesitter', - } + } + }, -- Git related plugins - use 'tpope/vim-fugitive' - use 'tpope/vim-rhubarb' - use 'lewis6991/gitsigns.nvim' + 'tpope/vim-fugitive', + 'tpope/vim-rhubarb', + 'lewis6991/gitsigns.nvim', - use 'navarasu/onedark.nvim' -- Theme inspired by Atom - use 'nvim-lualine/lualine.nvim' -- Fancier statusline - use 'lukas-reineke/indent-blankline.nvim' -- Add indentation guides even on blank lines - use 'numToStr/Comment.nvim' -- "gc" to comment visual regions/lines - use 'tpope/vim-sleuth' -- Detect tabstop and shiftwidth automatically + 'navarasu/onedark.nvim', -- Theme inspired by Atom + 'nvim-lualine/lualine.nvim', -- Fancier statusline + 'lukas-reineke/indent-blankline.nvim', -- Add indentation guides even on blank lines + 'numToStr/Comment.nvim', -- "gc" to comment visual regions/lines + 'tpope/vim-sleuth', -- Detect tabstop and shiftwidth automatically -- Fuzzy Finder (files, lsp, etc) - use { 'nvim-telescope/telescope.nvim', branch = '0.1.x', requires = { 'nvim-lua/plenary.nvim' } } + { 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim' } }, -- Fuzzy Finder Algorithm which requires local dependencies to be built. Only load if `make` is available - use { 'nvim-telescope/telescope-fzf-native.nvim', run = 'make', cond = vim.fn.executable 'make' == 1 } - - -- Add custom plugins to packer from ~/.config/nvim/lua/custom/plugins.lua - local has_plugins, plugins = pcall(require, 'custom.plugins') - if has_plugins then - plugins(use) - end - - if is_bootstrap then - require('packer').sync() - end -end) - --- When we are bootstrapping a configuration, it doesn't --- make sense to execute the rest of the init.lua. --- --- You'll need to restart nvim, and then it will work. -if is_bootstrap then - print '==================================' - print ' Plugins are being installed' - print ' Wait until Packer completes,' - print ' then restart nvim' - print '==================================' - return -end - --- Automatically source and re-compile packer whenever you save this init.lua -local packer_group = vim.api.nvim_create_augroup('Packer', { clear = true }) -vim.api.nvim_create_autocmd('BufWritePost', { - command = 'source | silent! LspStop | silent! LspStart | PackerCompile', - group = packer_group, - pattern = vim.fn.expand '$MYVIMRC', + { 'nvim-telescope/telescope-fzf-native.nvim', build = 'make', cond = vim.fn.executable 'make' == 1 }, }) -- [[ Setting options ]] @@ -125,13 +100,6 @@ vim.cmd [[colorscheme onedark]] -- Set completeopt to have a better completion experience vim.o.completeopt = 'menuone,noselect' --- [[ Basic Keymaps ]] --- Set as the leader key --- See `:help mapleader` --- NOTE: Must happen before plugins are required (otherwise wrong leader will be used) -vim.g.mapleader = ' ' -vim.g.maplocalleader = ' ' - -- Keymaps for better default experience -- See `:help vim.keymap.set()` vim.keymap.set({ 'n', 'v' }, '', '', { silent = true })