sequences strings hashtables splitting fry assocs hashtables\r
ui ui.gadgets.panes ui.gadgets.editors ui.gadgets.scrollers\r
ui.commands ui.gadgets.frames ui.gestures ui.gadgets.tabs\r
- io io.styles namespaces irc.client irc.messages ;\r
+ io io.styles namespaces irc.client irc.messages calendar\r
+ calendar.format ;\r
\r
IN: irc.ui\r
\r
M: privmsg write-irc\r
"<" blue write-color\r
[ prefix>> prefix>nick write ] keep\r
- ">" blue write-color\r
- " " write\r
+ "> " blue write-color\r
trailing>> write ;\r
\r
+TUPLE: own-message message nick timestamp ;\r
+\r
+: <own-message> ( message nick -- own-message )\r
+ now own-message boa ;\r
+\r
+M: own-message write-irc\r
+ "<" blue write-color\r
+ [ nick>> bold font-style associate format ] keep\r
+ "> " blue write-color\r
+ message>> write ;\r
+\r
M: join write-irc\r
"* " green write-color\r
prefix>> prefix>nick write\r
drop ; ! catch all unimplemented writes, THIS WILL CHANGE \r
\r
: print-irc ( irc-message -- )\r
- write-irc nl ;\r
+ [ timestamp>> timestamp>hms write " " write ]\r
+ [ write-irc nl ] bi ;\r
\r
: send-message ( message listener client -- )\r
- "<" blue write-color\r
- profile>> nickname>> bold font-style associate format\r
- ">" blue write-color\r
- " " write\r
- over write nl\r
- out-messages>> mailbox-put ;\r
+ [ nip profile>> nickname>> <own-message> print-irc ]\r
+ [ drop write-message ] 3bi ;\r
\r
: display ( stream listener -- )\r
'[ , [ [ t ]\r