summaryrefslogtreecommitdiff
path: root/fnl/plugins/lsp.fnl
diff options
context:
space:
mode:
authoraktersnurra <gustaf@gustafrydholm.xyz>2026-04-16 15:10:52 +0200
committeraktersnurra <gustaf@gustafrydholm.xyz>2026-04-17 23:28:47 +0200
commit152fd9d787c7433cad95795992e444250cb83216 (patch)
tree0ae3b4a3b42005dc08b1400981cfc4c1f37297fe /fnl/plugins/lsp.fnl
parent83a7f3505a441f1c152229d50a3d6011951a82fc (diff)
Add fff and other nice things such as macros
Diffstat (limited to 'fnl/plugins/lsp.fnl')
-rw-r--r--fnl/plugins/lsp.fnl30
1 files changed, 28 insertions, 2 deletions
diff --git a/fnl/plugins/lsp.fnl b/fnl/plugins/lsp.fnl
index f04ba86..482916a 100644
--- a/fnl/plugins/lsp.fnl
+++ b/fnl/plugins/lsp.fnl
@@ -1,3 +1,29 @@
-;; Lsp plugins.
+;; LSP configuration.
-[(require :plugins.lsp.lspconfig) (require :plugins.lsp.mason)]
+(λ 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 :BufNew
+ :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}}]