This is the first commit that actually adds files to the repo. Yes it's a bad commit but now the major features are here
149 lines
4.3 KiB
Lua
149 lines
4.3 KiB
Lua
-- Sherlock5512's plugin list
|
|
-- This is my opinionated choice of plugins
|
|
|
|
-- where are we going to install packer
|
|
local packer_install_path = vim.fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
|
|
local log = require('tjdevries/log')
|
|
|
|
-- Is packer installed?
|
|
if not vim.loop.fs_stat(packer_install_path) then
|
|
log.warn("Packer is not installed. Bootstrapping...")
|
|
if (vim.fn.executable("git") == 1 ) then -- only run if we have git
|
|
vim.fn.system({
|
|
'git',
|
|
'clone',
|
|
'--depth', '1',
|
|
'https://github.com/wbthomason/packer.nvim',
|
|
packer_install_path})
|
|
vim.cmd 'packadd packer.nvim'
|
|
Packer_bootstapping=true;
|
|
log.warn("Packer is now installed.\nPlease ignore any packer errors while plugins are installed")
|
|
else
|
|
log.error("Cannot find git, Packer installation failed")
|
|
end
|
|
end
|
|
|
|
return require('packer').startup(function(use)
|
|
use 'wbthomason/packer.nvim' -- Allow packer to update itself
|
|
|
|
-- Looks
|
|
use { 'ellisonleao/gruvbox.nvim' } -- Apparently has better tresitter support.
|
|
use { 'nvim-lualine/lualine.nvim', -- Awesome status line
|
|
requires = {{'nvim-tree/nvim-web-devicons'},-- With icons
|
|
{'sherlock5512/lualine-spell-status'}} -- And spell status
|
|
}
|
|
use {'akinsho/bufferline.nvim',
|
|
tag = "v3.*",
|
|
requires = 'nvim-tree/nvim-web-devicons'}
|
|
|
|
-- Features
|
|
use { 'nvim-neo-tree/neo-tree.nvim', -- file tree
|
|
branch = 'v2.x',
|
|
requires = {'nvim-lua/plenary.nvim',
|
|
'nvim-tree/nvim-web-devicons',
|
|
'munifTanjim/nui.nvim',
|
|
}
|
|
}
|
|
use { 'vimwiki/vimwiki' } -- Personal Wiki
|
|
use { 'folke/which-key.nvim' } -- Keybinds with documentation
|
|
use { 'rcarriga/nvim-notify' } -- Neater notifications
|
|
|
|
-- Commenting
|
|
use { 'scrooloose/nerdcommenter' } -- commenting done good
|
|
|
|
-- Completion
|
|
use { 'hrsh7th/nvim-cmp' } -- Completion engine
|
|
use { 'hrsh7th/cmp-buffer' } -- Completion source (Current buffer text)
|
|
use { 'hrsh7th/cmp-path' } -- Completion source (Paths)
|
|
use { 'hrsh7th/cmp-nvim-lsp' } -- Completion source (Language server)
|
|
use { 'hrsh7th/cmp-emoji' } -- Completion source (Emojis)
|
|
use { 'hrsh7th/cmp-cmdline' } -- Completion source (Commandline)
|
|
use { 'saadparwaiz1/cmp_luasnip' } --Completion source (snippets)
|
|
use { 'onsails/lspkind.nvim' } -- Completion formatter
|
|
|
|
-- Snippets
|
|
use { 'L3MON4D3/LuaSnip', -- Snippet engine
|
|
requires = 'rafamadriz/friendly-snippets' } -- Snippet library
|
|
|
|
-- Mason
|
|
use { 'williamboman/mason.nvim' } -- Manage: LSPs,DAPs,Linters,formatters
|
|
use { 'williamboman/mason-lspconfig.nvim',
|
|
requires = {
|
|
'neovim/nvim-lspconfig',
|
|
'williamboman/mason.nvim'}
|
|
}
|
|
use { 'jay-babu/mason-null-ls.nvim',
|
|
requires = {
|
|
'jose-elias-alvarez/null-ls.nvim',
|
|
'williamboman/mason.nvim'}
|
|
}
|
|
|
|
-- LSP tools
|
|
use {'glepnir/lspsaga.nvim', -- Interact with LSP a little easier
|
|
branch='main'
|
|
}
|
|
use {'j-hui/fidget.nvim'} -- Show LSP status
|
|
use {'folke/trouble.nvim', -- Show diagnostics in a window
|
|
requires = {'nvim-tree/nvim-web-devicons'}}
|
|
|
|
-- DAP
|
|
use {'jay-babu/mason-nvim-dap.nvim',
|
|
requires = {
|
|
'williamboman/mason.nvim',
|
|
'mfussenegger/nvim-dap'
|
|
}
|
|
}
|
|
use { "rcarriga/nvim-dap-ui",
|
|
requires = {"mfussenegger/nvim-dap"}
|
|
}
|
|
|
|
-- Tresitter
|
|
use {'nvim-treesitter/nvim-treesitter',
|
|
run = ':TSUpdate'
|
|
}
|
|
use {'p00f/nvim-ts-rainbow',
|
|
requires = 'nvim-treesitter/nvim-treesitter'}
|
|
use {'nvim-treesitter/nvim-treesitter-textobjects',
|
|
requires = 'nvim-treesitter/nvim-treesitter'}
|
|
use {'nvim-treesitter/playground',
|
|
requires = 'nvim-treesitter/nvim-treesitter'}
|
|
|
|
-- Focus Aids
|
|
use {'folke/zen-mode.nvim'}
|
|
use {'folke/twilight.nvim'}
|
|
|
|
-- Formatting
|
|
use {'mcauley-penney/tidy.nvim', -- simple plugin to remove trailing whitespace etc..
|
|
config = function()
|
|
require("tidy").setup()
|
|
end
|
|
}
|
|
use {'mhartington/formatter.nvim'}
|
|
|
|
-- Telescope
|
|
use {'nvim-telescope/telescope.nvim',
|
|
requires = {
|
|
'nvim-lua/plenary.nvim',
|
|
{'nvim-tree/nvim-web-devicons', opt = true},
|
|
{'nvim-treesitter/nvim-treesitter', opt = true}
|
|
}
|
|
}
|
|
use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make'}
|
|
|
|
-- Git integreations
|
|
use {'lewis6991/gitsigns.nvim',
|
|
config = function ()
|
|
require('gitsigns').setup()
|
|
end
|
|
}
|
|
|
|
-- Language / Project specific
|
|
use 'folke/neodev.nvim'
|
|
|
|
if Packer_bootstapping then
|
|
require('packer').sync() -- install plugins on first run
|
|
require('packer').compile() -- Compile packer loader.
|
|
log.warn("Plugins installed, Please restart neovim!")
|
|
end
|
|
end)
|