diff options
author | rxi <rxi@users.noreply.github.com> | 2020-04-23 20:49:37 +0100 |
---|---|---|
committer | rxi <rxi@users.noreply.github.com> | 2020-04-23 20:49:37 +0100 |
commit | 676f04945010aeb2ae71325bf2d1d6f336a5e162 (patch) | |
tree | 31b2e18df5e84fbc731840e5f1b28c974eea868a /plugins/togglesnakecamel.lua | |
parent | 9049e189d49440939192874d54af15a21eebbafb (diff) | |
download | lite-xl-plugins-676f04945010aeb2ae71325bf2d1d6f336a5e162.tar.gz lite-xl-plugins-676f04945010aeb2ae71325bf2d1d6f336a5e162.zip |
Moved all plugins to `plugins` dir
Diffstat (limited to 'plugins/togglesnakecamel.lua')
-rw-r--r-- | plugins/togglesnakecamel.lua | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/plugins/togglesnakecamel.lua b/plugins/togglesnakecamel.lua new file mode 100644 index 0000000..236c22e --- /dev/null +++ b/plugins/togglesnakecamel.lua @@ -0,0 +1,32 @@ +local core = require "core" +local command = require "core.command" +local keymap = require "core.keymap" + + +local function f(x, y) + return x .. "_" .. string.lower(y) +end + + +local function toggle(symbol) + if not symbol:match("[a-z]") then + return + elseif symbol:match("_") then + return symbol:gsub("_(.)", string.upper) + elseif symbol:match("^[a-z]") then + return symbol:gsub("(.)([A-Z])", f):lower() + end +end + + +command.add("core.docview", { + ["toggle-snake-camel:toggle"] = function() + core.active_view.doc:replace(function(text) + return text:gsub("[%w][%w%d_]*", toggle) + end) + end, +}) + +keymap.add { + ["f6"] = "toggle-snake-camel:toggle", +} |