mirror of https://github.com/odrling/Aegisub
44 lines
1.0 KiB
Lua
44 lines
1.0 KiB
Lua
|
local tr = aegisub.gettext
|
||
|
|
||
|
script_name = tr"unkf"
|
||
|
script_description = tr"replace kf/ko tags in selected lines by regular k tags"
|
||
|
script_author = "amoethyst"
|
||
|
script_version = "1.0"
|
||
|
|
||
|
|
||
|
function split_line(subs, sel)
|
||
|
local expr_kof = "^(.-{[^}]*\\k)[of](.*)$"
|
||
|
local expr_K = "^(.-{[^}]*\\)K(.*)$"
|
||
|
local before, after
|
||
|
|
||
|
for _, i in ipairs(sel) do
|
||
|
line = subs[i]
|
||
|
|
||
|
-- replace ko and kf tags
|
||
|
while true do
|
||
|
before, after = line.text:match(expr_kof)
|
||
|
if before == nil then
|
||
|
break
|
||
|
else
|
||
|
line.text = before .. after
|
||
|
end
|
||
|
end
|
||
|
|
||
|
-- replace K tags
|
||
|
while true do
|
||
|
before, after = line.text:match(expr_K)
|
||
|
if before == nil then
|
||
|
break
|
||
|
else
|
||
|
line.text = before .. "k" .. after
|
||
|
end
|
||
|
end
|
||
|
|
||
|
subs[i] = line
|
||
|
end
|
||
|
|
||
|
aegisub.set_undo_point(script_name)
|
||
|
end
|
||
|
|
||
|
aegisub.register_macro(script_name, script_description, split_line)
|