Thu, 23 Mar 2023 15:30:32 +0000
Remove dependency on util.iterators
I mistakenly thought it was bundled with verse.
--- a/scansion/helpers.lua Thu Mar 23 15:16:00 2023 +0000 +++ b/scansion/helpers.lua Thu Mar 23 15:30:32 2023 +0000 @@ -27,7 +27,22 @@ return stanza; end +local function sorted_pairs(t, sort_func) + local keys = {}; + for k in pairs(t) do table.insert(keys, k); end + table.sort(keys, sort_func); + local i = 0; + return function () + i = i + 1; + local key = keys[i]; + if key ~= nil then + return key, t[key]; + end + end; +end + return { filter_expression = filter_expression; fill_vars = fill_vars; + sorted_pairs = sorted_pairs; };
--- a/scansion/ordered_serializer.lua Thu Mar 23 15:16:00 2023 +0000 +++ b/scansion/ordered_serializer.lua Thu Mar 23 15:30:32 2023 +0000 @@ -1,7 +1,7 @@ local s_find, s_gsub, s_match = string.find, string.gsub, string.match; local t_concat, t_insert = table.concat, table.insert; -local pairs = require "util.iterators".sorted_pairs; +local pairs = require "scansion.helpers".sorted_pairs; local escape_table = { ["'"] = "'", ["\""] = """, ["<"] = "<", [">"] = ">", ["&"] = "&" }; local function xml_escape(str) return (s_gsub(str, "['&<>\"]", escape_table)); end
--- a/scansion/pretty.lua Thu Mar 23 15:16:00 2023 +0000 +++ b/scansion/pretty.lua Thu Mar 23 15:30:32 2023 +0000 @@ -3,7 +3,7 @@ local s_format, s_gsub = string.format, string.gsub; local unsorted_pairs = pairs; -local sorted_pairs = require "util.iterators".sorted_pairs; +local sorted_pairs = require "scansion.helpers".sorted_pairs; local escape_table = { ["'"] = "'", ["\""] = """, ["<"] = "<", [">"] = ">", ["&"] = "&" }; local function xml_escape(str) return (s_gsub(str, "['&<>\"]", escape_table)); end