From d8c4bfa6bad7153486fd68f8c9368dc3bb458ce5 Mon Sep 17 00:00:00 2001 From: rxi Date: Sat, 28 Dec 2019 11:16:32 +0000 Subject: Initial commit --- data/plugins/exec.lua | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 data/plugins/exec.lua (limited to 'data/plugins/exec.lua') diff --git a/data/plugins/exec.lua b/data/plugins/exec.lua new file mode 100644 index 00000000..a11ac906 --- /dev/null +++ b/data/plugins/exec.lua @@ -0,0 +1,27 @@ +local core = require "core" +local command = require "core.command" + + +local function exec(cmd) + local fp = io.popen(cmd, "r") + local res = fp:read("*a") + fp:close() + return res:gsub("%\n$", "") +end + + +command.add("core.docview", { + ["exec:insert"] = function() + core.command_view:enter("Insert Result Of Command", function(cmd) + core.active_view.doc:text_input(exec(cmd)) + end) + end, + + ["exec:replace"] = function() + core.command_view:enter("Replace With Result Of Command", function(cmd) + core.active_view.doc:replace(function(str) + return exec(string.format("echo %q | %s", str, cmd)) + end) + end) + end, +}) -- cgit v1.2.3