aboutsummaryrefslogtreecommitdiff
path: root/lua/extregs/util.lua
diff options
context:
space:
mode:
authorJosh Rahm <rahm@josher.dev>2026-10-18 15:49:48 -0600
committerJosh Rahm <rahm@josher.dev>2026-10-18 15:49:48 -0600
commit7b15a3a4b4fb4dc6be5d53a22c20d68f8181d68b (patch)
treed3e08937bc78441a2f3d64ad6935337cf6d9b0be /lua/extregs/util.lua
downloadextregs.nvim-main.tar.gz
extregs.nvim-main.tar.bz2
extregs.nvim-main.zip
[extregs] initial commit.HEADmain
added a bunch of useful extregs
Diffstat (limited to 'lua/extregs/util.lua')
-rw-r--r--lua/extregs/util.lua31
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