diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/formatter.lua | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/plugins/formatter.lua b/plugins/formatter.lua deleted file mode 100644 index 4a4f215..0000000 --- a/plugins/formatter.lua +++ /dev/null @@ -1,58 +0,0 @@ --- mod-version:2 -- lite-xl 2.0 -local core = require "core" -local command = require "core.command" -local keymap = require "core.keymap" - -local function exec(cmd) - local fp = io.popen(cmd, "r") - local res = fp:read("*a") - local success = fp:close() - return res:gsub("%\n$", ""), success -end - -local function get_cmd_text(cmd, doc) - local active_filename = doc and system.absolute_path(doc.filename or "") - return exec(string.format("%s %s", cmd, active_filename)) -end - -local function update_doc(cmd, doc) - local text, success = get_cmd_text(cmd, doc) - if success == nil then - local err_text = "Command '%s' not found in the system" - core.error(string.format(err_text, cmd)) - return - end - - local sel = { doc:get_selection() } - doc:remove(1, 1, math.huge, math.huge) - doc:insert(1, 1, text) - doc:set_selection(table.unpack(sel)) -end - -command.add("core.docview", { - ["format:gofmt"] = function() - update_doc("gofmt", core.active_view.doc) - end, - - ["format:gofmt:goimports"] = function() - update_doc("goimports", core.active_view.doc) - end, - - ["format:gofmt:goreturns"] = function() - update_doc("goreturns", core.active_view.doc) - end, - - ["format:rustfmt"] = function() - update_doc("rustfmt", core.active_view.doc) - end, - - ["format:clang-format"] = function() - update_doc("clang-format", core.active_view.doc) - end, -}) - -keymap.add { - ["ctrl+i"] = "format:gofmt", - ["ctrl+h"] = "format:gofmt:goimports", - ["ctrl+u"] = "format:gofmt:goreturns", -} |