Abolished vim-abolish with text-change.nvim
This commit is contained in:
parent
b84b028a7e
commit
cd767afa32
62
lua/plugins/text-case.lua
Normal file
62
lua/plugins/text-case.lua
Normal 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
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user