feat: buf mapping util clean up

This commit is contained in:
Matthew Leong 2023-01-06 13:14:20 -08:00
parent 464f92b1cc
commit 3d4b00bb0b
6 changed files with 21 additions and 34 deletions

View file

@ -1,10 +1,9 @@
local u = require('cosmic.utils') local utils = require('cosmic.utils')
local M = {} local M = {}
-- Mappings. -- Mappings.
function M.init(client, bufnr) function M.init(client, bufnr)
local buf_map = u.create_buf_map({ local buf_map = utils.create_buf_map(bufnr, {
buffer = bufnr,
noremap = false, noremap = false,
}) })

View file

@ -14,7 +14,7 @@ function M.on_attach(client, bufnr)
if client.supports_method('textDocument/formatting') then if client.supports_method('textDocument/formatting') then
-- set up :LspFormat for clients that are capable -- set up :LspFormat for clients that are capable
vim.cmd(string.format("command! LspFormat lua require('cosmic.lsp.utils').format(%s)", bufnr)) vim.cmd(string.format("command! LspFormat lua require('cosmic.utils.lsp').format(%s)", bufnr))
if user_config.lsp.format_on_save then if user_config.lsp.format_on_save then
-- collect filetype(s) -- collect filetype(s)
@ -31,7 +31,7 @@ function M.on_attach(client, bufnr)
-- autocommand for format on save with specified filetype(s) -- autocommand for format on save with specified filetype(s)
vim.api.nvim_create_autocmd(string.format('BufWritePre %s', format_filetypes), { vim.api.nvim_create_autocmd(string.format('BufWritePre %s', format_filetypes), {
callback = function() callback = function()
require('cosmic.lsp.utils').format(bufnr) require('cosmic.utils.lsp').format(bufnr)
end, end,
group = group, group = group,
}) })

View file

@ -1,15 +0,0 @@
local user_config = require('cosmic.core.user')
local M = {}
function M.format(bufnr)
vim.lsp.buf.format({
timeout_ms = user_config.lsp.format_timeout,
-- check user config to see if we can format on save
filter = function(client)
return user_config.lsp.can_client_format(client)
end,
bufnr = bufnr or 0,
})
end
return M

View file

@ -1,5 +1,5 @@
local user_config = require('cosmic.core.user') local user_config = require('cosmic.core.user')
local u = require('cosmic.utils') local utils = require('cosmic.utils')
local defaults = { local defaults = {
border_style = 'rounded', border_style = 'rounded',
@ -10,20 +10,18 @@ return {
dependencies = { dependencies = {
'MunifTanjim/nui.nvim', 'MunifTanjim/nui.nvim',
}, },
config = function()
require('cosmic-ui').setup(u.merge(defaults, user_config.plugins.cosmic_ui or {}))
end,
init = function() init = function()
user_config.lsp.add_on_attach_mapping(function(client, bufnr) user_config.lsp.add_on_attach_mapping(function(client, bufnr)
local buf_map = u.create_buf_map({ local buf_map = utils.create_buf_map(bufnr)
buffer = bufnr,
})
buf_map('n', 'gn', '<cmd>lua require("cosmic-ui").rename()<cr>') buf_map('n', 'gn', '<cmd>lua require("cosmic-ui").rename()<cr>')
buf_map('n', '<leader>ga', '<cmd>lua require("cosmic-ui").code_actions()<cr>') buf_map('n', '<leader>ga', '<cmd>lua require("cosmic-ui").code_actions()<cr>')
buf_map('v', '<leader>ga', '<cmd>lua require("cosmic-ui").range_code_actions()<cr>') buf_map('v', '<leader>ga', '<cmd>lua require("cosmic-ui").range_code_actions()<cr>')
end) end)
end, end,
config = function()
require('cosmic-ui').setup(utils.merge(defaults, user_config.plugins.cosmic_ui or {}))
end,
event = 'VeryLazy', event = 'VeryLazy',
enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'cosmic-ui'), enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'cosmic-ui'),
} }

View file

@ -1,14 +1,12 @@
local user_config = require('cosmic.core.user') local user_config = require('cosmic.core.user')
local u = require('cosmic.utils') local utils = require('cosmic.utils')
return { return {
'jose-elias-alvarez/nvim-lsp-ts-utils', 'jose-elias-alvarez/nvim-lsp-ts-utils',
init = function() init = function()
user_config.lsp.add_on_attach_mapping(function(client, bufnr) user_config.lsp.add_on_attach_mapping(function(client, bufnr)
if client.name == 'tsserver' then if client.name == 'tsserver' then
local buf_map = u.create_buf_map({ local buf_map = utils.create_buf_map(bufnr)
buffer = bufnr,
})
-- typescript helpers -- typescript helpers
buf_map('n', '<leader>gr', ':TSLspRenameFile<CR>') buf_map('n', '<leader>gr', ':TSLspRenameFile<CR>')
buf_map('n', '<leader>go', ':TSLspOrganize<CR>') buf_map('n', '<leader>go', ':TSLspOrganize<CR>')

View file

@ -8,9 +8,16 @@ function M.map(mode, lhs, rhs, opts)
vim.keymap.set(mode, lhs, rhs, M.merge(defaults, opts or {})) vim.keymap.set(mode, lhs, rhs, M.merge(defaults, opts or {}))
end end
function M.create_buf_map(opts) function M.create_buf_map(bufnr, opts)
return function(mode, lhs, rhs) return function(mode, lhs, rhs, map_opts)
M.map(mode, lhs, rhs, opts or {}) M.map(
mode,
lhs,
rhs,
M.merge({
buffer = bufnr,
}, opts or {}, map_opts or {})
)
end end
end end