ui ui.gadgets ui.gadgets.panes ui.gadgets.editors\r
ui.gadgets.scrollers ui.commands ui.gadgets.frames ui.gestures\r
ui.gadgets.tabs ui.gadgets.grids ui.gadgets.lists ui.gadgets.labels\r
- io io.styles namespaces calendar calendar.format models\r
+ io io.styles namespaces calendar calendar.format models continuations\r
irc.client irc.client.private irc.messages irc.messages.private\r
- irc.ui.commandparser irc.ui.load ;\r
+ irc.ui.commandparser irc.ui.load qualified ;\r
+\r
+RENAME: join sequences => sjoin\r
\r
IN: irc.ui\r
\r
" has left IRC" red write-color\r
trailing>> dot-or-parens red write-color ;\r
\r
+: full-mode ( message -- mode )\r
+ parameters>> rest " " sjoin ;\r
+\r
M: mode write-irc\r
"* " blue write-color\r
- [ name>> write ] keep\r
+ [ prefix>> parse-name write ] keep\r
" has applied mode " blue write-color\r
- [ mode>> write ] keep\r
+ [ full-mode write ] keep\r
" to " blue write-color\r
channel>> write ;\r
\r
+M: unhandled write-irc\r
+ "UNHANDLED: " write\r
+ line>> blue write-color ;\r
+\r
M: irc-end write-irc\r
drop "* You have left IRC" red write-color ;\r
\r
M: irc-connected write-irc\r
drop "* Connected" green write-color ;\r
\r
+M: irc-listener-end write-irc\r
+ drop ;\r
+\r
M: irc-message write-irc\r
drop ; ! catch all unimplemented writes, THIS WILL CHANGE \r
\r
+: time-happened ( irc-message -- timestamp )\r
+ [ timestamp>> ] [ 2drop now ] recover ;\r
+\r
: print-irc ( irc-message -- )\r
- [ timestamp>> timestamp>hms write " " write ]\r
+ [ time-happened timestamp>hms write " " write ]\r
[ write-irc nl ] bi ;\r
\r
: send-message ( message -- )\r