Mercurial > prosody-hg
comparison util/human/io.lua @ 11897:e84ea5b58b29
util.human.io: Use UTF-8-aware length check in padding functions
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 12 Nov 2021 14:22:21 +0100 |
| parents | 93e9f7ae2f9b |
| children | 0f4feaf9ca64 |
comparison
equal
deleted
inserted
replaced
| 11896:93e9f7ae2f9b | 11897:e84ea5b58b29 |
|---|---|
| 91 local function printf(fmt, ...) | 91 local function printf(fmt, ...) |
| 92 print(fmt:format(...)); | 92 print(fmt:format(...)); |
| 93 end | 93 end |
| 94 | 94 |
| 95 local function padright(s, width) | 95 local function padright(s, width) |
| 96 return s..string.rep(" ", width-#s); | 96 return s..string.rep(" ", width-len(s)); |
| 97 end | 97 end |
| 98 | 98 |
| 99 local function padleft(s, width) | 99 local function padleft(s, width) |
| 100 return string.rep(" ", width-#s)..s; | 100 return string.rep(" ", width-len(s))..s; |
| 101 end | 101 end |
| 102 | 102 |
| 103 local pat = "[%z\001-\127\194-\253][\128-\191]*"; | 103 local pat = "[%z\001-\127\194-\253][\128-\191]*"; |
| 104 local function utf8_cut(s, pos) | 104 local function utf8_cut(s, pos) |
| 105 return s:match("^"..pat:rep(pos)) or s; | 105 return s:match("^"..pat:rep(pos)) or s; |
