Files
nvim/lua/plugins/plugins.lua
2022-11-09 16:48:39 -05:00

211 lines
4.8 KiB
Lua
Executable File

local cmd = vim.cmd
cmd [[packadd packer.nvim]]
return require'packer'.startup(function()
-- Needed to run Packer, it can run itself
use 'wbthomason/packer.nvim'
-- Wakatime Tracking
use 'wakatime/vim-wakatime'
----------------------------------------------------------------
-- LSP and Autocomplete Plugins
-- They should be pulled first!
-----------------------------------------------------------------
-- Easy Way to install Language Servers
use 'williamboman/mason.nvim'
use 'williamboman/mason-lspconfig.nvim'
-- Neovim Autocomplete with LSP
use {
'hrsh7th/nvim-cmp',
requires = {
'neovim/nvim-lspconfig',
'L3MON4D3/LuaSnip',
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-path',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-cmdline',
'hrsh7th/nvim-cmp',
'saadparwaiz1/cmp_luasnip',
}
}
use {
'L3MON4D3/LuaSnip',
requires = {
'saadparwaiz1/cmp_luasnip'
}
}
-- Treesitter interface
use {
'nvim-treesitter/nvim-treesitter',
run = function() require('nvim-treesitter.install').update({ with_sync = true }) end,
}
-- Null-LS
use'jose-elias-alvarez/null-ls.nvim'
------------------------------------------------------------
-- General Functionality
------------------------------------------------------------
-- Tmux Navigation
use({
"aserowy/tmux.nvim",
config = function() require("tmux").setup() end
})
-- Find & Search LSP Tags
use 'liuchengxu/vista.vim'
-- Snippets
use 'rafamadriz/friendly-snippets'
-- Rename and Work with Buffer & Tabs
use 'pacha/vem-tabline'
-- Nvim Tree File Manager on the Left
use 'kyazdani42/nvim-tree.lua'
-- Trouble Shows Errors with Files.
use {
"folke/trouble.nvim",
requires = "kyazdani42/nvim-web-devicons",
config = function()
require("trouble").setup {
}
end
}
use {
'windwp/nvim-autopairs',
config = function()
require('nvim-autopairs').setup({
})
end
}
use 'rcarriga/nvim-notify'
use {
'phaazon/mind.nvim',
branch = 'v2.2',
requires = { 'nvim-lua/plenary.nvim' },
config = function()
require'mind'.setup()
end
}
-----------------------------------------------------------
-- Markdown Plugins
------------------------------------------------------------
use({
'jakewvincent/mkdnflow.nvim',
config = function()
require('mkdnflow').setup({
mappings = {
MkdnToggleToDo = {{'i', 'n'}, '<C-Space>'},
MkdnNewListItem = {{'i'}, '<CR>'},
MkdnEnter = {{'n'}, '<CR>'},
MkdnTableNextCell = false,
MkdnTab = {{'i',}, '<Tab>'},
MkdnSTab = {{'i'}, '<S-Tab>'},
MkdnFollowLink = {'n', '<leader>p'}
}
})
end
})
-- Headlines Extension
use 'lukas-reineke/headlines.nvim'
-- Follow MD Links
use 'jghauser/follow-md-links.nvim'
-- Markdown Preview
use({
"iamcco/markdown-preview.nvim",
run = function() vim.fn["mkdp#util#install"]() end,
})
use 'chentoast/marks.nvim'
-- Prettier Plugin for Neovim specifically
use'MunifTanjim/prettier.nvim'
---------------------------------------------------------
-- Text, Icons, Symbols
----------------------------------------------------------
use 'lukas-reineke/indent-blankline.nvim'
use 'simrat39/symbols-outline.nvim'
use 'kyazdani42/nvim-web-devicons'
use 'karb94/neoscroll.nvim'
-- Allow Popups for Telescope etc
use 'nvim-lua/popup.nvim'
use 'nvim-lua/plenary.nvim'
-- Todo & Comments for Organization
use {
"folke/todo-comments.nvim",
requires = "nvim-lua/plenary.nvim",
config = function()
require("todo-comments").setup {
}
end
}
use {
'nvim-telescope/telescope.nvim', tag = '0.1.0',
requires = 'nvim-lua/plenary.nvim',
config = function()
require("telescope").setup({
})
end
}
use {
"nvim-telescope/telescope-file-browser.nvim"
}
-----------------------------------------------------------
-- Various Color Schemes, Dashboard, etc
-----------------------------------------------------------
use 'tjdevries/colorbuddy.nvim'
use 'bkegley/gloombuddy'
use 'tanvirtin/monokai.nvim'
use 'Mofiqul/dracula.nvim'
use 'lunarvim/colorschemes'
use { 'rose-pine/neovim', as = 'rose-pine' }
use 'folke/tokyonight.nvim'
use {
"catppuccin/nvim", as = "catppuccin",
require("catppuccin").setup({
flavour = "mocha"
})
}
use {
'feline-nvim/feline.nvim',
requires = { 'kyazdani42/nvim-web-devicons' },
}
-- Signs for Git Status Information
use {
'lewis6991/gitsigns.nvim',
requires = { 'nvim-lua/plenary.nvim' },
}
-- The Dashboard
use {
'goolord/alpha-nvim',
requires = { 'kyazdani42/nvim-web-devicons' },
}
end)