108 lines
2.9 KiB
Lua
108 lines
2.9 KiB
Lua
local fn = vim.fn
|
|
|
|
-- Automatically install packer
|
|
local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"
|
|
if fn.empty(fn.glob(install_path)) > 0 then
|
|
PACKER_BOOTSTRAP = fn.system({
|
|
"git",
|
|
"clone",
|
|
"--depth",
|
|
"1",
|
|
"https://github.com/wbthomason/packer.nvim",
|
|
install_path,
|
|
})
|
|
print("Installing packer close and reopen Neovim...")
|
|
vim.cmd([[packadd packer.nvim]])
|
|
end
|
|
|
|
-- Autocommand that reloads neovim whenever you save the plugins.lua file
|
|
vim.cmd([[
|
|
augroup packer_user_config
|
|
autocmd!
|
|
autocmd BufWritePost plugins.lua source <afile> | PackerSync
|
|
augroup end
|
|
]])
|
|
|
|
-- Use a protected call so we don't error out on first use
|
|
local status_ok, packer = pcall(require, "packer")
|
|
if not status_ok then
|
|
return
|
|
end
|
|
|
|
--Install plugins here
|
|
|
|
return packer.startup(function(use)
|
|
|
|
-- General Libs
|
|
use "wbthomason/packer.nvim" -- Have packer manage itself
|
|
use "nvim-lua/popup.nvim" -- Popup API of vim in Neovim
|
|
use "nvim-lua/plenary.nvim" -- Lua lib required by other plugins
|
|
-- Colorschemes
|
|
use "sainnhe/gruvbox-material"
|
|
use {'shaunsingh/oxocarbon.nvim', run = './install.sh'}
|
|
|
|
--cmp plugins
|
|
use "hrsh7th/nvim-cmp" -- The completion plugin
|
|
use "hrsh7th/cmp-buffer" -- buffer completions
|
|
use "hrsh7th/cmp-path" -- path completions
|
|
use "saadparwaiz1/cmp_luasnip" -- snippet completions
|
|
use "hrsh7th/cmp-nvim-lsp"
|
|
use "hrsh7th/cmp-nvim-lua"
|
|
|
|
-- snippets
|
|
use "L3MON4D3/LuaSnip" --snippet engine
|
|
use "rafamadriz/friendly-snippets" -- a bunch of snippets to use
|
|
use "honza/vim-snippets"
|
|
|
|
-- LSP
|
|
use "neovim/nvim-lspconfig" -- enable LSP
|
|
use "williamboman/nvim-lsp-installer" -- simple to use language server installer
|
|
use "jose-elias-alvarez/null-ls.nvim" -- for formatters and linters
|
|
|
|
-- Telescope
|
|
use "nvim-telescope/telescope.nvim"
|
|
|
|
-- TreeSitter
|
|
use { "nvim-treesitter/nvim-treesitter" , run = "TSUpdate",}
|
|
|
|
-- Git Stuff
|
|
use "lewis6991/gitsigns.nvim"
|
|
use "f-person/git-blame.nvim"
|
|
use "tpope/vim-fugitive"
|
|
-- nvim-tree
|
|
use {"kyazdani42/nvim-tree.lua",commit = "9c97e6449b0b0269bd44e1fd4857184dfa57bb4c"}
|
|
|
|
-- toggleterm
|
|
use "akinsho/toggleterm.nvim"
|
|
|
|
-- lualine
|
|
use "nvim-lualine/lualine.nvim"
|
|
|
|
--markdown
|
|
use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install", setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, })
|
|
if PACKER_BOOTSTRAP then
|
|
require("packer").sync()
|
|
end
|
|
--rust
|
|
use 'simrat39/rust-tools.nvim'
|
|
|
|
--vimwiki
|
|
use {
|
|
'vimwiki/vimwiki',
|
|
config = function()
|
|
vim.g.vimwiki_list = {
|
|
{
|
|
path = '~/vimwiki/',
|
|
syntax = 'markdown',
|
|
ext = '.md',
|
|
}
|
|
}
|
|
vim.g.vimwiki_ext2syntax = {
|
|
['.md'] = 'markdown',
|
|
['.markdown'] = 'markdown',
|
|
['.mdown'] = 'markdown',
|
|
}
|
|
end
|
|
}
|
|
end)
|