local map = require('cosmic.utils').map -- Mappings. local opts = { noremap = true, silent = true } local popup_opts = '{ border = "single", focusable = false, }' local win_opts = '{ popup_opts = ' .. popup_opts .. '}' -- See `:help vim.lsp.*` for documentation on any of the below functions map('n', 'gd', 'lua vim.lsp.buf.definition()', opts) map('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) map('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) map('n', 'gt', 'lua vim.lsp.buf.type_definition()', opts) map('n', 'gr', 'lua require("telescope.builtin").lsp_references()', opts) map('n', 'gn', 'lua require("cosmic.core.theme.ui").rename()', opts) map('n', '[g', 'lua vim.lsp.diagnostic.goto_prev(' .. win_opts .. ')', opts) map('n', ']g', 'lua vim.lsp.diagnostic.goto_next(' .. win_opts .. ')', opts) map('n', 'ge', 'lua vim.lsp.diagnostic.show_line_diagnostics(' .. popup_opts .. ')', opts) map('n', 'K', 'lua vim.lsp.buf.hover()', opts) map('n', 'ga', 'lua require("telescope.builtin").lsp_code_actions()', opts) map('v', 'ga', 'lua require("telescope.builtin").lsp_range_code_actions()', opts) map('n', 'gf', 'lua vim.lsp.buf.formatting()', opts) map('n', '', 'lua require("lsp_signature").signature()', opts) map('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', opts) map('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', opts) map('n', 'wl', 'lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))', opts) -- no default maps, so you may want to define some here map('n', 'gr', ':TSLspRenameFile', opts) map('n', 'go', ':TSLspOrganize', opts) map('n', 'gi', ':TSLspImportAll', opts)