254 lines
7.0 KiB
Lua
Executable File
254 lines
7.0 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',
|
|
config = function()
|
|
require("mason").setup()
|
|
end
|
|
}
|
|
use 'williamboman/mason-lspconfig.nvim'
|
|
use 'neovim/nvim-lspconfig'
|
|
|
|
-- Manage all your Keymaps!
|
|
use {
|
|
"lazytanuki/nvim-mapper",
|
|
config = function() require("nvim-mapper").setup{} end,
|
|
before = "telescope.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',
|
|
'hrsh7th/cmp-nvim-lsp-signature-help',
|
|
'f3fora/cmp-spell',
|
|
}
|
|
}
|
|
use ({
|
|
'L3MON4D3/LuaSnip', tag = "v1.1.0",
|
|
wants = { "friendly-snippets", "vim-snippets" },
|
|
})
|
|
|
|
-- 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",
|
|
config = function()
|
|
require("null-ls").setup({
|
|
debug = true,
|
|
})
|
|
end,
|
|
requires = { "nvim-lua/plenary.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 'nvim-tree/nvim-tree.lua'
|
|
|
|
-- Trouble Shows Errors with Files.
|
|
use {
|
|
"folke/trouble.nvim",
|
|
requires = "nvim-tree/nvim-web-devicons",
|
|
config = function()
|
|
require("trouble").setup {
|
|
}
|
|
end
|
|
}
|
|
|
|
-- Close your brackets easily
|
|
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
|
|
}
|
|
|
|
use 'rcarriga/nvim-notify'
|
|
|
|
-----------------------------------------------------------
|
|
-- 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({ "iamcco/markdown-preview.nvim", run = "cd app && npm install", setup = function() vim.g.mkdp_filetypes = { "markdown" } end, ft = { "markdown" }, })
|
|
|
|
|
|
-- 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 'nvim-tree/nvim-web-devicons'
|
|
|
|
use 'folke/lsp-colors.nvim'
|
|
|
|
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 {
|
|
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
|
|
}
|
|
-- The all famous telescope
|
|
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 '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" }
|
|
use {
|
|
'feline-nvim/feline.nvim',
|
|
requires = { 'nvim-tree/nvim-web-devicons' },
|
|
}
|
|
use {"ellisonleao/glow.nvim"}
|
|
-- Signs for Git Status Information
|
|
use {
|
|
'lewis6991/gitsigns.nvim',
|
|
config = function()
|
|
require('gitsigns').setup()
|
|
end
|
|
}
|
|
-- Plugin that causes your code to crumble >:)
|
|
use 'eandrju/cellular-automaton.nvim'
|
|
|
|
-- The Dashboard
|
|
use {
|
|
'goolord/alpha-nvim',
|
|
requires = { 'nvim-tree/nvim-web-devicons' },
|
|
}
|
|
end)
|