<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <link>http://hg.omfa.de/prosody-hg/</link>
    <language>en-us</language>

    <title>prosody-hg: util/human/io.lua history</title>
    <description>util/human/io.lua revision history</description>
    <item>
    <title>Merge 13.0-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/565debd9c37a/util/human/io.lua</link>
    <description><![CDATA[Merge 13.0-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 12 Jun 2026 13:05:10 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Add simple version comparison</title>
    <link>http://hg.omfa.de/prosody-hg/log/7eb0e47418ab/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Add simple version comparison<br/>
<br/>
This is a small helper function that compares version string (it can be passed<br/>
to table.sort() as a comparator).<br/>
<br/>
Full version sorts (e.g. semver, and natural/alphanumeric sort in general) are<br/>
more complex, and I would like to eventually support those. But this is a<br/>
stable branch and we don't need it for anything just yet.<br/>
<br/>
Regarding justification for the stable branch:<br/>
<br/>
The function is being committed with extensive tests, and isn't currently used<br/>
anywhere. The plan is to use it in an upcoming update of how TLS profiles are<br/>
configured, but the inputs in that case will be fixed (meaning that the risk<br/>
of breakage is lower than if we were running it against arbitrary data).]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 12 Jun 2026 11:38:39 +0100</pubDate>
</item>
<item>
    <title>Merge 13.0-&gt;trunk</title>
    <link>http://hg.omfa.de/prosody-hg/log/7008869fcce2/util/human/io.lua</link>
    <description><![CDATA[Merge 13.0-&gt;trunk]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 02 Apr 2026 20:54:46 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Trim any trailing newline from password entry</title>
    <link>http://hg.omfa.de/prosody-hg/log/519c16c2eb21/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Trim any trailing newline from password entry<br/>
<br/>
Newlines are invalid in passwords anyway, according to saslprep. Trailing<br/>
newlines can happen when pasting, e.g. when copying the output of command-line<br/>
password managers/generators to the clipboard.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 02 Apr 2026 20:49:37 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Support disabling column widths</title>
    <link>http://hg.omfa.de/prosody-hg/log/cfe3e85e715f/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Support disabling column widths<br/>
<br/>
This makes columns be of variable with, padding and ellipsis is<br/>
disabled. With the separator set to &quot;\t&quot;, this produces TSV output]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 30 Aug 2025 21:55:03 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Allow specifying a different column separator</title>
    <link>http://hg.omfa.de/prosody-hg/log/4f1b6f6e68c0/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Allow specifying a different column separator]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 30 Aug 2025 21:54:07 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Factor out column width calculation</title>
    <link>http://hg.omfa.de/prosody-hg/log/6a493e41c2cc/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Factor out column width calculation<br/>
<br/>
Goal is to make it optional and have e.g. CSV/TSV output]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 30 Aug 2025 21:52:00 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Don't accept ambiguous durations by default</title>
    <link>http://hg.omfa.de/prosody-hg/log/82513890a1d8/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Don't accept ambiguous durations by default<br/>
<br/>
The new method parse_duration_lax() exports the old behaviour, mainly for<br/>
compatibility purposes.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 30 Nov 2023 13:42:44 +0000</pubDate>
</item>
<item>
    <title>util.human.io: Fix stray 'stty' error by only querying width of real ttys</title>
    <link>http://hg.omfa.de/prosody-hg/log/8dbe693ded6b/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix stray 'stty' error by only querying width of real ttys<br/>
<br/>
This adds a dependency on a binary and *nix-specific module but then<br/>
stty is probably *nix-specific anyway so maybe that's fine.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 16 Jul 2023 21:21:37 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Fix pattern in parse_duration() to cover all used letters</title>
    <link>http://hg.omfa.de/prosody-hg/log/278920294dfe/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix pattern in parse_duration() to cover all used letters<br/>
<br/>
Notably 'h' was missing. Awkwardly, 'hour' would result in 'ho' which<br/>
was missing from table.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 16 Jul 2023 19:27:18 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Fix column width miscalculation</title>
    <link>http://hg.omfa.de/prosody-hg/log/7a75cbc4d87c/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix column width miscalculation<br/>
<br/>
Fixes that the more fixed width columns there are, the narrower the<br/>
resulting table becomes. A right-aligned variable-width column at the<br/>
last position should always be flush to the right side of the terminal.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 09 Apr 2023 22:31:12 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Fix error with ellipsis to negative length</title>
    <link>http://hg.omfa.de/prosody-hg/log/386ca97bec5b/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix error with ellipsis to negative length<br/>
<br/>
Can happen if you resize the terminal too narrow that the space left for<br/>
variable width columns end up negative.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sun, 09 Apr 2023 01:34:08 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Add parse_duration() method to parse a duration string</title>
    <link>http://hg.omfa.de/prosody-hg/log/f4d7fe919969/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Add parse_duration() method to parse a duration string<br/>
<br/>
Similar logic occurs throughout various modules in the codebase. We might even<br/>
want a module:get_option_duration()??]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 14:14:53 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Coerce $COLUMNS to number</title>
    <link>http://hg.omfa.de/prosody-hg/log/164c2787901a/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Coerce $COLUMNS to number<br/>
<br/>
os.getenv() returns a string but term_width() should return a number]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:54:16 +0200</pubDate>
</item>
<item>
    <title>util.human.io: table: don't read $COLUMNS directly, just use term_width()</title>
    <link>http://hg.omfa.de/prosody-hg/log/115ce3ab5b8b/util/human/io.lua</link>
    <description><![CDATA[util.human.io: table: don't read $COLUMNS directly, just use term_width()<br/>
<br/>
...which now reads $COLUMNS for us and does the right thing.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 12:51:26 +0100</pubDate>
</item>
<item>
    <title>util.human.io: table: Return determined width as a second result</title>
    <link>http://hg.omfa.de/prosody-hg/log/946442df65d3/util/human/io.lua</link>
    <description><![CDATA[util.human.io: table: Return determined width as a second result<br/>
<br/>
This allows callers to adjust other things based on the width of the rows<br/>
(such as header lines).]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 12:47:24 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Prefer using the $COLUMNS environment variable if set (by readline)</title>
    <link>http://hg.omfa.de/prosody-hg/log/d939bf469057/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Prefer using the $COLUMNS environment variable if set (by readline)<br/>
<br/>
Feels like it should be faster.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:42:20 +0200</pubDate>
</item>
<item>
    <title>util.human.io: table: use term_width() to discover terminal width</title>
    <link>http://hg.omfa.de/prosody-hg/log/da0b3cb9a2ec/util/human/io.lua</link>
    <description><![CDATA[util.human.io: table: use term_width() to discover terminal width]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 12:35:39 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Add term_width() method to discover the terminal width</title>
    <link>http://hg.omfa.de/prosody-hg/log/5bd272095388/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Add term_width() method to discover the terminal width<br/>
<br/>
This is not standard POSIX, but apparently very widely supported. For<br/>
reference: https://www.austingroupbugs.net/view.php?id=1053]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 12:33:17 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Pass the whole column definition to mapper function</title>
    <link>http://hg.omfa.de/prosody-hg/log/0cbe400ebab4/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Pass the whole column definition to mapper function<br/>
<br/>
I forget why I wanted this, but it may allow doing things like pull<br/>
settings from the column, especially when the mapper function is reused<br/>
among many columns.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:02:20 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Allow defining per column ellipsis function</title>
    <link>http://hg.omfa.de/prosody-hg/log/9ddb344b9fab/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Allow defining per column ellipsis function<br/>
<br/>
As an alternative to doing it in the mapper function. Could be useful in<br/>
cases where one may want to put the ellipsis in the middle or beginning<br/>
instead of the start.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:00:58 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Pass expected width to mapper function</title>
    <link>http://hg.omfa.de/prosody-hg/log/83b93ad08b23/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Pass expected width to mapper function<br/>
<br/>
In order to allow it to adjust its output to available space, apply its<br/>
own ellipsis method or other compacting method.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 07 Apr 2023 13:00:00 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Fix pattern to support fractional proportions</title>
    <link>http://hg.omfa.de/prosody-hg/log/1023c3faffac/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix pattern to support fractional proportions]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 06 Apr 2023 15:03:45 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Support for dynamic &quot;proportional&quot; columns</title>
    <link>http://hg.omfa.de/prosody-hg/log/1f89a2a9f532/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Support for dynamic &quot;proportional&quot; columns<br/>
<br/>
Instead of a percentage, this allows you to specify e.g. `width=&quot;[N]p&quot;`, where<br/>
a width=&quot;2p&quot; will be twice the width of a width=&quot;1p&quot; column.<br/>
<br/>
Compatibility with the old %-based widths is preserved, and percentages adding<br/>
up to more than 100 are handled more gracefully.]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 06 Apr 2023 14:51:52 +0100</pubDate>
</item>
<item>
    <title>util: Prefix module imports with prosody namespace</title>
    <link>http://hg.omfa.de/prosody-hg/log/d10957394a3c/util/human/io.lua</link>
    <description><![CDATA[util: Prefix module imports with prosody namespace]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 17 Mar 2023 16:23:16 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Fix handling of os.execute() return values in Lua 5.2+</title>
    <link>http://hg.omfa.de/prosody-hg/log/d513e4bd4928/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix handling of os.execute() return values in Lua 5.2+<br/>
<br/>
Wrong part of Lua 5.1 compat removed in 0f4feaf9ca64]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 20 Oct 2022 17:35:01 +0200</pubDate>
</item>
<item>
    <title>util: Remove various Lua 5.1 compatibility hacks</title>
    <link>http://hg.omfa.de/prosody-hg/log/0f4feaf9ca64/util/human/io.lua</link>
    <description><![CDATA[util: Remove various Lua 5.1 compatibility hacks<br/>
<br/>
Part of #1600]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 02 Jul 2022 17:31:14 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Use UTF-8-aware length check in padding functions</title>
    <link>http://hg.omfa.de/prosody-hg/log/e84ea5b58b29/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Use UTF-8-aware length check in padding functions]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 12 Nov 2021 14:22:21 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Fix cutting of UTF-8 into pieces</title>
    <link>http://hg.omfa.de/prosody-hg/log/93e9f7ae2f9b/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix cutting of UTF-8 into pieces<br/>
<br/>
Down the rabbit hole we go...]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 12 Nov 2021 14:21:15 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Trim any broken UTF-8 from ellipsis</title>
    <link>http://hg.omfa.de/prosody-hg/log/d278a4c6da7f/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Trim any broken UTF-8 from ellipsis<br/>
<br/>
This should fix basic problems with multi-byte UTF-8 sequences getting<br/>
cut in the middle.<br/>
<br/>
Down the rabbit hole we go...]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 12 Nov 2021 12:19:01 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Factor out ellipsis function</title>
    <link>http://hg.omfa.de/prosody-hg/log/57106c61d104/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Factor out ellipsis function<br/>
<br/>
Could be useful elsewhere]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 12 Nov 2021 12:14:27 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Support specifying column defaults in tables</title>
    <link>http://hg.omfa.de/prosody-hg/log/afef1e170de7/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Support specifying column defaults in tables]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 12 Nov 2021 11:44:31 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Pass nil to cell mapper to signal missing value</title>
    <link>http://hg.omfa.de/prosody-hg/log/e712133b4de1/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Pass nil to cell mapper to signal missing value<br/>
<br/>
Seems more like conventional Lua than passing an empty string to signal<br/>
lack of value.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Fri, 12 Nov 2021 11:43:24 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Fix right-alignment</title>
    <link>http://hg.omfa.de/prosody-hg/log/1eb83bc6f706/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix right-alignment]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Sat, 06 Jun 2020 16:43:28 +0200</pubDate>
</item>
<item>
    <title>util.human.io.table: Allow a map callaback per column</title>
    <link>http://hg.omfa.de/prosody-hg/log/9dc34e1556d9/util/human/io.lua</link>
    <description><![CDATA[util.human.io.table: Allow a map callaback per column<br/>
<br/>
This allows e.g. mapping booleans to &quot;yes&quot; or &quot;no&quot;, specific number<br/>
formatting or generating virtual columns. All while not mutating the<br/>
underlying data or creating additional temporary tables.]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 04 Jun 2020 21:32:28 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Consider separator when calculating remaining width</title>
    <link>http://hg.omfa.de/prosody-hg/log/e890b83f08cf/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Consider separator when calculating remaining width]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 04 Jun 2020 18:40:37 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Use literal ellipsis instead of \u escape</title>
    <link>http://hg.omfa.de/prosody-hg/log/3af3354366eb/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Use literal ellipsis instead of \u escape<br/>
<br/>
For compat with Lua 5.2 and before]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 04 Jun 2020 18:36:47 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Replace overflow with ellipsis</title>
    <link>http://hg.omfa.de/prosody-hg/log/18dc4639442e/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Replace overflow with ellipsis]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 04 Jun 2020 18:32:33 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Draw a separator between columns</title>
    <link>http://hg.omfa.de/prosody-hg/log/6af28c756752/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Draw a separator between columns]]></description>
    <author>&#75;&#105;&#109;&#32;&#65;&#108;&#118;&#101;&#102;&#117;&#114;&#32;&#60;&#122;&#97;&#115;&#104;&#64;&#122;&#97;&#115;&#104;&#46;&#115;&#101;&#62;</author>
    <pubDate>Thu, 04 Jun 2020 18:31:50 +0200</pubDate>
</item>
<item>
    <title>util.human.io: Remove padding option and use $COLUMNS as default width</title>
    <link>http://hg.omfa.de/prosody-hg/log/d009a79f723a/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Remove padding option and use $COLUMNS as default width]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 04 Jun 2020 17:24:30 +0100</pubDate>
</item>
<item>
    <title>util.human.io: table: Fix title printing when columns use named keys</title>
    <link>http://hg.omfa.de/prosody-hg/log/c7a0eab27165/util/human/io.lua</link>
    <description><![CDATA[util.human.io: table: Fix title printing when columns use named keys]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Thu, 04 Jun 2020 10:39:55 +0100</pubDate>
</item>
<item>
    <title>util.human.io: table: Return title row when no row data passed</title>
    <link>http://hg.omfa.de/prosody-hg/log/d15a4284fdf8/util/human/io.lua</link>
    <description><![CDATA[util.human.io: table: Return title row when no row data passed]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 03 Jun 2020 22:58:29 +0100</pubDate>
</item>
<item>
    <title>util.human.io: table: switch row function to simply returning prepared row string</title>
    <link>http://hg.omfa.de/prosody-hg/log/a256044c1d12/util/human/io.lua</link>
    <description><![CDATA[util.human.io: table: switch row function to simply returning prepared row string]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 03 Jun 2020 22:45:33 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Add padleft, padright and a table printing function</title>
    <link>http://hg.omfa.de/prosody-hg/log/8d47858805c9/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Add padleft, padright and a table printing function]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Wed, 03 Jun 2020 22:21:17 +0100</pubDate>
</item>
<item>
    <title>util.human.io: Fix variable name [luacheck]</title>
    <link>http://hg.omfa.de/prosody-hg/log/a3f3f42736f2/util/human/io.lua</link>
    <description><![CDATA[util.human.io: Fix variable name [luacheck]]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 02 Jun 2020 08:02:03 +0100</pubDate>
</item>
<item>
    <title>util.human.io: New central place for UI helpers</title>
    <link>http://hg.omfa.de/prosody-hg/log/3f1889608f3e/util/human/io.lua</link>
    <description><![CDATA[util.human.io: New central place for UI helpers]]></description>
    <author>&#77;&#97;&#116;&#116;&#104;&#101;&#119;&#32;&#87;&#105;&#108;&#100;&#32;&#60;&#109;&#119;&#105;&#108;&#100;&#49;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;&#62;</author>
    <pubDate>Tue, 02 Jun 2020 08:00:37 +0100</pubDate>
</item>

  </channel>
</rss>
