diff options
-rw-r--r-- | helpers.lua | 17 | ||||
-rw-r--r-- | mbox.lua | 4 | ||||
-rw-r--r-- | mpd.lua | 16 |
3 files changed, 30 insertions, 7 deletions
diff --git a/helpers.lua b/helpers.lua index 874de73..cc5d823 100644 --- a/helpers.lua +++ b/helpers.lua @@ -5,7 +5,10 @@ -- {{{ Grab environment local pairs = pairs -local string = { gsub = string.gsub } +local string = { + sub = string.sub, + gsub = string.gsub +} -- }}} @@ -38,4 +41,16 @@ function escape(text) return text and text:gsub("[\"&'<>]", xml_entities) end -- }}} + +--{{{ Truncate a string +function truncate(text, maxlen) + txtlen = text:len() + + if txtlen > maxlen then + text = text:sub(1, maxlen - 3) .. "..." + end + + return text +end +-- }}} -- }}} @@ -36,9 +36,7 @@ function worker(format, mbox) subject = helpers.escape(subject) -- Don't abuse the wibox, truncate - if subject:len() > 22 then - subject = subject:sub(1, 19) .. "..." - end + subject = helpers.truncate(subject, 22) return {subject} end @@ -34,12 +34,22 @@ function worker(format) nowplaying = helpers.escape(np) -- Don't abuse the wibox, truncate - if nowplaying:len() > 30 then - nowplaying = nowplaying:sub(1, 27) .. "..." - end + nowplaying = helpers.truncate(nowplaying, 30) return {nowplaying} end -- }}} setmetatable(_M, { __call = function(_, ...) return worker(...) end }) + + + + + + + + + + + + |