Compare commits

..

No commits in common. "466ca06f79eea3d0317e9d761f266531bc6ec85e" and "c1647646b296c75a8fe0d46e7905599201cb37ac" have entirely different histories.

1 changed files with 6 additions and 39 deletions

View File

@ -34,55 +34,22 @@ end
function hilbish.messages.send(message) function hilbish.messages.send(message)
expect(message, 'text') expect(message, 'text')
expect(message, 'title') expect(message, 'title')
counter = counter + 1 message.index = counter + 1
message.index = counter
message.read = false
M._messages[message.index] = message M._messages[message.index] = message
bait.throw('hilbish.notification', message) bait.throw('hilbish.notification', message)
end end
function hilbish.messages.read(idx)
local msg = M._messages[idx]
if msg then
M._messages[idx].read = true
end
end
function hilbish.messages.readAll(idx)
for _, msg in ipairs(hilbish.messages.all()) do
hilbish.messages.read(msg.index)
end
end
function hilbish.messages.delete(idx)
local msg = M._messages[idx]
if not msg then
error(string.format('invalid message index %d', idx or -1))
end
M._messages[idx] = nil
end
function hilbish.messages.clear()
for _, msg in ipairs(hilbish.messages.all()) do
hilbish.messages.delete(msg.index)
end
end
function hilbish.messages.all() function hilbish.messages.all()
return M._messages return M._messages
end end
commander.register('messages', function(_, sinks) commander.register('messages', function(_, sinks)
for idx = counter, 1, -1 do for _, msg in ipairs(hilbish.messages.all()) do
local msg = M._messages[idx] local heading = lunacolors.format(string.format('Message {cyan}#%d{reset}: %s', msg.index, msg.title))
if msg then sinks.out:writeln(heading)
local heading = lunacolors.format(string.format('Message {cyan}#%d{reset}: %s', msg.index, msg.title)) sinks.out:writeln(string.rep('=', string.len(heading)))
sinks.out:writeln(heading) sinks.out:writeln(msg.text)
sinks.out:writeln(string.rep('=', string.len(heading)))
sinks.out:writeln(msg.text)
end
end end
end) end)