summaryrefslogtreecommitdiff
path: root/fnl/plugins/lsp/keymaps.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'fnl/plugins/lsp/keymaps.fnl')
-rw-r--r--fnl/plugins/lsp/keymaps.fnl60
1 files changed, 16 insertions, 44 deletions
diff --git a/fnl/plugins/lsp/keymaps.fnl b/fnl/plugins/lsp/keymaps.fnl
index f312581..3477f0a 100644
--- a/fnl/plugins/lsp/keymaps.fnl
+++ b/fnl/plugins/lsp/keymaps.fnl
@@ -1,50 +1,22 @@
;; Key mappings for lsp.
-(local mappings
- [[:n :gD "<cmd>lua vim.lsp.buf.declaration()<CR>" {:desc :Declaration}]
- [:n
- :gd
- "<cmd>Telescope lsp_definitions theme=get_dropdown<cr>"
- {:desc :Definition}]
- [:n
- :gI
- "<cmd>Telescope lsp_implementations theme=get_dropdown<cr>"
- {:desc :Implementation}]
- [:n
- :gr
- "<cmd>Telescope lsp_references theme=get_dropdown<cr>"
- {:desc :References}]
- [:n
- :gl
- "<cmd>lua vim.diagnostic.open_float()<CR>"
- {:desc :Diagnostics}]
- [:n
- :gj
- "<cmd>Telescope diagnostics theme=get_dropdown<cr>"
- {:desc "Telescope Diagnostics"}]
- [:n
- :gw
- "<cmd>Telescope lsp_dynamic_workspace_symbols theme=get_dropdown<cr>"
- {:desc "Workspace Symbols"}]
- [:n
- :gE
- "<cmd>Telescope lsp_type_definitions theme=get_dropdown<cr>"
- {:desc "Type Definitions"}]
- [:n :gm "<cmd>lua vim.lsp.buf.signature_help()<CR>" {:desc :Signature}]
- [:n
- :gM
- "<cmd>Telescope lsp_document_symbols theme=get_dropdown<cr>"
- {:desc "Document Symbols"}]
- [:n :gh "<cmd>lua vim.lsp.buf.code_action()<cr>" {:desc "Code Action"}]
- [:n :gb "<cmd>lua vim.lsp.codelens.run()<cr>" {:desc "Code Lens"}]
- [:n :K "<cmd>lua vim.lsp.buf.hover()<cr>" {:desc "Hover documentation"}]
- [:n :<leader>li :<cmd>LspInfo<cr> {:desc "Lsp Info"}]])
+(import-macros {: keymaps} :macros)
(λ on-attach [buffer]
- (let [opts {:noremap true :silent true : buffer}]
- (each [_ mapping (ipairs mappings)]
- (match mapping
- [mode key cmd desc]
- (vim.keymap.set mode key cmd (vim.tbl_extend :force opts desc))))))
+ (keymaps
+ [:n :gD "<cmd>lua vim.lsp.buf.declaration()<CR>" {:desc :Declaration :buffer buffer}]
+ [:n :gd "<cmd>Telescope lsp_definitions theme=get_dropdown<cr>" {:desc :Definition :buffer buffer}]
+ [:n :gI "<cmd>Telescope lsp_implementations theme=get_dropdown<cr>" {:desc :Implementation :buffer buffer}]
+ [:n :gr "<cmd>Telescope lsp_references theme=get_dropdown<cr>" {:desc :References :buffer buffer}]
+ [:n :gl "<cmd>lua vim.diagnostic.open_float()<CR>" {:desc :Diagnostics :buffer buffer}]
+ [:n :gj "<cmd>Telescope diagnostics theme=get_dropdown<cr>" {:desc "Telescope Diagnostics" :buffer buffer}]
+ [:n :gw "<cmd>Telescope lsp_dynamic_workspace_symbols theme=get_dropdown<cr>" {:desc "Workspace Symbols" :buffer buffer}]
+ [:n :gE "<cmd>Telescope lsp_type_definitions theme=get_dropdown<cr>" {:desc "Type Definitions" :buffer buffer}]
+ [:n :gm "<cmd>lua vim.lsp.buf.signature_help()<CR>" {:desc :Signature :buffer buffer}]
+ [:n :gM "<cmd>Telescope lsp_document_symbols theme=get_dropdown<cr>" {:desc "Document Symbols" :buffer buffer}]
+ [:n :gh "<cmd>lua vim.lsp.buf.code_action()<cr>" {:desc "Code Action" :buffer buffer}]
+ [:n :gb "<cmd>lua vim.lsp.codelens.run()<cr>" {:desc "Code Lens" :buffer buffer}]
+ [:n :K "<cmd>lua vim.lsp.buf.hover()<cr>" {:desc "Hover documentation" :buffer buffer}]
+ [:n :<leader>li :<cmd>LspInfo<cr> {:desc "Lsp Info" :buffer buffer}]))
{: on-attach}