aboutsummaryrefslogtreecommitdiff
path: root/plugins/open_ext.lua
diff options
context:
space:
mode:
authorTakase <20792268+takase1121@users.noreply.github.com>2021-10-24 14:41:21 +0800
committerGitHub <noreply@github.com>2021-10-24 14:41:21 +0800
commit558c1bd7733af1b7c76f007d384030772d39c204 (patch)
tree0bb87c4de8dcd514a27c8352a189889eb61c2f3b /plugins/open_ext.lua
parent00894ec021f6689dc8845fed0e86e37c6ad229f2 (diff)
downloadlite-xl-plugins-558c1bd7733af1b7c76f007d384030772d39c204.tar.gz
lite-xl-plugins-558c1bd7733af1b7c76f007d384030772d39c204.zip
fix open_ext.lua once and for all
Diffstat (limited to 'plugins/open_ext.lua')
-rw-r--r--plugins/open_ext.lua15
1 files changed, 8 insertions, 7 deletions
diff --git a/plugins/open_ext.lua b/plugins/open_ext.lua
index 96532c7..0c7eff1 100644
--- a/plugins/open_ext.lua
+++ b/plugins/open_ext.lua
@@ -138,18 +138,19 @@ function OpenExtView:draw()
end
-local function read_doc(doc, limit)
- if not doc.abs_filename return "" end
- local f = io.open(doc.abs_filename)
- local str = f:read(limit)
+local function validate_doc(doc)
+ local f = io.open(doc.abs_filename or "")
+ if not f then return true end
+ local str = f:read(128 * 4) -- max bytes for 128 codepoints
f:close()
- return str
+ return validate_utf8(str, 128)
end
+
local rootview_open_doc = RootView.open_doc
function RootView:open_doc(doc)
- local str = read_doc(doc, 128 * 4) -- max bytes for 128 codepoints
- if validate_utf8(str, 128) then
+ -- 128 * 4 == max number of bytes for 128 codepoints
+ if validate_doc(doc) then
return rootview_open_doc(self, doc)
else
local node = self:get_active_node_default()