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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
-- ┌───────────────────┐
-- │ ▜ ▗ │
-- │▛▀▖▐ ▌ ▌▞▀▌▄ ▛▀▖▞▀▘│
-- │▙▄▘▐ ▌ ▌▚▄▌▐ ▌ ▌▝▀▖│
-- │▌ ▘▝▀▘▗▄▘▀▘▘ ▘▀▀ │
-- └───────────────────┘
return require('packer').startup(function(use)
-- packer can manage itself
use 'wbthomason/packer.nvim'
-- improve startup time
-- remove when merged
-- https://github.com/neovim/neovim/pull/15436
use 'lewis6991/impatient.nvim'
-- latex suite
use {'lervag/vimtex', ft = {'tex', 'latex', 'plaintext'}}
-- provides external ltex file handling and other functions
use 'barreiroleo/ltex-extra.nvim'
-- treesitter
use {
'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate'
}
-- quickstart lsp config
use 'neovim/nvim-lspconfig'
-- visualize lsp progress
use 'j-hui/fidget.nvim'
-- extra rust-analyzer functionality
use 'simrat39/rust-tools.nvim'
-- annotation generator
use {
"danymat/neogen",
config = function()
require('neogen').setup {}
end,
requires = "nvim-treesitter/nvim-treesitter",
}
-- dashboard
use {
'goolord/alpha-nvim',
requires = { 'kyazdani42/nvim-web-devicons' }
}
-- completion suite
use 'hrsh7th/nvim-cmp'
use ({
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'quangnguyen30192/cmp-nvim-ultisnips',
after = { 'hrsh7th/nvim-cmp' },
requires = { 'hrsh7th/nvim-cmp' },
})
-- find, filter, preview, pick
use {
'nvim-telescope/telescope.nvim',
requires = { 'nvim-lua/plenary.nvim' }
}
use {'nvim-telescope/telescope-fzf-native.nvim', run = 'make' }
-- git integration for buffers
use {
'lewis6991/gitsigns.nvim',
requires = {
'nvim-lua/plenary.nvim'
},
}
-- manages tag files
use 'ludovicchabant/vim-gutentags'
-- type in file send to repl
use 'jpalardy/vim-slime'
-- snippets to expand
use {'SirVer/ultisnips', 'honza/vim-snippets'}
-- autopairs for neovim
use 'windwp/nvim-autopairs'
-- indent guides
use "lukas-reineke/indent-blankline.nvim"
-- language packs
use "nathom/filetype.nvim"
-- i3 config filetype
use 'mboughaba/i3config.vim'
-- ledger filetype
use 'ledger/vim-ledger'
-- file explorer
use 'kyazdani42/nvim-tree.lua'
-- viewer & finder for lsp symbols and tags
use 'liuchengxu/vista.vim'
-- undo tree
use {
'mbbill/undotree',
cmd = 'UndotreeToggle',
config = [[vim.g.undotree_SetFocusWhenToggle = 1]],
}
-- highlight colors
use 'norcalli/nvim-colorizer.lua'
-- cutlass suite, x, d, \ys etc.
use {
'svermeulen/vim-cutlass',
'svermeulen/vim-subversive',
'svermeulen/vim-yoink'
}
-- personal wiki
use 'vimwiki/vimwiki'
-- change ASCII text to Turkish text
use 'yigitsever/turkish-deasciifier.vim'
-- text alignment \w :Tab
use 'godlygeek/tabular'
-- move selections up and down with alt+[j,k]
use 'matze/vim-move'
-- surround text objects; sa, sr and sd
use 'machakann/vim-sandwich'
-- see the contents of registers on "/<CTRL-R>
use 'junegunn/vim-peekaboo'
-- use <leader>k to highlight multiple words)
use 'lfv89/vim-interestingwords'
-- swap delimited items using g>, g<
use 'machakann/vim-swap'
-- sneak, but in l u a
use 'ggandor/leap.nvim'
-- -- jump to location by 2 characters, `
-- use 'justinmk/vim-sneak'
-- additional text objects, don't remove this ever again you fuck
use 'wellle/targets.vim'
-- enhanced increment/decrement plugin ala speeddating
use 'monaqa/dial.nvim'
-- comment helper
use 'numToStr/Comment.nvim'
-- statusline of the $CURRENT_YEAR
use {
'nvim-lualine/lualine.nvim',
requires = {'kyazdani42/nvim-web-devicons', opt = true}
}
-- tabline
use {'romgrk/barbar.nvim', wants = 'nvim-web-devicons'}
-- colour theme of the $CURRENT_YEAR
use { "catppuccin/nvim", as = "catppuccin" }
-- abbreviation reminder
use {
'0styx0/abbreinder.nvim',
requires = {
{
'0styx0/abbremand.nvim',
module = 'abbremand' -- if want to lazy load
}
},
config = function()
require'abbreinder'.setup()
end,
event = 'BufRead', -- if want lazy load
}
-- search for, substitute, and abbreviate multiple variants of a word
use 'tpope/vim-abolish'
-- enable repeating supported plugin maps with '.'
use 'tpope/vim-repeat'
-- pairs of handy bracket mappings
use 'tpope/vim-unimpaired'
-- git wrapper
use {
'tpope/vim-fugitive', cmd = {'Git', 'Gstatus', 'Gblame', 'Gpush', 'Gpull'}
}
-- provides ga, show unicode stuff of char under cursor
use 'tpope/vim-characterize'
-- asynchronous build and test dispatcher
use {'tpope/vim-dispatch', opt = true, cmd = {'Dispatch', 'Make', 'Focus', 'Start'}}
-- automatically adjust 'shiftwidth' and 'expandtab'
use 'tpope/vim-sleuth'
end)
|