aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helpers.lua17
-rw-r--r--mbox.lua4
-rw-r--r--mpd.lua16
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
+-- }}}
-- }}}
diff --git a/mbox.lua b/mbox.lua
index f0a5817..d5c1b56 100644
--- a/mbox.lua
+++ b/mbox.lua
@@ -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
diff --git a/mpd.lua b/mpd.lua
index f8c0400..bb193b5 100644
--- a/mpd.lua
+++ b/mpd.lua
@@ -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 })
+
+
+
+
+
+
+
+
+
+
+
+