151 lines
3.8 KiB
Lua
151 lines
3.8 KiB
Lua
-- Grab Packer. (This should be OS agnostic)
|
|
-- by Iron-E and khuedoan on GitHub
|
|
local fn = vim.fn
|
|
local install_path = vim.fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
|
|
|
|
if not vim.loop.fs_stat(install_path) then
|
|
if not fn.executable("git") == 1 then
|
|
print("Could not find git. Packer installation failed.")
|
|
return
|
|
end
|
|
Packer_bootstrap = fn.system({
|
|
'git',
|
|
'clone',
|
|
'--depth',
|
|
'1',
|
|
'https://github.com/wbthomason/packer.nvim',
|
|
install_path
|
|
})
|
|
vim.cmd 'packadd packer.nvim'
|
|
end
|
|
|
|
return require('packer').startup(function()
|
|
-- get Packer to manage itself
|
|
use 'wbthomason/packer.nvim'
|
|
use 'morhetz/gruvbox' -- Neovim editor theme (gruvbox MVP)
|
|
use 'williamboman/mason.nvim' -- better lspconfig interface
|
|
use {
|
|
'williamboman/mason-lspconfig.nvim',
|
|
requires = {
|
|
'neovim/nvim-lspconfig', -- Configurations for Nvim LSP
|
|
'williamboman/mason.nvim'
|
|
}
|
|
}
|
|
|
|
use {
|
|
'jay-babu/mason-null-ls.nvim',
|
|
requires = {
|
|
'jose-elias-alvarez/null-ls.nvim',
|
|
'williamboman/mason.nvim'
|
|
}
|
|
}
|
|
|
|
use {
|
|
'jay-babu/mason-nvim-dap.nvim',
|
|
requires = {
|
|
'williamboman/mason.nvim',
|
|
'mfussenegger/nvim-dap'
|
|
}
|
|
}
|
|
use {
|
|
'rcarriga/nvim-dap-ui',
|
|
requires = {
|
|
"mfussenegger/nvim-dap"
|
|
}
|
|
}
|
|
|
|
|
|
--[[ use {
|
|
'gleinir/lspsaga.nvim',-- Interact with LSP a little easier
|
|
branch='main'
|
|
}
|
|
--]]
|
|
|
|
-- learn this
|
|
use 'tpope/vim-surround'
|
|
-- differentiate brackets
|
|
use 'luochen1990/rainbow'
|
|
-- File tree
|
|
use 'preservim/nerdtree'
|
|
-- Distraction free writing
|
|
use 'junegunn/goyo.vim'
|
|
-- The Best Thing EVER
|
|
use 'vimwiki/vimwiki'
|
|
-- Eyecandy lbh
|
|
use 'bling/vim-airline'
|
|
-- better comments
|
|
use 'scrooloose/nerdcommenter'
|
|
-- Show colours
|
|
use 'ap/vim-css-color'
|
|
-- Add snippets
|
|
use 'honza/vim-snippets'
|
|
-- highlight matching html tags
|
|
use 'valloric/matchtagalways'
|
|
-- Syntax highlighting extension
|
|
use 'sheerun/vim-polyglot'
|
|
-- Autocomplete brackets and punctutation
|
|
use 'jiangmiao/auto-pairs'
|
|
-- Debug Adaptor Protocol (added for mason.nvim), and null-ls for linter and formatting
|
|
use 'mfussenegger/nvim-dap'
|
|
use 'jose-elias-alvarez/null-ls.nvim'
|
|
|
|
-- treesitter
|
|
use {
|
|
'nvim-treesitter/nvim-treesitter',
|
|
run = function()
|
|
local ts_update = require('nvim-treesitter.install').update({ with_sync = true })
|
|
ts_update()
|
|
end,
|
|
}
|
|
|
|
-- Live Preview of MD
|
|
use {
|
|
"iamcco/markdown-preview.nvim",
|
|
run = "cd app && npm install",
|
|
setup = function() vim.g.mkdp_filetypes = { "markdown" } end,
|
|
ft = { "markdown" },
|
|
}
|
|
|
|
use 'rbgrouleff/bclose.vim'
|
|
-- Telescope dependencies and entry
|
|
use {
|
|
{
|
|
'nvim-telescope/telescope-fzf-native.nvim',
|
|
run = 'make',
|
|
},
|
|
{
|
|
'nvim-telescope/telescope.nvim',
|
|
branch = '0.1.x',
|
|
requires = { {'nvim-lua/plenary.nvim'} }
|
|
},
|
|
{
|
|
"nvim-telescope/telescope-file-browser.nvim"
|
|
},
|
|
}
|
|
|
|
use {
|
|
'hrsh7th/nvim-cmp',
|
|
'hrsh7th/cmp-buffer', -- completion source
|
|
'hrsh7th/cmp-path', -- completion source
|
|
'hrsh7th/cmp-nvim-lua', -- completion source
|
|
'hrsh7th/cmp-nvim-lsp', -- completion source
|
|
'L3MON4D3/LuaSnip',
|
|
'saadparwaiz1/cmp_luasnip',
|
|
'onsails/lspkind.nvim'
|
|
}
|
|
|
|
use 'j-hui/fidget.nvim'
|
|
|
|
use {
|
|
"folke/trouble.nvim",
|
|
requires = "nvim-tree/nvim-web-devicons",
|
|
}
|
|
|
|
use 'folke/neodev.nvim'
|
|
|
|
if Packer_bootstrap then
|
|
require'packer'.sync()
|
|
require'packer'.compile()
|
|
end
|
|
end)
|