diff options
author | rxi <rxi@users.noreply.github.com> | 2020-10-01 21:43:33 +0100 |
---|---|---|
committer | rxi <rxi@users.noreply.github.com> | 2020-10-01 21:43:33 +0100 |
commit | de4227d55a5c821e3450554c952dfb3b1b192266 (patch) | |
tree | e23c74c7736fa1ace2d4cf69478344901b85f844 | |
parent | fb6e446c1b94da9d30e846b1202712f4bf38217f (diff) | |
download | lite-xl-plugins-de4227d55a5c821e3450554c952dfb3b1b192266.tar.gz lite-xl-plugins-de4227d55a5c821e3450554c952dfb3b1b192266.zip |
Updated autoinsert plugin
-rw-r--r-- | plugins/autoinsert.lua | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/autoinsert.lua b/plugins/autoinsert.lua index 530bed6..243e00b 100644 --- a/plugins/autoinsert.lua +++ b/plugins/autoinsert.lua @@ -24,6 +24,14 @@ local function is_closer(chr) end end +local function count_char(text, chr) + local count = 0 + for _ in text:gmatch(chr) do + count = count + 1 + end + return count +end + local on_text_input = DocView.on_text_input @@ -51,6 +59,12 @@ function DocView:on_text_input(text) return end + -- don't insert closing quote if we have a non-even number on this line + local line = self.doc:get_selection() + if text == mapping and count_char(self.doc.lines[line], text) % 2 == 1 then + return on_text_input(self, text) + end + -- auto insert closing bracket if mapping and (chr:find("%s") or is_closer(chr) and chr ~= '"') then on_text_input(self, text) |