dotfiles/.config/nvim/lua/plugins/extras/coding/treesitter/various-textobjs.lua
2023-12-30 12:52:18 +01:00

26 lines
2.5 KiB
Lua

return {
"chrisgrieser/nvim-various-textobjs",
opts = { useDefaultKeymaps = false },
-- stylua: ignore
keys = {
{ "im", ft = { "markdown", "toml" }, mode = { "o", "x" }, function() require("various-textobjs").mdlink("inner") end, desc = "Markdown Link" },
{ "am", ft = { "markdown", "toml" }, mode = { "o", "x" }, function() require("various-textobjs").mdlink("outer") end, desc = "Markdown Link" },
{ "iC", ft = { "markdown" }, mode = { "o", "x" }, function() require("various-textobjs").mdFencedCodeBlock("inner") end, desc = "CodeBlock" },
{ "aC", ft = { "markdown" }, mode = { "o", "x" }, function() require("various-textobjs").mdFencedCodeBlock("outer") end, desc = "CodeBlock" },
{ "gd", mode = { "o", "x" }, function() require("various-textobjs").diagnostics() end, desc = "Diagnostics" },
{ "iy", ft = { "python" }, mode = { "o", "x" }, function() require("various-textobjs").pyTripleQuotes("inner") end, desc = "Triple Quotes" },
{ "ay", ft = { "python" }, mode = { "o", "x" }, function() require("various-textobjs").pyTripleQuotes("outer") end, desc = "Triple Quotes" },
{ "iC", ft = { "css", "scss", "less" }, mode = { "o", "x" }, function() require("various-textobjs").cssSelector("inner") end, desc = "CSS Selector" },
{ "aC", ft = { "css", "scss", "less" }, mode = { "o", "x" }, function() require("various-textobjs").cssSelector("outer") end, desc = "CSS Selector" },
{ "iP", ft = { "sh" }, mode = { "o", "x" }, function() require("various-textobjs").shellPipe("inner") end, desc = "Pipe" },
{ "aP", ft = { "sh" }, mode = { "o", "x" }, function() require("various-textobjs").shellPipe("outer") end, desc = "Pipe" },
{ "iH", ft = { "html, xml, css, scss, less" }, mode = { "o", "x" }, function() require("various-textobjs").htmlAttribute("inner") end, desc = "HTML Attribute" },
{ "iv", mode = { "o", "x" }, function() require("various-textobjs").value("inner") end, desc = "Value" },
{ "av", mode = { "o", "x" }, function() require("various-textobjs").value("outer") end, desc = "Value" },
{ "ik", mode = { "o", "x" }, function() require("various-textobjs").key("inner") end, desc = "Key" },
{ "ak", mode = { "o", "x" }, function() require("various-textobjs").key("outer") end, desc = "Key" },
{ "L", mode = { "o", "x" }, function() require("various-textobjs").url() end, desc = "Link" },
{ "iN", mode = { "o", "x" }, function() require("various-textobjs").number("inner") end, desc = "Number" },
{ "aN", mode = { "o", "x" }, function() require("various-textobjs").number("outer") end, desc = "Number" },
},
}