1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
-- Packer package manager found here: https://github.com/wbthomason/packer.nvim
--
-- Only required if you have packer configured as `opt`
vim.cmd [[packadd packer.nvim]]
return require('packer').startup(function(use)
-- Packer can manage itself
use 'wbthomason/packer.nvim' -- Package manager
-- Quality of life things
use 'tpope/vim-commentary' -- Really nice commenting functions
use 'ap/vim-css-color' -- highlights color codes in that color
use 'preservim/nerdtree' -- Folder tree on the left
use 'Raimondi/delimitMate' -- Auto delimits characters
use 'sheerun/vim-polyglot' -- Syntax highlighting for a ton of languages
use { -- Finder bar (Kinda like fzf)
'nvim-telescope/telescope.nvim', tag = '0.1.1',
requires = { {'nvim-lua/plenary.nvim'} }
}
use 'nvim-tree/nvim-web-devicons' -- Icons for other plugins
use 'preservim/tagbar' -- Ctags but in memory. Typescript does not work very well with exuberant ctags. Might work better with Universal ctags
use 'qpkorr/vim-bufkill' -- Closes buffer, but doesn't effect the window placement (splits)
use { -- Highlights TODO comments
"folke/todo-comments.nvim",
requires = "nvim-lua/plenary.nvim",
config = function()
require("todo-comments").setup {
-- leave this empty to use the default settings
-- https://github.com/folke/todo-comments.nvim#%EF%B8%8F-configuration
-- TODO: Change up colors maybe, and provide alternate words so that FIX also triggers FIXME colors/settings for example
}
end
}
use "junegunn/goyo.vim" -- "Zen" mode
use "mattn/calendar-vim" -- Calendar for use with
use "lukas-reineke/indent-blankline.nvim" -- Provides whitespace/indent markers
use 'HiPhish/rainbow-delimiters.nvim' -- This highlights things like curly braces in different colors so the matching one is seen easier
-- Anything to do with git
use 'tpope/vim-fugitive' -- Git plugin
use 'mhinz/vim-signify' -- Shows line changes
use 'APZelos/blamer.nvim' -- Shows who changed the line last
-- Different vim modes
use {
'vimwiki/vimwiki', -- Diary and wiki suite
config = function()
-- Changes to this don't seem to take effect until I run PackerCompile
vim.g.vimwiki_list = {
{
path = '~/vimwiki/personal/',
path_html = '~/vimwiki/personal/html',
syntax = 'markdown',
ext = '.md',
custom_wiki2html = 'wiki2html.sh',
},
{
path = '~/vimwiki/test/',
path_html = '~/vimwiki/test/html',
syntax = 'markdown',
ext = '.md'
},
{
path = '~/vimwiki/work/',
path_html = '~/vimwiki/work/html',
-- syntax = 'default',
-- ext = '.wiki'
syntax = 'markdown',
ext = '.md'
},
}
end
}
-- Fancy stuff
use 'vim-airline/vim-airline' -- Fancy status bar
use 'vim-airline/vim-airline-themes' -- Fancy status bar themes
use 'mhinz/vim-startify' -- Fancy startup script
use "folke/which-key.nvim" -- Fancy keybind menu
use 'ryanoasis/vim-devicons' -- Fancy icons for file types in nerdtree and other places
-- Themes
use 'ayu-theme/ayu-vim' -- Nice blue theme. Closer to the gotham theme I had in VS code than the vim theme it was inspired by.
use "rebelot/kanagawa.nvim"
use "savq/melange-nvim"
use 'rafi/awesome-vim-colorschemes'
use "lunarvim/templeos.nvim"
-- Language supports
use 'SuneelFreimuth/vim-gemtext' -- Syntax support for gemini markdown
use('nvim-treesitter/nvim-treesitter', {run = ':TSUpdate'}) -- Even better syntax highlighting
use { -- A super simple way to setup all the lsp stuff.
'VonHeikemen/lsp-zero.nvim',
branch = 'v1.x',
requires = {
-- LSP Support
{'neovim/nvim-lspconfig'}, -- Required
{'williamboman/mason.nvim'}, -- Optional -- Package manager for LSPs, formatters and linters
{'williamboman/mason-lspconfig.nvim'}, -- Optional -- Manages the connection between what's installed with mason and the lsp config
-- Autocompletion
{'hrsh7th/nvim-cmp'}, -- Required -- Completion engine, gets what to complete from different sources (LSP for one)
{'hrsh7th/cmp-nvim-lsp'}, -- Required
{'hrsh7th/cmp-buffer'}, -- Optional
{'hrsh7th/cmp-path'}, -- Optional
{'saadparwaiz1/cmp_luasnip'}, -- Optional
{'hrsh7th/cmp-nvim-lua'}, -- Optional
-- Snippets
{'L3MON4D3/LuaSnip'}, -- Required -- Snippet engine
{'rafamadriz/friendly-snippets'}, -- Optional -- The actual snippets
}
}
use {'fatih/vim-go', run = ':GoUpdateBinaries' } -- Nice Golang plugin
use 'buoto/gotests-vim' -- Better Golang Testing
end)
|