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