summaryrefslogtreecommitdiff
path: root/lua/snippets/sh/bash-find.lua
blob: add6ecb639ac8f53242570b89e47353b5dc3d83c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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,
      }
   ),
}