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

(def color [{1 :aktersnurra/no-clown-fiesta.nvim
             :config (fn []
                       (require :config.colorscheme))}
            {1 :norcalli/nvim-colorizer.lua
             :cmd :ColorizerToggle
             :config (fn []
                       (require :config.colorizer))}
            {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
                  :config (fn []
                            (require :config.cmp))})

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

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

(def lsp [{1 :j-hui/fidget.nvim
           :event :BufReadPre
           :config (fn []
                     (require :config.fidget))}
          {1 :williamboman/mason.nvim
           :event :BufReadPre
           :config (fn []
                     (require :config.lsp.mason))}
          {1 :tamago324/nlsp-settings.nvim}
          {1 :jayp0521/mason-null-ls.nvim
           :after :mason.nvim
           :event :BufReadPre
           :requires [:jose-elias-alvarez/null-ls.nvim
                      :williamboman/mason.nvim]
           :config (fn []
                     (require :config.lsp.null-ls)
                     (require :config.lsp.mason-null-ls))}
          {1 :b0o/SchemaStore.nvim}
          {1 :williamboman/mason-lspconfig.nvim
           :event :BufReadPre
           :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
           :cmd :TroubleToggle
           :config (fn []
                     (require :config.trouble))}])

(def misc [{1 :nvim-orgmode/orgmode
            :event :BufRead
            :config (fn []
                      (require :config.orgmode))}
           {1 :moll/vim-bbye :event :BufRead}
           {1 :akinsho/toggleterm.nvim
            :cmd :ToggleTerm
            :config (fn []
                      (require :config.toggleterm))}
           {1 :dstein64/vim-startuptime :cmd :StartupTime}])

(def search [{1 :nvim-telescope/telescope-fzf-native.nvim :run :make}
             {1 :nvim-telescope/telescope-frecency.nvim
              :requires :tami5/sqlite.lua}
             {1 :nvim-telescope/telescope.nvim
              :event :VimEnter
              :config (fn []
                        (require :config.telescope))
              :requires [:nvim-lua/popup.nvim
                         :nvim-lua/plenary.nvim
                         :nvim-telescope/telescope-fzf-native.nvim
                         :nvim-telescope/telescope-frecency.nvim]}
             {1 :ggandor/leap.nvim
              :event :InsertEnter
              :config (fn []
                        (require :config.leap))}
             {1 :ggandor/flit.nvim
              :event :InsertEnter
              :config (fn []
                        (require :config.flit))}
             {1 :ahmedkhalf/project.nvim
              :event :VimEnter
              :requires :nvim-telescope/telescope.nvim
              :config (fn []
                        (require :config.project))}
             {1 :windwp/nvim-spectre
              :cmd [:Replace :ReplaceWord :ReplaceInBuf]
              :config (fn []
                        (require :config.spectre))}
             {1 :junegunn/vim-slash
              :event :InsertEnter
              :config (fn []
                        (require :config.vim-slash))}
             {1 :ThePrimeagen/harpoon
              :cmd [:HapoonAdd :HapoonNext :HapoonPrev :HarpoonUI]
              :requires :nvim-telescope/telescope.nvim
              :config (fn []
                        (require :config.harpoon))}])

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

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

(def text [{1 :numToStr/Comment.nvim
            :cmd [:CommentNormal :CommentVisual]
            :config (fn []
                      (require :config.comment))}
           {1 :JoosepAlviste/nvim-ts-context-commentstring :event :BufReadPost}
           {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 :InsertEnter
            :config (fn []
                      (require :config.better-escape))}
           {1 :windwp/nvim-autopairs
            :event :InsertEnter
            :config (fn []
                      (require :config.autopairs))}
           {1 :mbbill/undotree :cmd :UndotreeToggle}])

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

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