diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json index 91d8559f..fd5e5712 100644 --- a/.config/nvim/lazyvim.json +++ b/.config/nvim/lazyvim.json @@ -26,6 +26,7 @@ "plugins.extras.coding.treesitter.endwise", "plugins.extras.coding.treesitter.node-action", "plugins.extras.coding.treesitter.puppeteer", + "plugins.extras.coding.treesitter.text-case", "plugins.extras.dap.persistent-breakpoints", "plugins.extras.editor.color", "plugins.extras.editor.docs.devdocs", @@ -60,6 +61,7 @@ "plugins.extras.lsp.lightbulb", "plugins.extras.ui.alpha", "plugins.extras.ui.breadcrumbs", + "plugins.extras.ui.context", "plugins.extras.ui.highlight-undo", "plugins.extras.ui.number-toggle", "plugins.extras.ui.rainbow-delimeters", diff --git a/.config/nvim/lua/plugins/extras/coding/treesitter/text-case.lua b/.config/nvim/lua/plugins/extras/coding/treesitter/text-case.lua new file mode 100644 index 00000000..cb54b99f --- /dev/null +++ b/.config/nvim/lua/plugins/extras/coding/treesitter/text-case.lua @@ -0,0 +1,57 @@ +return { + { + "johmsalas/text-case.nvim", + opts = { + default_keymappings_enabled = false, + }, + -- stylua: ignore + keys = { + { "gCu", "lua require('textcase').current_word('to_upper_case')", mode = { "n", "v" }, desc = "UPPER CASE", }, + { "gCl", "lua require('textcase').current_word('to_lower_case')", mode = { "n", "v" }, desc = "lower case", }, + { "gCs", "lua require('textcase').current_word('to_snake_case')", mode = { "n", "v" }, desc = "snake_case", }, + { "gCd", "lua require('textcase').current_word('to_dash_case')", mode = { "n", "v" }, desc = "dash-case", }, + { "gCn", "lua require('textcase').current_word('to_constant_case')", mode = { "n", "v" }, desc = "CONSTANT_CASE", }, + { "gCd", "lua require('textcase').current_word('to_dot_case')", mode = { "n", "v" }, desc = "dot.case", }, + { "gCa", "lua require('textcase').current_word('to_phrase_case')", mode = { "n", "v" }, desc = "phrase case", }, + { "gCc", "lua require('textcase').current_word('to_camel_case')", mode = { "n", "v" }, desc = "camelCase", }, + { "gCp", "lua require('textcase').current_word('to_pascal_case')", mode = { "n", "v" }, desc = "PascalCase", }, + { "gCt", "lua require('textcase').current_word('to_title_case')", mode = { "n", "v" }, desc = "Title Case", }, + { "gCf", "lua require('textcase').current_word('to_path_case')", mode = { "n", "v" }, desc = "path/case", }, + + -- LSP + { "gCU", "lua require('textcase').lsp_rename('to_upper_case')", mode = { "n", "v" }, desc = "lsp - UPPER CASE", }, + { "gCL", "lua require('textcase').lsp_rename('to_lower_case')", mode = { "n", "v" }, desc = "lsp - lower case", }, + { "gCS", "lua require('textcase').lsp_rename('to_snake_case')", mode = { "n", "v" }, desc = "lsp - snake_case", }, + { "gCD", "lua require('textcase').lsp_rename('to_dash_case')", mode = { "n", "v" }, desc = "lsp - dash-case", }, + { "gCN", "lua require('textcase').lsp_rename('to_constant_case')", mode = { "n", "v" }, desc = "lsp - CONSTANT_CASE", }, + { "gCD", "lua require('textcase').lsp_rename('to_dot_case')", mode = { "n", "v" }, desc = "lsp - dot.case", }, + { "gCA", "lua require('textcase').lsp_rename('to_phrase_case')", mode = { "n", "v" }, desc = "lsp - phrase case", }, + { "gCC", "lua require('textcase').lsp_rename('to_camel_case')", mode = { "n", "v" }, desc = "lsp - camelCase", }, + { "gCP", "lua require('textcase').lsp_rename('to_pascal_case')", mode = { "n", "v" }, desc = "lsp - PascalCase", }, + { "gCT", "lua require('textcase').lsp_rename('to_title_case')", mode = { "n", "v" }, desc = "lsp - Title Case", }, + { "gCF", "lua require('textcase').lsp_rename('to_path_case')", mode = { "n", "v" }, desc = "lsp - path/case", }, + + -- Operator + { "gCou", "lua require('textcase').operator('to_upper_case')", mode = { "n", "v" }, desc = "UPPER CASE", }, + { "gCol", "lua require('textcase').operator('to_lower_case')", mode = { "n", "v" }, desc = "lower case", }, + { "gCos", "lua require('textcase').operator('to_snake_case')", mode = { "n", "v" }, desc = "snake_case", }, + { "gCod", "lua require('textcase').operator('to_dash_case')", mode = { "n", "v" }, desc = "dash-case", }, + { "gCon", "lua require('textcase').operator('to_constant_case')", mode = { "n", "v" }, desc = "CONSTANT_CASE", }, + { "gCod", "lua require('textcase').operator('to_dot_case')", mode = { "n", "v" }, desc = "dot.case", }, + { "gCoa", "lua require('textcase').operator('to_phrase_case')", mode = { "n", "v" }, desc = "phrase case", }, + { "gCoc", "lua require('textcase').operator('to_camel_case')", mode = { "n", "v" }, desc = "camelCase", }, + { "gCop", "lua require('textcase').operator('to_pascal_case')", mode = { "n", "v" }, desc = "PascalCase", }, + { "gCot", "lua require('textcase').operator('to_title_case')", mode = { "n", "v" }, desc = "Title Case", }, + { "gCof", "lua require('textcase').operator('to_path_case')", mode = { "n", "v" }, desc = "path/case", }, + }, + }, + { + "folke/which-key.nvim", + opts = { + defaults = { + ["gC"] = { name = "+text case" }, + ["gCo"] = { name = "+operator" }, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/extras/ui/context.lua b/.config/nvim/lua/plugins/extras/ui/context.lua new file mode 100644 index 00000000..0ca1dabc --- /dev/null +++ b/.config/nvim/lua/plugins/extras/ui/context.lua @@ -0,0 +1,17 @@ +return { + "haringsrob/nvim_context_vt", + event = "LazyFile", + dependencies = "nvim-treesitter/nvim-treesitter", + opts = { + prefix = " 󱞷", + highlight = "NonText", + min_rows = 7, + disable_ft = { "markdown", "css" }, + -- Disable display of virtual text below blocks for indentation based + -- languages like Python + disable_virtual_lines_ft = { "yaml" }, + }, + keys = { + { "ux", "NvimContextVtToggle", desc = "Toggle Context" }, + }, +}