summaryrefslogtreecommitdiffstats
path: root/.config/nvim/lua/plugins.lua
blob: a412fda6ceea42ed0e5ab35cc8be802b2f95df20 (plain)
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
-- ┌───────────────────┐
-- │   ▜       ▗       │
-- │▛▀▖▐ ▌ ▌▞▀▌▄ ▛▀▖▞▀▘│
-- │▙▄▘▐ ▌ ▌▚▄▌▐ ▌ ▌▝▀▖│
-- │▌   ▘▝▀▘▗▄▘▀▘▘ ▘▀▀ │
-- └───────────────────┘

return require('packer').startup(function()
    -- packer can manage itself
    use 'wbthomason/packer.nvim'

    -- latex suite
    use {'lervag/vimtex', ft = {'tex', 'latex', 'plaintext'}}

    -- treesitter
    use {
        'nvim-treesitter/nvim-treesitter',
        run = ':TSUpdate'
    }
    -- quickstart lsp config
    use 'neovim/nvim-lspconfig'
    -- dashboard
    use 'glepnir/dashboard-nvim'

    -- completion suite
    use 'hrsh7th/nvim-cmp'
    use 'hrsh7th/cmp-nvim-lsp'
    use 'hrsh7th/cmp-buffer'
    use 'quangnguyen30192/cmp-nvim-ultisnips'

    -- 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'
    -- centers the writing
    use 'junegunn/goyo.vim'
    -- highlights the current paragraph
    use 'junegunn/limelight.vim'
    -- 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'
    -- visual feedback for substitute holy shit this is amazing
    use 'markonm/traces.vim'
    -- 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'
    -- jump to location by 2 characters, `
    use 'justinmk/vim-sneak'

    -- statusline of the $CURRENT_YEAR
    use {
        'nvim-lualine/lualine.nvim',
        requires = {'kyazdani42/nvim-web-devicons', opt = true}
    }
    -- colour theme of the $CURRENT_YEAR
    use 'rose-pine/neovim'

    -- 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'}
    }
    -- increment dates, times & more
    use 'tpope/vim-speeddating'
    -- provides ga, show unicode stuff of char under cursor
    use 'tpope/vim-characterize'
    -- comment helper
    -- https://github.com/numToStr/Comment.nvim hip & cool
    use 'tpope/vim-commentary'
    -- asynchronous build and test dispatcher
    use {'tpope/vim-dispatch', opt = true, cmd = {'Dispatch', 'Make', 'Focus', 'Start'}}
end)