diff --git a/config/nvim/lua/fschauen/plugins/text-case.lua b/config/nvim/lua/fschauen/plugins/text-case.lua index 42183b5..fca7c94 100644 --- a/config/nvim/lua/fschauen/plugins/text-case.lua +++ b/config/nvim/lua/fschauen/plugins/text-case.lua @@ -1,7 +1,59 @@ +local description = "󰬴 [c]hange text [c]ase" +local theme = function() + return require("telescope.themes").get_cursor() +end + return { "johmsalas/text-case.nvim", - event = { "BufReadPost", "BufNewFile" }, + dependencies = "nvim-telescope/telescope.nvim", - opts = { prefix = "c" }, + cmd = { + "TextCaseOpenTelescope", + "TextCaseOpenTelescopeQuickChange", + "TextCaseOpenTelescopeLSPChange", + "TextCaseStartReplacingCommand", + }, + + keys = { + { + "cc", + function() + require("telescope").extensions.textcase.normal_mode(theme()) + end, + mode = "n", + desc = description, + }, + + --[[ + + Ideally this would be the mapping for visual mode, but it doesn't work + due to bugs in textcase. + + { + "cc", + function() + require("telescope").extensions.textcase.visual_mode(theme()) + end, + mode = "v", + desc = description, + }, + + The mapping below works, but I can't set the theme to `cursor`. + + --]] + { + "cc", + "TextCaseOpenTelescope", + mode = "v", + desc = description, + }, + }, + + config = function() + require("textcase").setup { + default_keymappings_enabled = false, + } + require("telescope").load_extension("textcase") + end, }