diff options
author | rxi <rxi@users.noreply.github.com> | 2020-05-12 21:08:02 +0100 |
---|---|---|
committer | rxi <rxi@users.noreply.github.com> | 2020-05-12 21:08:02 +0100 |
commit | 38983228c83dcdf267a06be8b9174e233a082c76 (patch) | |
tree | 8bf1a7455c34c6fa1cb4e7a3b1a8043ae6274ad8 /plugins | |
parent | 21c2975b7e0ff3ba69dc0c550f034c1b3a9982f2 (diff) | |
download | lite-xl-plugins-38983228c83dcdf267a06be8b9174e233a082c76.tar.gz lite-xl-plugins-38983228c83dcdf267a06be8b9174e233a082c76.zip |
Added `openselected` and `openfilelocation`
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/openfilelocation.lua | 28 | ||||
-rw-r--r-- | plugins/openselected.lua | 26 |
2 files changed, 54 insertions, 0 deletions
diff --git a/plugins/openfilelocation.lua b/plugins/openfilelocation.lua new file mode 100644 index 0000000..e57b740 --- /dev/null +++ b/plugins/openfilelocation.lua @@ -0,0 +1,28 @@ +local core = require "core" +local command = require "core.command" +local config = require "core.config" + + +if PLATFORM == "Windows" then + config.filemanager = "explorer" +else + config.filemanager = "xdg-open" +end + + +command.add("core.docview", { + ["open-file-location:open-file-location"] = function() + local doc = core.active_view.doc + if not doc.filename then + core.error "Cannot open location of unsaved doc" + return + end + local folder_name = doc.filename:match("^(.-)[^/\\]*$") + core.log("Opening \"%s\"", folder_name) + if PLATFORM == "Windows" then + os.execute(string.format("start %s %s", config.filemanager, folder_name)) + else + os.execute(string.format("%s %q", config.filemanager, folder_name)) + end + end +}) diff --git a/plugins/openselected.lua b/plugins/openselected.lua new file mode 100644 index 0000000..5fadbec --- /dev/null +++ b/plugins/openselected.lua @@ -0,0 +1,26 @@ +local core = require "core" +local command = require "core.command" +local keymap = require "core.keymap" + + +command.add("core.docview", { + ["open-selected:open-selected"] = function() + local doc = core.active_view.doc + if not doc:has_selection() then + core.error("No text selected") + return + end + + local text = doc:get_text(doc:get_selection()) + core.log("Opening \"%s\"...", text) + + if PLATFORM == "Windows" then + os.execute(string.format("start explorer %s", text)) + else + os.execute(string.format("xdg-open %q &", text)) + end + end, +}) + + +keymap.add { ["ctrl+shift+o"] = "open-selected:open-selected" } |