aboutsummaryrefslogtreecommitdiffstats
path: root/restyler.lua
diff options
context:
space:
mode:
authorgarret <garret@airmail.cc>2025-03-11 16:07:33 +0000
committergarret <garret@airmail.cc>2025-03-11 16:07:33 +0000
commit9f455636d19474b404ec89e1e17152e3c08a2430 (patch)
tree5697cb779b49f798b5eed39c1465778b0e523312 /restyler.lua
parent76b99a0e10ef6b60779d6c9a343c000129199b86 (diff)
downloadaegisub-scripts-9f455636d19474b404ec89e1e17152e3c08a2430.tar.gz
aegisub-scripts-9f455636d19474b404ec89e1e17152e3c08a2430.tar.bz2
aegisub-scripts-9f455636d19474b404ec89e1e17152e3c08a2430.zip
restyle the restyler (spaces -> tabs)
Diffstat (limited to 'restyler.lua')
-rw-r--r--restyler.lua61
1 files changed, 31 insertions, 30 deletions
diff --git a/restyler.lua b/restyler.lua
index 9430676..d0a2082 100644
--- a/restyler.lua
+++ b/restyler.lua
@@ -6,9 +6,9 @@ script_namespace = "garret.restyler"
local haveDepCtrl, DependencyControl, depctrl = pcall(require, "l0.DependencyControl")
if haveDepCtrl then
- depctrl = DependencyControl {
- --feed="TODO",
- }
+ depctrl = DependencyControl {
+ --feed="TODO",
+ }
end
include("karaskel.lua")
@@ -17,52 +17,53 @@ include("cleantags.lua")
-- local config = simpleconf.get_config(aegisub.decode_path(config_dir.."/"..script_namespace..".conf"), {new_style = "Default"})
-- TODO: detect pre-existing inline tags
- -- probably need some kind of ass parsing, or a hack with match()
function add_tags(txt, italic, align) -- everything except txt is boolean. nil = don't change, !nil = change to this value
--[[not quite happy with this, it overwrites the alignment - ie line is "{\an4} blah blah" and style is an8, it just changes it to an8
realisticly this _probably_ won't be a problem, but still would like to try and stop it at some point to be safe
italics is fine, it just does {\i1\i0}, which is jank and bad but works fine so i won't worry about it too much]]
- if italic == true then
- txt="{\\i1}"..txt
- elseif italics == false then
- txt="{\\i0}"..txt
- end
- if align ~= nil then
- txt="{\\an"..align.."}"..txt
- end
- txt = cleantags(txt)
- return txt
+ if italic == true then
+ txt="{\\i1}"..txt
+ elseif italics == false then
+ txt="{\\i0}"..txt
+ end
+ if align ~= nil then
+ txt="{\\an"..align.."}"..txt
+ end
+ txt = cleantags(txt)
+ return txt
end
function get_new(old, new)
- local i = nil
- if old ~= new then
- i = old
- end
- return i
+ local i = nil
+ if old ~= new then
+ i = old
+ end
+ return i
end
function main(sub, sel)
- local _, styles = karaskel.collect_head(sub, false)
- local new_style_name = "Default"
- local new_style = styles[new_style_name]
+ local _, styles = karaskel.collect_head(sub, false)
+ local new_style_name = "Default"
+ local new_style = styles[new_style_name]
+
+
for h, i in ipairs(sel) do
- -- TODO: automatically exclude styles (also configurable)
+ -- TODO: automatically exclude styles (also configurable)
local line = sub[i]
- local old_style = styles[line.style] -- reinventing the wheel a bit here, since karaskel can do this with preproc_line_size (line.styleref), but it also adds loads of other crap we don't care about for the same functionality in the end, so ¯\_(ツ)_/¯
- local italic = get_new(old_style.italic, new_style.italic)
- local align = get_new(old_style.align, new_style.align)
- line.style = new_style_name
- line.text = add_tags(line.text, italic, align)
+ local old_style = styles[line.style] -- reinventing the wheel a bit here, since karaskel can do this with preproc_line_size (line.styleref), but it also adds loads of other crap we don't care about for the same functionality in the end, so ¯\_(ツ)_/¯
+ local italic = get_new(old_style.italic, new_style.italic)
+ local align = get_new(old_style.align, new_style.align)
+ line.style = new_style_name
+ line.text = add_tags(line.text, italic, align)
sub[i] = line
end
aegisub.set_undo_point(script_name)
end
if haveDepCtrl then
- depctrl:registerMacro(main)
+ depctrl:registerMacro(main)
else
- aegisub.register_macro(script_name, script_description, main)
+ aegisub.register_macro(script_name, script_description, main)
end