;; Key mappings for lsp. (import-macros {: keymaps} :macros) (λ on-attach [buffer] (keymaps [:n :gD "lua vim.lsp.buf.declaration()" {:desc :Declaration : buffer}] [:n :gd "Telescope lsp_definitions theme=get_dropdown" {:desc :Definition : buffer}] [:n :gI "Telescope lsp_implementations theme=get_dropdown" {:desc :Implementation : buffer}] [:n :gr "Telescope lsp_references theme=get_dropdown" {:desc :References : buffer}] [:n :gl "lua vim.diagnostic.open_float()" {:desc :Diagnostics : buffer}] [:n :gj "Telescope diagnostics theme=get_dropdown" {:desc "Telescope Diagnostics" : buffer}] [:n :gw "Telescope lsp_dynamic_workspace_symbols theme=get_dropdown" {:desc "Workspace Symbols" : buffer}] [:n :gE "Telescope lsp_type_definitions theme=get_dropdown" {:desc "Type Definitions" : buffer}] [:n :gm "lua vim.lsp.buf.signature_help()" {:desc :Signature : buffer}] [:n :gM "Telescope lsp_document_symbols theme=get_dropdown" {:desc "Document Symbols" : buffer}] [:n :gh "lua vim.lsp.buf.code_action()" {:desc "Code Action" : buffer}] [:n :gb "lua vim.lsp.codelens.run()" {:desc "Code Lens" : buffer}] [:n :K "lua vim.lsp.buf.hover()" {:desc "Hover documentation" : buffer}] [:n :li :LspInfo {:desc "Lsp Info" : buffer}])) {: on-attach}