Abolished vim-abolish with text-change.nvim

This commit is contained in:
Kenneth Benzie 2024-03-05 00:08:16 +00:00
parent b84b028a7e
commit cd767afa32

62
lua/plugins/text-case.lua Normal file
View File

@ -0,0 +1,62 @@
return {
'johmsalas/text-case.nvim',
config = function()
local textcase = require('textcase')
require("telescope").load_extension("textcase")
textcase.setup({
default_keymappings_enabled = false,
enable_methods = {
'to_upper_case',
'to_lower_case',
'to_snake_case',
'to_dash_case',
'to_title_dash_case',
'to_constant_case',
'to_dot_case',
'to_phrase_case',
'to_camel_case',
'to_pascal_case',
'to_title_case',
'to_path_case',
'to_upper_phrase_case',
'to_lower_phrase_case',
},
})
local changes = {
-- 'to_upper_case',
-- 'to_lower_case',
{ type = 'to_snake_case', keys = 's', lsp = true },
{ type = 'to_dash_case', keys = '-', lsp = false },
{ type = 'to_title_dash_case', keys = 't-', lsp = false },
{ type = 'to_constant_case', keys = 'u', lsp = true },
{ type = 'to_dot_case', keys = '.', lsp = false },
-- 'to_phrase_case',
{ type = 'to_camel_case', keys = 'c', lsp = true },
{ type = 'to_pascal_case', keys = 'm', lsp = true },
-- 'to_title_case',
{ type = 'to_path_case', keys = '/', lsp = false },
-- 'to_upper_phrase_case',
-- 'to_lower_phrase_case',
}
for _, change in ipairs(changes) do
-- normal mode current word
vim.keymap.set('n', 'cr' .. change.keys, function()
textcase.current_word(change.type)
end, { noremap = true })
-- normal mode lsp rename
if change.lsp then
vim.keymap.set('n', 'cr' .. string.upper(change.keys), function()
textcase.lsp_rename(change.type)
end, { noremap = true })
end
-- visual mode selection
vim.keymap.set('v', 'T' .. change.keys, function()
textcase.visual(change.type)
end, { noremap = true })
end
end
}