37 lines
900 B
Lua
37 lines
900 B
Lua
local tr = aegisub.gettext
|
|
|
|
script_name = tr"Double t"
|
|
script_description = tr"Ensure k tags are in the right place with double t's"
|
|
script_author = "amoethyst"
|
|
script_version = "1.0"
|
|
|
|
local expr = "^(.-)({\\[kK][fo]?[0-9.]+[^}]-})( -t)(t.*)$"
|
|
|
|
|
|
local function _tte(subs, i)
|
|
local line = subs[i]
|
|
|
|
local before, tag, start_tt, after = line.text:match(expr)
|
|
while after ~= nil do
|
|
line.text = before .. start_tt .. tag .. after
|
|
before, tag, start_tt, after = line.text:match(expr)
|
|
end
|
|
|
|
return line
|
|
end
|
|
|
|
|
|
local function tte(subs, sel)
|
|
for _, i in ipairs(sel) do
|
|
local ok, res = pcall(_tte, subs, i)
|
|
if ok then
|
|
subs[i] = res
|
|
else
|
|
aegisub.log("error on line " .. i .. ": " .. line.text .. "\n")
|
|
aegisub.log(res .. "\n")
|
|
end
|
|
end
|
|
end
|
|
|
|
aegisub.register_macro(script_name, script_description, tte)
|