Files
nvim/lua/plugins/plugins.lua

278 lines
7.4 KiB
Lua
Raw Normal View History

2022-03-03 13:52:43 -05:00
local cmd = vim.cmd
cmd [[packadd packer.nvim]]
return require'packer'.startup(function()
2022-03-15 14:37:10 -04:00
-- Needed to run Packer, it can run itself
2022-03-03 13:52:43 -05:00
use 'wbthomason/packer.nvim'
2023-01-16 16:47:30 -05:00
2022-03-15 14:37:10 -04:00
-- Wakatime Tracking
2022-03-03 13:52:43 -05:00
use 'wakatime/vim-wakatime'
2022-03-15 14:37:10 -04:00
2022-09-08 12:21:50 -04:00
----------------------------------------------------------------
2023-01-16 16:47:30 -05:00
-- LSP and Autocomplete Plugins
-- They should be pulled first!
2022-09-08 12:21:50 -04:00
-----------------------------------------------------------------
-- Easy Way to install Language Servers
2022-11-28 19:55:20 -05:00
use { 'williamboman/mason.nvim',
config = function()
require("mason").setup()
end
2022-11-12 07:48:04 -05:00
}
2022-11-28 19:55:20 -05:00
use 'williamboman/mason-lspconfig.nvim'
use 'neovim/nvim-lspconfig'
2023-01-16 16:47:30 -05:00
2022-11-15 17:17:06 -05:00
-- Manage all your Keymaps!
use {
"lazytanuki/nvim-mapper",
config = function() require("nvim-mapper").setup{} end,
before = "telescope.nvim"
}
2022-09-08 12:21:50 -04:00
-- 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',
2022-11-28 19:55:20 -05:00
'hrsh7th/cmp-nvim-lsp-signature-help',
'f3fora/cmp-spell',
2022-09-08 12:21:50 -04:00
}
}
2023-01-16 16:47:30 -05:00
use ({
'L3MON4D3/LuaSnip', tag = "v1.1.0",
2022-11-28 19:55:20 -05:00
wants = { "friendly-snippets", "vim-snippets" },
})
2023-01-16 16:47:30 -05:00
2022-09-08 12:21:50 -04:00
-- Treesitter interface
use {
'nvim-treesitter/nvim-treesitter',
2022-11-09 16:48:39 -05:00
run = function() require('nvim-treesitter.install').update({ with_sync = true }) end,
2022-09-08 12:21:50 -04:00
}
-- Null-LS
use({
"jose-elias-alvarez/null-ls.nvim",
config = function()
require("null-ls").setup({
debug = true,
})
end,
requires = { "nvim-lua/plenary.nvim" },
})
2022-09-08 12:21:50 -04:00
------------------------------------------------------------
2023-01-16 16:47:30 -05:00
-- General Functionality
2022-09-08 12:21:50 -04:00
------------------------------------------------------------
2023-01-16 16:47:30 -05:00
2022-09-20 16:29:49 -04:00
-- Tmux Navigation
2022-09-22 12:38:15 -04:00
use({
"aserowy/tmux.nvim",
config = function() require("tmux").setup() end
})
2022-09-08 12:21:50 -04:00
-- Find & Search LSP Tags
2022-11-28 19:55:20 -05:00
use 'liuchengxu/vista.vim'
2023-01-16 16:47:30 -05:00
2022-09-08 12:21:50 -04:00
-- Snippets
use 'rafamadriz/friendly-snippets'
2023-01-16 16:47:30 -05:00
2022-09-08 12:21:50 -04:00
-- Rename and Work with Buffer & Tabs
use 'pacha/vem-tabline'
2023-01-16 16:47:30 -05:00
2022-03-15 14:37:10 -04:00
-- Nvim Tree File Manager on the Left
2022-11-16 17:11:48 -05:00
use 'nvim-tree/nvim-tree.lua'
2023-01-16 16:47:30 -05:00
-- Trouble Shows Errors with Files.
2022-09-08 12:21:50 -04:00
use {
2022-11-16 17:11:48 -05:00
"folke/trouble.nvim",
requires = "nvim-tree/nvim-web-devicons",
config = function()
require("trouble").setup {
}
end
}
2022-11-12 07:48:04 -05:00
-- Close your brackets easily
2023-01-16 16:47:30 -05:00
-- use {
-- 'windwp/nvim-autopairs',
-- config = function()
-- require('nvim-autopairs').setup({
-- })
-- end
-- }
-- Which Key
use {
"folke/which-key.nvim",
config = function()
require("which-key").setup {
}
end
}
2022-09-08 12:21:50 -04:00
2023-01-16 16:47:30 -05:00
-- Top Right Notify Pop Up
2022-09-08 12:21:50 -04:00
use 'rcarriga/nvim-notify'
2023-01-16 16:47:30 -05:00
-- echasnovski Mini Modules (Selected)
use {
'echasnovski/mini.move',
config = function()
require('mini.move').setup({
mappings = {
left = '<S-left>',
right = '<S-right>',
down = '<S-down>',
up = '<S-up>',
line_left = '<S-left>',
line_right = '<S-right>',
line_down = '<S-down>',
line_up = '<S-up>',
}
})
end
}
use 'echasnovski/mini.trailspace'
2023-01-31 16:24:55 -05:00
use {
'echasnovski/mini.pairs', branch = 'stable',
config = function()
require('mini.pairs').setup()
end
}
2023-01-16 16:47:30 -05:00
use {
'echasnovski/mini.fuzzy', branch = 'stable',
config = function()
require('mini.fuzzy').setup()
end
}
2022-09-08 12:21:50 -04:00
-----------------------------------------------------------
2023-01-16 16:47:30 -05:00
-- Markdown Plugins
2022-09-08 12:21:50 -04:00
------------------------------------------------------------
2022-07-11 16:58:42 -04:00
use({
'jakewvincent/mkdnflow.nvim',
config = function()
require('mkdnflow').setup({
2022-08-11 13:20:10 -04:00
mappings = {
MkdnToggleToDo = {{'i', 'n'}, '<C-Space>'},
MkdnNewListItem = {{'i'}, '<CR>'},
MkdnEnter = {{'n'}, '<CR>'},
MkdnTableNextCell = false,
MkdnTab = {{'i',}, '<Tab>'},
MkdnSTab = {{'i'}, '<S-Tab>'},
2022-09-20 16:29:49 -04:00
MkdnFollowLink = {'n', '<leader>p'}
},
wrap = true
2022-07-11 16:58:42 -04:00
})
end
})
2022-11-16 17:11:48 -05:00
2023-01-16 16:47:30 -05:00
use({ "iamcco/markdown-preview.nvim", run = "cd app && npm install", setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, })
2022-07-20 14:53:53 -04:00
2022-09-08 12:21:50 -04:00
-- Prettier Plugin for Neovim specifically
2022-09-20 16:29:49 -04:00
use'MunifTanjim/prettier.nvim'
2023-01-16 16:47:30 -05:00
2022-09-08 12:21:50 -04:00
---------------------------------------------------------
2023-01-16 16:47:30 -05:00
-- Text, Icons, Symbols
2022-09-08 12:21:50 -04:00
----------------------------------------------------------
2022-03-03 13:52:43 -05:00
use 'lukas-reineke/indent-blankline.nvim'
2023-01-16 16:47:30 -05:00
2022-03-03 13:52:43 -05:00
use 'simrat39/symbols-outline.nvim'
2023-01-16 16:47:30 -05:00
2022-11-16 17:11:48 -05:00
use 'nvim-tree/nvim-web-devicons'
2023-01-16 16:47:30 -05:00
2022-11-16 17:11:48 -05:00
use 'folke/lsp-colors.nvim'
2022-03-08 16:14:59 -05:00
use 'karb94/neoscroll.nvim'
2022-11-16 17:11:48 -05:00
2022-03-15 14:37:10 -04:00
-- Allow Popups for Telescope etc
2022-11-09 16:48:39 -05:00
use 'nvim-lua/popup.nvim'
2022-11-16 17:11:48 -05:00
use "nvim-lua/plenary.nvim"
2022-09-08 12:21:50 -04:00
-- Todo & Comments for Organization
use {
2022-11-16 17:11:48 -05:00
'folke/todo-comments.nvim',
2022-09-20 16:29:49 -04:00
requires = "nvim-lua/plenary.nvim",
config = function()
require("todo-comments").setup {
keywords = {
FIX = {
icon = "", -- icon used for the sign, and in search results
color = "error", -- can be a hex color, or a named color (see below)
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
-- signs = false, -- configure signs for some keywords individually
},
DONE = { icon = "", color = "info" },
FEAT = { icon = "", color = "warning", alt = { "NEED", "REQUEST" } },
WARN = { icon = "", color = "error", alt = { "WARNING", "ERROR" } },
TODO = { icon = "", color = "hint", alt = { "TASK", "TBD" } },
NOTE = { icon = "", color = "hint", alt = { "INFO" } },
SENG = { icon = "", color = "test", alt = { "SOLUTIONS", "SE", "WORKAROUND" } },
},
highlight = {
comments_only = false,
},
colors = {
error = { "DiagnosticError", "ErrorMsg", "#DC2626" },
warning = { "DiagnosticWarning", "WarningMsg", "#FBBF24" },
info = { "DiagnosticInfo", "#2563EB" },
hint = { "DiagnosticHint", "#10B981" },
default = { "Identifier", "#7C3AED" },
test = { "Identifier", "#FF00FF" }
},
}
end
2022-09-20 16:29:49 -04:00
}
-- The all famous telescope
2022-11-09 16:48:39 -05:00
use {
'nvim-telescope/telescope.nvim', tag = '0.1.0',
2023-01-16 16:47:30 -05:00
requires = {
'nvim-lua/plenary.nvim',
'nvim-telescope/telescope-live-grep-args.nvim',
},
2022-11-09 16:48:39 -05:00
config = function()
require("telescope").setup({
})
end
}
2023-01-16 16:47:30 -05:00
use {
"nvim-telescope/telescope-file-browser.nvim"
2022-11-09 16:48:39 -05:00
}
2022-07-14 18:51:47 -04:00
-----------------------------------------------------------
2022-09-08 12:21:50 -04:00
-- Various Color Schemes, Dashboard, etc
2022-07-14 18:51:47 -04:00
-----------------------------------------------------------
2022-03-03 13:52:43 -05:00
use 'tanvirtin/monokai.nvim'
use 'gbprod/nord.nvim'
2022-03-15 14:37:10 -04:00
use 'Mofiqul/dracula.nvim'
2022-03-03 13:52:43 -05:00
use 'lunarvim/colorschemes'
use { 'rose-pine/neovim', as = 'rose-pine' }
use { "catppuccin/nvim", as = "catppuccin" }
2022-03-03 13:52:43 -05:00
use {
2022-06-29 17:16:38 -04:00
'feline-nvim/feline.nvim',
2022-11-16 17:11:48 -05:00
requires = { 'nvim-tree/nvim-web-devicons' },
2022-03-03 13:52:43 -05:00
}
2022-11-16 17:11:48 -05:00
use {"ellisonleao/glow.nvim"}
2022-03-15 14:37:10 -04:00
-- Signs for Git Status Information
2022-03-03 13:52:43 -05:00
use {
2022-11-16 17:11:48 -05:00
'lewis6991/gitsigns.nvim',
config = function()
require('gitsigns').setup()
end
2022-03-03 13:52:43 -05:00
}
-- Plugin that causes your code to crumble >:)
use 'eandrju/cellular-automaton.nvim'
2022-03-15 14:37:10 -04:00
-- The Dashboard
2022-03-03 13:52:43 -05:00
use {
'goolord/alpha-nvim',
2022-11-16 17:11:48 -05:00
requires = { 'nvim-tree/nvim-web-devicons' },
2022-03-03 13:52:43 -05:00
}
end)