summaryrefslogtreecommitdiff
path: root/fnl/plugins.fnl
blob: 1c05b5a06c1c5b90556f0679aa3b4d8917f1bd1c (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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
;; List of plugins.
(module plugins)

(def color [{1 :aktersnurra/no-clown-fiesta.nvim
             :config (fn []
                       (require :config.colorscheme))}
            {1 :norcalli/nvim-colorizer.lua
             :config (fn []
                       (require :config.colorizer))
             :event :BufRead}
            {1 :nvim-treesitter/nvim-treesitter
             :config (fn []
                       (require :config.treesitter))
             :run ":TSUpdate"}])

(def completions {1 :hrsh7th/nvim-cmp
                  :requires [{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
                  :want :Luasnip
                  :config (fn []
                            (require :config.cmp))})

(def core [{1 :Olical/aniseed}
           {1 :lewis6991/impatient.nvim}
           {1 :wbthomason/packer.nvim}])

(def git [{1 :sindrets/diffview.nvim
           :config (fn []
                     (require :config.diffview))
           :event :BufRead}
          {1 :TimUntersberger/neogit
           :config (fn []
                     (require :config.neogit))
           :event :BufRead
           :requires [:nvim-lua/plenary.nvim]}
          {1 :lewis6991/gitsigns.nvim
           :config (fn []
                     (require :config.gitsigns))
           :event :BufRead}])

(def lsp [{1 :j-hui/fidget.nvim
           :event :BufWinEnter
           :config (fn []
                     (require :config.fidget))}
          {1 :jose-elias-alvarez/null-ls.nvim}
          {1 :neovim/nvim-lspconfig}
          {1 :williamboman/mason.nvim
           :event :BufWinEnter
           :config (fn []
                     (require :config.lsp.mason))}
          {1 :tamago324/nlsp-settings.nvim}
          {1 :jayp0521/mason-null-ls.nvim
           :event :BufWinEnter
           :config (fn []
                     (require :config.lsp.null-ls)
                     (require :config.lsp.mason-null-ls))
           :requires [:jose-elias-alvarez/null-ls.nvim
                      :williamboman/mason.nvim]
           :after :mason.nvim}
          {1 :b0o/SchemaStore.nvim}
          {1 :williamboman/mason-lspconfig.nvim
           :event :BufWinEnter
           :config (fn []
                     (require :config.lsp.mason-lspconfig)
                     (let [handlers (require :config.lsp.handlers)]
                       (handlers.setup)))
           :requires [:neovim/nvim-lspconfig :williamboman/mason.nvim]
           :after :mason.nvim}
          {1 :folke/trouble.nvim
           :config (fn []
                     (require :config.trouble))
           :event :BufWinEnter}])

(def misc [{1 :nvim-orgmode/orgmode
            :config (fn []
                      (require :config.window-picker))
            :event :BufWinEnter}
           {1 :akinsho/toggleterm.nvim
            :config (fn []
                      (require :config.toggleterm))
            :event :BufWinEnter}
           {1 :dstein64/vim-startuptime}])

(def search [{1 :nvim-telescope/telescope-file-browser.nvim}
             {1 :nvim-telescope/telescope-fzf-native.nvim :run :make}
             {1 :nvim-telescope/telescope.nvim
              :config (fn []
                        (require :config.telescope))
              :requires [:nvim-lua/popup.nvim
                         :nvim-lua/plenary
                         :telescope-fzf-native.nvim
                         :telescope-file-browser.nvim]
              :wants [:popup.nvim
                      :plenary.nvim
                      :telescope-fzf-native.nvim
                      :telescope-file-browser.nvim]}
             {1 :ggandor/leap.nvim
              :config (fn []
                        (require :config.leap))
              :event :BufRead}
             {1 :ggandor/flit.nvim
              :config (fn []
                        (require :config.flit))
              :after :leap.nvim
              :event :BufRead}
             {1 :ahmedkhalf/project.nvim
              :config (fn []
                        (require :config.project))}
             {1 :tamago324/lir.nvim
              :config (fn []
                        (require :config.lir))
              :requires [:kyazdani42/nvim-web-devicons]}
             {1 :ThePrimeagen/harpoon
              :config (fn []
                        (require :config.harpoon))}])

(def session {1 :rmagatti/auto-session
              :config (fn []
                        (require :config.auto-session))
              :requires [:rmagatti/session-lens]})

(def snippets [:rafamadriz/friendly-snippets])

(def text [{1 :numToStr/Comment.nvim
            :config (fn []
                      (require :config.comment))
            :event :BufWinEnter}
           {1 :JoosepAlviste/nvim-ts-context-commentstring :event :BufReadPost}
           {1 :kylechui/nvim-surround
            :config (fn []
                      (require :config.surround))
            :event :BufRead}
           {1 :gbprod/stay-in-place.nvim
            :event :BufWinEnter
            :config (fn []
                      (require :config.stay-in-place))}
           {1 :junegunn/vim-slash
            :config (fn []
                      (require :config.vim-slash))
            :event :BufWinEnter}
           {1 :cappyzawa/trim.nvim
            :config (fn []
                      (require :config.trim))
            :event :BufWinEnter}
           {1 :max397574/better-escape.nvim
            :event :BufWinEnter
            :config (fn []
                      (require :config.better-escape))}
           {1 :windwp/nvim-autopairs
            :config (fn []
                      (require :config.autopairs))
            :event :BufWinEnter}
           {1 :windwp/nvim-spectre
            :config (fn []
                      (require :config.spectre))
            :event :BufWinEnter}])

(def ui [{1 :nvim-lualine/lualine.nvim
          :event :BufWinEnter
          :config (fn []
                    (require :config.lualine))
          :requires [:kyazdani42/nvim-web-devicons]}
         {1 :aktersnurra/minibar.nvim
          :config (fn []
                    (require :config.minibar))
          :event :BufRead}
         {1 :folke/zen-mode.nvim
          :config (fn []
                    (require :config.zen))
          :event :BufWinEnter}
         {1 :kevinhwang91/nvim-bqf
          :config (fn []
                    (require :config.bqf))
          :event :BufRead}
         {1 :s1n7ax/nvim-window-picker
          :config (fn []
                    (require :config.window-picker))
          :event :BufWinEnter}
         {1 :luukvbaal/stabilize.nvim
          :config (fn []
                    (require :config.stabilize))
          :event :BufWinEnter}
         {1 :moll/vim-bbye :event :BufWinEnter}
         {1 :folke/which-key.nvim
          :config (fn []
                    (require :config.which-key))
          :event :BufWinEnter}])

(def all {: color
          : completions
          : core
          : git
          : lsp
          : misc
          : search
          : session
          : snippets
          : text
          : ui})