summaryrefslogtreecommitdiff
path: root/mac/.config/mpv/script-modules/utf8/init.lua
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-08-23 12:42:37 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-08-23 12:42:37 +0900
commit07d294425a98ee5d1e22d03e2b24ae2c76e487c0 (patch)
treea6818f0d64438c5fdb88b00a35d944f80c056213 /mac/.config/mpv/script-modules/utf8/init.lua
parent6fc28cdb3529ca8ee864cb5c41674cb0a4af72a1 (diff)
updates
Diffstat (limited to 'mac/.config/mpv/script-modules/utf8/init.lua')
-rw-r--r--mac/.config/mpv/script-modules/utf8/init.lua71
1 files changed, 71 insertions, 0 deletions
diff --git a/mac/.config/mpv/script-modules/utf8/init.lua b/mac/.config/mpv/script-modules/utf8/init.lua
new file mode 100644
index 0000000..d2f72a4
--- /dev/null
+++ b/mac/.config/mpv/script-modules/utf8/init.lua
@@ -0,0 +1,71 @@
+local module_path = ...
+module_path = module_path:match("^(.-)init$") or (module_path .. '.')
+
+local ffi_enabled, ffi = pcall(require, 'ffi')
+
+local utf8 = {
+ config = {},
+ default = {
+ debug = nil,
+ logger = io.write,
+ loadstring = (loadstring or load),
+ unpack = (unpack or table.unpack),
+ cache = {
+ regex = setmetatable({},{
+ __mode = 'kv'
+ }),
+ plain = setmetatable({},{
+ __mode = 'kv'
+ }),
+ },
+ locale = nil,
+ int32array = function(size)
+ if ffi_enabled then
+ return ffi.new("uint32_t[?]", size + 1)
+ else
+ return {}
+ end
+ end,
+ conversion = {
+ uc_lc = nil,
+ lc_uc = nil
+ }
+ },
+ regex = {
+ compiletime = {
+ charclass = {},
+ begins = {},
+ ends = {},
+ modifier = {},
+ }
+ },
+ util = {},
+}
+
+function utf8:require(name)
+ local full_module_path = module_path .. name
+ if package.loaded[full_module_path] then
+ return package.loaded[full_module_path]
+ end
+
+ local mod = require(full_module_path)
+ if type(mod) == 'function' then
+ mod = mod(self)
+ package.loaded[full_module_path] = mod
+ end
+ return mod
+end
+
+function utf8:init()
+ for k, v in pairs(self.default) do
+ self.config[k] = self.config[k] or v
+ end
+
+ self:require "util"
+ self:require "primitives.init"
+ self:require "functions.lua53"
+
+ return self
+end
+
+return utf8