aboutsummaryrefslogtreecommitdiff
path: root/plugins/autoinsert.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/autoinsert.lua')
-rw-r--r--plugins/autoinsert.lua151
1 files changed, 0 insertions, 151 deletions
diff --git a/plugins/autoinsert.lua b/plugins/autoinsert.lua
index a31f469..c49887a 100644
--- a/plugins/autoinsert.lua
+++ b/plugins/autoinsert.lua
@@ -117,154 +117,3 @@ keymap.add {
["ctrl+backspace"] = "autoinsert:delete-to-previous-word-start",
["ctrl+shift+backspace"] = "autoinsert:delete-to-previous-word-start",
}
-
-
-
-
-
-
-
-
---]]
-
-
-
-
-
-
--- --[[
-
-
-
--- -- mod-version:3
--- local core = require "core"
--- local translate = require "core.doc.translate"
--- local config = require "core.config"
--- local common = require "core.common"
--- local DocView = require "core.docview"
--- local command = require "core.command"
--- local keymap = require "core.keymap"
-
-
--- config.plugins.autoinsert = common.merge({ map = {
--- ["["] = "]",
--- ["{"] = "}",
--- ["("] = ")",
--- ['"'] = '"',
--- ["'"] = "'",
--- ["`"] = "`",
--- } }, config.plugins.autoinsert)
-
-
--- local function is_closer(chr)
--- for _, v in pairs(config.plugins.autoinsert.map) do
--- if v == chr then
--- return true
--- end
--- end
--- end
-
--- local function count_char(text, chr)
--- local count = 0
--- local index = 1
--- while true do
--- local s, e = text:find(chr, index, true)
--- if not s then break end
--- count = count + 1
--- index = e + 1
--- end
--- return count
--- end
-
-
--- local on_text_input = DocView.on_text_input
-
--- function DocView:on_text_input(text)
--- local mapping = config.plugins.autoinsert.map[text]
--- local opener, closer = mapping and true, is_closer(text)
-
--- -- prevents plugin from operating on `CommandView`
--- if (not opener and not closer) or not self:is(DocView) then
--- return on_text_input(self, text)
--- end
-
--- local l1, c1, l2, c2, swap = self.doc:get_selection(true)
--- print(swap)
-
--- for idx, line1, col1, line2, col2, swap in self.doc:get_selections(true) do
--- if opener and closer then
--- -- if the opener and closer characters are the same
--- -- we only consider the opener case if we're not near one
--- if self.doc:get_char(line1, col1, line2, col2) == text then
--- opener = false
--- end
--- end
--- if opener then
--- -- is selection
--- if line1 ~= line2 or col1 ~= col2 then
--- self.doc:insert(line2, col2, mapping)
--- self.doc:insert(line1, col1, text)
--- print(line1, col1, line2, col2, swap)
--- self.doc:set_selections(idx, line1, col1+1, line2, col2+1, swap)
--- else
--- self.doc:text_input(text, idx)
--- -- if the opener and closer chars are the same, we only add the closer one
--- -- if there is an odd number of them in the line
--- if text ~= mapping or (text == mapping and count_char(self.doc.lines[line1], mapping) % 2 == 1) then
--- self.doc:text_input(mapping, idx)
--- self.doc:move_to_cursor(idx, -#mapping)
--- end
--- end
--- else -- closer
--- if line1 == line2 and col1 == col2 then
--- local chr = self.doc:get_char(line1, col1, line2, col2)
--- -- skip inserting closing text
--- if text == chr then
--- self.doc:move_to_cursor(idx, #text)
--- else
--- self.doc:text_input(text, idx)
--- end
--- else -- if we're in a selection we behave as normal
--- self.doc:text_input(text, idx)
--- end
--- end
--- end
--- end
-
-
-
--- local function predicate()
--- return getmetatable(core.active_view) == DocView
--- and not core.active_view.doc:has_selection()
--- end
-
--- command.add(predicate, {
--- ["autoinsert:backspace"] = function()
--- local doc = core.active_view.doc
--- local l, c = doc:get_selection()
--- local chr = doc:get_char(l, c)
--- if config.plugins.autoinsert.map[doc:get_char(l, c - 1)] and is_closer(chr) then
--- doc:delete_to(1)
--- end
--- command.perform "doc:backspace"
--- end,
-
--- ["autoinsert:delete-to-previous-word-start"] = function()
--- local doc = core.active_view.doc
--- local le, ce = translate.previous_word_start(doc, doc:get_selection())
--- while true do
--- local l, c = doc:get_selection()
--- if l == le and c == ce then
--- break
--- end
--- command.perform "autoinsert:backspace"
--- end
--- end,
--- })
-
--- keymap.add {
--- ["backspace"] = "autoinsert:backspace",
--- ["ctrl+backspace"] = "autoinsert:delete-to-previous-word-start",
--- ["ctrl+shift+backspace"] = "autoinsert:delete-to-previous-word-start",
--- }
--- --]]