summaryrefslogtreecommitdiff
path: root/lua/snippets/sh/bash-find.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/snippets/sh/bash-find.lua')
-rw-r--r--lua/snippets/sh/bash-find.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/lua/snippets/sh/bash-find.lua b/lua/snippets/sh/bash-find.lua
new file mode 100644
index 0000000..be56beb
--- /dev/null
+++ b/lua/snippets/sh/bash-find.lua
@@ -0,0 +1,32 @@
+local is_bash = function()
+ local shebang = vim.api.nvim_buf_get_lines(0, 0, 1, true) or {}
+ if shebang[1] and string.find(shebang[1], "bash") then
+ return true
+ end
+ return false
+end
+
+return {
+ s(
+ { trig = "find-xargs", dscr = "" },
+ fmt( -- The snippet code actually looks like the equation environment it produces.
+ [[
+ find <> \
+ -type <> \
+ -name '*.<>' \
+ -print0 | xargs -0 -r -P 0 <>
+ ]],
+ {
+ i(1, "."), -- search directory
+ c(2, { t("f"), t("d") }), -- file or directory
+ i(3, "ext"), -- file extension
+ i(4, "echo"), -- xaargs command
+ },
+ { delimiters = "<>" }
+ ),
+ {
+ show_condition = is_bash,
+ condition = is_bash,
+ }
+ ),
+}