diff options
| author | Josh Rahm <rahm@josher.dev> | 2026-10-18 15:49:48 -0600 |
|---|---|---|
| committer | Josh Rahm <rahm@josher.dev> | 2026-10-18 15:49:48 -0600 |
| commit | 7b15a3a4b4fb4dc6be5d53a22c20d68f8181d68b (patch) | |
| tree | d3e08937bc78441a2f3d64ad6935337cf6d9b0be /lua/extregs/util.lua | |
| download | extregs.nvim-main.tar.gz extregs.nvim-main.tar.bz2 extregs.nvim-main.zip | |
added a bunch of useful extregs
Diffstat (limited to 'lua/extregs/util.lua')
| -rw-r--r-- | lua/extregs/util.lua | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lua/extregs/util.lua b/lua/extregs/util.lua new file mode 100644 index 0000000..6dd1f00 --- /dev/null +++ b/lua/extregs/util.lua @@ -0,0 +1,31 @@ +local M = {} + +function M.textreg(s) + return { lines = { tostring(s) }, type = 'v' } +end + +function M.readonly(getter) + return { + read = function() return M.textreg(getter()) end, + write = function() return false end, + readonly = true, + } +end + +function M.path(path) + return vim.fn.expand(path) +end + +function M.shell_quote(s) + return "'" .. s:gsub("'", "'\\''") .. "'" +end + +function M.system(argv, input, label) + local result = vim.system(argv, { text = false, stdin = input }):wait() + if result.code ~= 0 then + error((label or argv[1]) .. ': ' .. (result.stderr or ('exit status ' .. result.code))) + end + return result.stdout or '' +end + +return M |