feat: clean up keymap api
This commit is contained in:
parent
ce2cb28c0f
commit
6f73a28b79
3 changed files with 39 additions and 42 deletions
|
@ -17,7 +17,7 @@ opt.tabstop = 4
|
|||
-- or `:map`, `:map <leader>`
|
||||
|
||||
-- Example: Additional insert mapping:
|
||||
map('i', 'jj', '<esc>', { noremap = true, silent = true })
|
||||
map('i', 'jj', '<esc>')
|
||||
|
||||
-- Mapping options:
|
||||
-- map('n', ...)
|
||||
|
@ -26,5 +26,6 @@ map('i', 'jj', '<esc>', { noremap = true, silent = true })
|
|||
-- map('t', ...)
|
||||
|
||||
-- Example: Disable find files keymap
|
||||
-- local cmd = vim.cmd
|
||||
-- cmd('unmap <leader>f')
|
||||
-- vim.keymap.del('n', '<leader>f')
|
||||
|
||||
-- See :h vim.keymap for more info
|
||||
|
|
|
@ -1,43 +1,47 @@
|
|||
local map = require('cosmic.utils').map
|
||||
local M = {}
|
||||
|
||||
-- Mappings.
|
||||
function M.init(client, bufnr)
|
||||
local buf_map = require('cosmic.utils').buf_map
|
||||
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
buf_map(bufnr, 'n', 'gd', '<cmd>lua require("telescope.builtin").lsp_definitions()<cr>')
|
||||
buf_map(bufnr, 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>')
|
||||
buf_map(bufnr, 'n', 'gi', '<cmd>lua require("telescope.builtin").lsp_implementations()<cr>')
|
||||
buf_map(bufnr, 'n', 'gt', '<cmd>lua require("telescope.builtin").lsp_type_definitions()<cr>')
|
||||
buf_map(bufnr, 'n', 'gr', '<cmd>lua require("telescope.builtin").lsp_references()<cr>')
|
||||
buf_map(bufnr, 'n', 'gn', '<cmd>lua require("cosmic-ui").rename()<cr>')
|
||||
local function set_keymap(mode, lhs, rhs)
|
||||
map(mode, lhs, rhs, {
|
||||
buffer = bufnr,
|
||||
})
|
||||
end
|
||||
|
||||
set_keymap('n', 'gd', '<cmd>lua require("telescope.builtin").lsp_definitions()<cr>')
|
||||
set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<cr>')
|
||||
set_keymap('n', 'gi', '<cmd>lua require("telescope.builtin").lsp_implementations()<cr>')
|
||||
set_keymap('n', 'gt', '<cmd>lua require("telescope.builtin").lsp_type_definitions()<cr>')
|
||||
set_keymap('n', 'gr', '<cmd>lua require("telescope.builtin").lsp_references()<cr>')
|
||||
set_keymap('n', 'gn', '<cmd>lua require("cosmic-ui").rename()<cr>')
|
||||
|
||||
-- diagnostics
|
||||
buf_map(bufnr, 'n', '[g', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
|
||||
buf_map(bufnr, 'n', ']g', '<cmd>lua vim.diagnostic.goto_next()<cr>')
|
||||
buf_map(bufnr, 'n', 'ge', '<cmd>lua vim.diagnostic.open_float(nil, { scope = "line", })<cr>')
|
||||
buf_map(bufnr, 'n', '<leader>ge', '<cmd>Telescope diagnostics bufnr=0<cr>')
|
||||
set_keymap('n', '[g', '<cmd>lua vim.diagnostic.goto_prev()<cr>')
|
||||
set_keymap('n', ']g', '<cmd>lua vim.diagnostic.goto_next()<cr>')
|
||||
set_keymap('n', 'ge', '<cmd>lua vim.diagnostic.open_float(nil, { scope = "line", })<cr>')
|
||||
set_keymap('n', '<leader>ge', '<cmd>Telescope diagnostics bufnr=0<cr>')
|
||||
|
||||
-- hover
|
||||
buf_map(bufnr, 'n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
|
||||
set_keymap('n', 'K', '<cmd>lua vim.lsp.buf.hover()<cr>')
|
||||
|
||||
-- code actions
|
||||
buf_map(bufnr, 'n', '<leader>ga', '<cmd>lua require("cosmic-ui").code_actions()<cr>')
|
||||
buf_map(bufnr, 'v', '<leader>ga', '<cmd>lua require("cosmic-ui").range_code_actions()<cr>')
|
||||
set_keymap('n', '<leader>ga', '<cmd>lua require("cosmic-ui").code_actions()<cr>')
|
||||
set_keymap('v', '<leader>ga', '<cmd>lua require("cosmic-ui").range_code_actions()<cr>')
|
||||
|
||||
-- formatting
|
||||
buf_map(bufnr, 'n', '<leader>gf', '<cmd>lua vim.lsp.buf.formatting()<cr>')
|
||||
buf_map(bufnr, 'v', '<leader>gf', '<cmd>lua vim.lsp.buf.range_formatting()<cr>')
|
||||
set_keymap('n', '<leader>gf', '<cmd>lua vim.lsp.buf.formatting()<cr>')
|
||||
set_keymap('v', '<leader>gf', '<cmd>lua vim.lsp.buf.range_formatting()<cr>')
|
||||
|
||||
-- signature help
|
||||
buf_map(bufnr, 'n', '<C-K>', '<cmd>lua require("lsp_signature").signature()<cr>')
|
||||
set_keymap('n', '<C-K>', '<cmd>lua require("lsp_signature").signature()<cr>')
|
||||
|
||||
-- lsp workspace
|
||||
buf_map(bufnr, 'n', '<leader>wd', '<cmd>Telescope diagnostics<cr>')
|
||||
buf_map(bufnr, 'n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<cr>')
|
||||
buf_map(bufnr, 'n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<cr>')
|
||||
buf_map(
|
||||
bufnr,
|
||||
set_keymap('n', '<leader>wd', '<cmd>Telescope diagnostics<cr>')
|
||||
set_keymap('n', '<leader>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<cr>')
|
||||
set_keymap('n', '<leader>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<cr>')
|
||||
set_keymap(
|
||||
'n',
|
||||
'<leader>wl',
|
||||
'<cmd>lua require("cosmic.utils.logger"):log(vim.inspect(vim.lsp.buf.list_workspace_folders()))<cr>'
|
||||
|
@ -45,9 +49,9 @@ function M.init(client, bufnr)
|
|||
|
||||
if client.name == 'tsserver' then
|
||||
-- typescript helpers
|
||||
buf_map(bufnr, 'n', '<leader>gr', ':TSLspRenameFile<CR>')
|
||||
buf_map(bufnr, 'n', '<leader>go', ':TSLspOrganize<CR>')
|
||||
buf_map(bufnr, 'n', '<leader>gi', ':TSLspImportAll<CR>')
|
||||
set_keymap('n', '<leader>gr', ':TSLspRenameFile<CR>')
|
||||
set_keymap('n', '<leader>go', ':TSLspOrganize<CR>')
|
||||
set_keymap('n', '<leader>gi', ':TSLspImportAll<CR>')
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -3,19 +3,11 @@ local augroup_name = 'CosmicNvimUtils'
|
|||
local group = vim.api.nvim_create_augroup(augroup_name, { clear = true })
|
||||
|
||||
function M.map(mode, lhs, rhs, opts)
|
||||
local options = { noremap = true, silent = true }
|
||||
if opts then
|
||||
options = M.merge(options, opts)
|
||||
end
|
||||
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
|
||||
end
|
||||
|
||||
function M.buf_map(bufnr, mode, lhs, rhs, opts)
|
||||
local options = { noremap = true, silent = true }
|
||||
if opts then
|
||||
options = M.merge(options, opts)
|
||||
end
|
||||
vim.api.nvim_buf_set_keymap(bufnr, mode, lhs, rhs, options)
|
||||
local defaults = {
|
||||
silent = true,
|
||||
noremap = true,
|
||||
}
|
||||
vim.keymap.set(mode, lhs, rhs, M.merge(defaults, opts or {}))
|
||||
end
|
||||
|
||||
function M.merge_list(tbl1, tbl2)
|
||||
|
|
Loading…
Add table
Reference in a new issue