summaryrefslogtreecommitdiff
path: root/fnl/plugins.fnl
blob: c0d0e7620fb99a558d6b441ec803ca00e9f248e6 (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
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
185
;; List of plugins.

[;; Color related plugins
 {1 :aktersnurra/no-clown-fiesta.nvim
  :lazy false
  :priority 1000
  :config (fn []
            (require :config.colorscheme))}
 {1 :norcalli/nvim-colorizer.lua
  :cmd :ColorizerToggle
  :config (fn []
            (require :config.colorizer))}
 {1 :nvim-treesitter/nvim-treesitter
  :build ":TSUpdate"
  :event :BufReadPre
  :config (fn []
            (require :config.treesitter))}
 ;; Completions
 {1 :hrsh7th/nvim-cmp
  :dependencies [{1 :hrsh7th/cmp-buffer}
                 {1 :onsails/lspkind-nvim}
                 {1 :hrsh7th/cmp-nvim-lsp}
                 {1 :hrsh7th/cmp-cmdline}
                 {1 :L3MON4D3/LuaSnip}
                 {1 :hrsh7th/cmp-path}
                 {1 :saadparwaiz1/cmp_luasnip}
                 {1 :f3fora/cmp-spell}]
  :event :InsertEnter
  :config (fn []
            (require :config.cmp))}
 {1 :rafamadriz/friendly-snippets :event :InsertEnter}
 ;; Core plugins
 {1 :Olical/aniseed}
 ;; Git plugins
 {1 :sindrets/diffview.nvim
  :cmd [:DiffviewFileHistory :DiffviewOpen]
  :config (fn []
            (require :config.diffview))}
 {1 :TimUntersberger/neogit
  :cmd :Neogit
  :dependencies [:nvim-lua/plenary.nvim]
  :config (fn []
            (require :config.neogit))}
 {1 :lewis6991/gitsigns.nvim
  :event :BufReadPre
  :config (fn []
            (require :config.gitsigns))}
 ;; LSP
 {1 :williamboman/mason.nvim
  :cmd :Mason
  :keys [{1 :<leader>m 2 :<cmd>Mason<cr> :desc :Mason}]
  :dependencies [:williamboman/mason-lspconfig.nvim]
  :config (fn []
            (require :config.lsp.mason)
            (require :config.lsp.mason-lspconfig))}
 {1 :jose-elias-alvarez/null-ls.nvim
  :dependencies [:mason.nvim :jayp0521/mason-null-ls.nvim]
  :event :BufReadPre
  :config (fn []
            (require :config.lsp.null-ls)
            (require :config.lsp.mason-null-ls))}
 {1 :neovim/nvim-lspconfig
  :event :BufReadPre
  :dependencies [:mason.nvim :b0o/SchemaStore.nvim :hrsh7th/cmp-nvim-lsp]
  :config (fn []
            (require :config.lsp.diagnostics)
            (require :config.lsp.lspconfig))}
 {1 :folke/trouble.nvim
  :cmd :TroubleToggle
  :config (fn []
            (require :config.trouble))}
 ;; Misc plugins
 {1 :nvim-orgmode/orgmode
  :event :VeryLazy
  :config (fn []
            (require :config.orgmode))}
 {1 :ojroques/nvim-bufdel :cmd :BufDel}
 {1 :akinsho/toggleterm.nvim
  :cmd :ToggleTerm
  :config (fn []
            (require :config.toggleterm))}
 ;; Search plugins
 {1 :nvim-telescope/telescope-fzf-native.nvim :build :make}
 {1 :nvim-telescope/telescope.nvim
  :cmd :Telescope
  :dependencies [:nvim-lua/popup.nvim
                 :nvim-telescope/telescope-frecency.nvim
                 :tami5/sqlite.lua
                 :ahmedkhalf/project.nvim
                 :nvim-lua/plenary.nvim
                 :rmagatti/session-lens
                 :nvim-telescope/telescope-fzf-native.nvim
                 :nvim-telescope/telescope-frecency.nvim
                 :joaomsa/telescope-orgmode.nvim]
  :config (fn []
            (require :config.project)
            (require :config.telescope))}
 {1 :tamago324/lir.nvim
  :event :VeryLazy
  :config (fn []
            (require :config.lir))
  :dependencies [:kyazdani42/nvim-web-devicons]}
 {1 :ggandor/leap.nvim
  :event :VeryLazy
  :config (fn []
            (require :config.leap))}
 {1 :ggandor/flit.nvim
  :event :VeryLazy
  :config (fn []
            (require :config.flit))}
 {1 :windwp/nvim-spectre
  :keys [{1 :<leader>rw 2 :ReplaceWord :desc "Replace Word"}
         {1 :<leader>rr 2 :Replace :desc :Replace}
         {1 :<leader>rf 2 :ReplaceInBuf :desc "Replace in Buffer"}]
  :config (fn []
            (require :config.spectre))}
 {1 :junegunn/vim-slash
  :event :VeryLazy
  :config (fn []
            (require :config.vim-slash))}
 {1 :ThePrimeagen/harpoon
  :event :VeryLazy
  :config (fn []
            (require :config.harpoon))}
 ;; Session plugins
 {1 :rmagatti/auto-session
  :lazy false
  :config (fn []
            (require :config.auto-session))}
 ;; Text manipulation
 {1 :numToStr/Comment.nvim
  :event :VeryLazy
  :config (fn []
            (require :config.comment))}
 {1 :JoosepAlviste/nvim-ts-context-commentstring :event :VeryLazy}
 {1 :kylechui/nvim-surround
  :event :InsertEnter
  :config (fn []
            (require :config.surround))}
 {1 :gbprod/stay-in-place.nvim
  :event :InsertEnter
  :config (fn []
            (require :config.stay-in-place))}
 {1 :cappyzawa/trim.nvim
  :event :BufFilePre
  :config (fn []
            (require :config.trim))}
 {1 :max397574/better-escape.nvim
  :event :VeryLazy
  :config (fn []
            (require :config.better-escape))}
 {1 :windwp/nvim-autopairs
  :event :InsertEnter
  :config (fn []
            (require :config.autopairs))}
 {1 :mbbill/undotree :cmd :UndotreeToggle}
 {1 :nvim-lualine/lualine.nvim
  :event :VeryLazy
  :config (fn []
            (require :config.lualine))
  :dependencies [:kyazdani42/nvim-web-devicons :arkav/lualine-lsp-progress]}
 {1 :aktersnurra/minibar.nvim
  :event :BufReadPre
  :config (fn []
            (require :config.minibar))}
 {1 :folke/zen-mode.nvim
  :cmd :ZenMode
  :config (fn []
            (require :config.zen))}
 {1 :kevinhwang91/nvim-bqf
  :event :VeryLazy
  :config (fn []
            (require :config.bqf))}
 {1 :s1n7ax/nvim-window-picker
  :event :VeryLazy
  :config (fn []
            (require :config.window-picker))}
 {1 :goolord/alpha-nvim
  :event :VimEnter
  :config (fn []
            (require :config.alpha))}
 {1 :folke/which-key.nvim
  :event :VeryLazy
  :config (fn []
            (require :config.which-key))}]