summaryrefslogtreecommitdiff
path: root/fnl/plugins/lsp.fnl
blob: d3467554861bf67467180da12aeb5b0743455d80 (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
;; LSP configuration.

(λ config []
  (vim.api.nvim_create_autocmd :LspAttach
                               {:callback (λ [args]
                                            (let [{: on-attach} (require :plugins.lsp.keymaps)]
                                              (on-attach args.buf)))})
  (let [diagnostics (require :plugins.lsp.diagnostics)
        mason-lspconfig (require :plugins.lsp.mason-lspconfig)]
    (diagnostics.setup)
    (mason-lspconfig.setup)))

(local icons (require :settings.icons))

[{1 :neovim/nvim-lspconfig
  :event [:BufReadPre :BufNewFile]
  :dependencies [:mason.nvim
                 :williamboman/mason-lspconfig.nvim
                 :b0o/schemastore.nvim
                 :saghen/blink.cmp]
  : config}
 {1 :williamboman/mason.nvim
  :cmd :Mason
  :keys [{1 :<leader>m 2 :<cmd>Mason<cr> :desc :Mason}]
  :opts {:ui {:border :single
              :icons {:package_installed (.. (. icons :checkmark) " ")
                      :package_pending (.. (. icons :arrow-right) " ")
                      :package_uninstalled (.. (. icons :close) " ")}}
         :max_concurrent_installers 10}}]