Add Compression API

This commit is contained in:
Jean-Patrick Guerrero
2021-10-25 00:14:21 +02:00
parent bd5ea4e6a8
commit 9e50f58f5b
4 changed files with 66 additions and 0 deletions

View File

@ -285,4 +285,38 @@ i3.add_search_filter("groups", function(item, groups)
return has_groups
end)
function i3.compress(item, def)
if not true_str(item) then
return err "i3.compress: item name missing"
end
if not is_table(def) then
return err "i3.compress: replace definition missing"
end
if not true_str(def.replace) then
return err "i3.compress: replace string missing"
end
if not is_table(def.by) then
return err "i3.compress: replace substrings missing"
end
local t = {}
i3.compress_groups[item] = i3.compress_groups[item] or {}
for _, str in ipairs(def.by) do
local it = item:gsub(def.replace, str)
insert(t, it)
insert(i3.compress_groups[item], it)
i3.compressed[it] = true
end
end
function i3.get_compress_groups()
return i3.compress_groups
end
return set_fs, i3.set_tab