diff options
author | Francesco Abbate <francesco.bbt@gmail.com> | 2021-04-21 13:37:22 +0200 |
---|---|---|
committer | Francesco Abbate <francesco.bbt@gmail.com> | 2021-04-21 13:37:22 +0200 |
commit | 787f31d3eb85541726e066472e1fd20c44939393 (patch) | |
tree | 2de7f6076577e18b5bb01ad7539bf4a8993cada6 /plugins/detectindent.lua | |
parent | b09046a719cafa8f75c542123828cd76be460a2a (diff) | |
parent | 2fefdae0bb729edb29c6b90e89d34a9e664fbf14 (diff) | |
download | lite-xl-plugins-787f31d3eb85541726e066472e1fd20c44939393.tar.gz lite-xl-plugins-787f31d3eb85541726e066472e1fd20c44939393.zip |
Merge branch 'lite-xl-1.16'
Diffstat (limited to 'plugins/detectindent.lua')
-rw-r--r-- | plugins/detectindent.lua | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/plugins/detectindent.lua b/plugins/detectindent.lua deleted file mode 100644 index 9c473b5..0000000 --- a/plugins/detectindent.lua +++ /dev/null @@ -1,64 +0,0 @@ -local core = require "core" -local command = require "core.command" -local config = require "core.config" -local DocView = require "core.docview" -local Doc = require "core.doc" - -local cache = setmetatable({}, { __mode = "k" }) - - -local function detect_indent(doc) - for _, text in ipairs(doc.lines) do - local str = text:match("^ +") - if str then return "soft", #str end - local str = text:match("^\t+") - if str then return "hard" end - end -end - - -local function update_cache(doc) - local type, size = detect_indent(doc) - if type then - cache[doc] = { type = type, size = size } - end -end - - -local new = Doc.new -function Doc:new(...) - new(self, ...) - update_cache(self) -end - -local clean = Doc.clean -function Doc:clean(...) - clean(self, ...) - update_cache(self) -end - - -local function with_indent_override(doc, fn, ...) - local c = cache[doc] - if not c then - return fn(...) - end - local type, size = config.tab_type, config.indent_size - config.tab_type, config.indent_size = c.type, c.size or config.indent_size - local r1, r2, r3 = fn(...) - config.tab_type, config.indent_size = type, size - return r1, r2, r3 -end - - -local perform = command.perform -function command.perform(...) - return with_indent_override(core.active_view.doc, perform, ...) -end - - -local draw = DocView.draw -function DocView:draw(...) - return with_indent_override(self.doc, draw, self, ...) -end - |