Merge branch 'master' of git://factorforge.org/git/william42
commit
e6ec0ff930
|
@ -90,11 +90,11 @@ M: end-of-names >>command-parameters ( names-reply params -- names-reply )
|
||||||
first2 [ >>who ] [ >>channel ] bi* ;
|
first2 [ >>who ] [ >>channel ] bi* ;
|
||||||
|
|
||||||
M: mode >>command-parameters ( mode params -- mode )
|
M: mode >>command-parameters ( mode params -- mode )
|
||||||
dup length 3 = [
|
dup length {
|
||||||
first3 [ >>name ] [ >>mode ] [ >>parameter ] tri*
|
{ 3 [ first3 [ >>name ] [ >>mode ] [ >>parameter ] tri* ] }
|
||||||
] [
|
{ 2 [ first2 [ >>name ] [ >>mode ] bi* ] }
|
||||||
first2 [ >>name ] [ >>mode ] bi*
|
[ drop first >>name dup trailing>> >>mode ]
|
||||||
] if ;
|
} case ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
@ -135,12 +135,12 @@ M: irc-message irc-message>server-line ( irc-message -- string )
|
||||||
|
|
||||||
: copy-message-in ( command irc-message -- command )
|
: copy-message-in ( command irc-message -- command )
|
||||||
{
|
{
|
||||||
[ parameters>> [ >>parameters ] [ >>command-parameters ] bi ]
|
|
||||||
[ line>> >>line ]
|
[ line>> >>line ]
|
||||||
[ prefix>> >>prefix ]
|
[ prefix>> >>prefix ]
|
||||||
[ command>> >>command ]
|
[ command>> >>command ]
|
||||||
[ trailing>> >>trailing ]
|
[ trailing>> >>trailing ]
|
||||||
[ timestamp>> >>timestamp ]
|
[ timestamp>> >>timestamp ]
|
||||||
|
[ parameters>> [ >>parameters ] [ >>command-parameters ] bi ]
|
||||||
} cleave ;
|
} cleave ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
|
@ -9,7 +9,7 @@ USING: accessors kernel threads combinators concurrency.mailboxes
|
||||||
ui.gadgets.tabs ui.gadgets.grids ui.gadgets.packs ui.gadgets.labels
|
ui.gadgets.tabs ui.gadgets.grids ui.gadgets.packs ui.gadgets.labels
|
||||||
io io.styles namespaces calendar calendar.format models continuations
|
io io.styles namespaces calendar calendar.format models continuations
|
||||||
irc.client irc.client.private irc.messages
|
irc.client irc.client.private irc.messages
|
||||||
irc.ui.commandparser irc.ui.load vocabs.loader ;
|
irc.ui.commandparser irc.ui.load vocabs.loader classes prettyprint ;
|
||||||
|
|
||||||
RENAME: join sequences => sjoin
|
RENAME: join sequences => sjoin
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ TUPLE: irc-tab < frame chat client window ;
|
||||||
foreground associate format ;
|
foreground associate format ;
|
||||||
: dark-red T{ rgba f 0.5 0.0 0.0 1 } ;
|
: dark-red T{ rgba f 0.5 0.0 0.0 1 } ;
|
||||||
: dark-green T{ rgba f 0.0 0.5 0.0 1 } ;
|
: dark-green T{ rgba f 0.0 0.5 0.0 1 } ;
|
||||||
|
: dark-blue T{ rgba f 0.0 0.0 0.5 1 } ;
|
||||||
|
|
||||||
: dot-or-parens ( string -- string )
|
: dot-or-parens ( string -- string )
|
||||||
[ "." ]
|
[ "." ]
|
||||||
|
@ -41,14 +42,14 @@ M: ping write-irc
|
||||||
drop "* Ping" blue write-color ;
|
drop "* Ping" blue write-color ;
|
||||||
|
|
||||||
M: privmsg write-irc
|
M: privmsg write-irc
|
||||||
"<" blue write-color
|
"<" dark-blue write-color
|
||||||
[ irc-message-sender write ] keep
|
[ irc-message-sender write ] keep
|
||||||
"> " blue write-color
|
"> " dark-blue write-color
|
||||||
trailing>> write ;
|
trailing>> write ;
|
||||||
|
|
||||||
M: notice write-irc
|
M: notice write-irc
|
||||||
[ type>> blue write-color ] keep
|
[ type>> dark-blue write-color ] keep
|
||||||
": " blue write-color
|
": " dark-blue write-color
|
||||||
trailing>> write ;
|
trailing>> write ;
|
||||||
|
|
||||||
TUPLE: own-message message nick timestamp ;
|
TUPLE: own-message message nick timestamp ;
|
||||||
|
@ -57,9 +58,9 @@ TUPLE: own-message message nick timestamp ;
|
||||||
now own-message boa ;
|
now own-message boa ;
|
||||||
|
|
||||||
M: own-message write-irc
|
M: own-message write-irc
|
||||||
"<" blue write-color
|
"<" dark-blue write-color
|
||||||
[ nick>> bold font-style associate format ] keep
|
[ nick>> bold font-style associate format ] keep
|
||||||
"> " blue write-color
|
"> " dark-blue write-color
|
||||||
message>> write ;
|
message>> write ;
|
||||||
|
|
||||||
M: join write-irc
|
M: join write-irc
|
||||||
|
@ -87,26 +88,23 @@ M: kick write-irc
|
||||||
" from the channel" dark-red write-color
|
" from the channel" dark-red write-color
|
||||||
trailing>> dot-or-parens dark-red write-color ;
|
trailing>> dot-or-parens dark-red write-color ;
|
||||||
|
|
||||||
: full-mode ( message -- mode )
|
|
||||||
parameters>> rest " " sjoin ;
|
|
||||||
|
|
||||||
M: mode write-irc
|
M: mode write-irc
|
||||||
"* " blue write-color
|
"* " dark-blue write-color
|
||||||
[ irc-message-sender write ] keep
|
[ name>> write ] keep
|
||||||
" has applied mode " blue write-color
|
" has applied mode " dark-blue write-color
|
||||||
[ full-mode write ] keep
|
[ mode>> write ] keep
|
||||||
" to " blue write-color
|
" to " dark-blue write-color
|
||||||
channel>> write ;
|
parameter>> write ;
|
||||||
|
|
||||||
M: nick write-irc
|
M: nick write-irc
|
||||||
"* " blue write-color
|
"* " dark-blue write-color
|
||||||
[ irc-message-sender write ] keep
|
[ irc-message-sender write ] keep
|
||||||
" is now known as " blue write-color
|
" is now known as " blue write-color
|
||||||
trailing>> write ;
|
trailing>> write ;
|
||||||
|
|
||||||
M: unhandled write-irc
|
M: unhandled write-irc
|
||||||
"UNHANDLED: " write
|
"UNHANDLED: " write
|
||||||
line>> blue write-color ;
|
line>> dark-blue write-color ;
|
||||||
|
|
||||||
M: irc-end write-irc
|
M: irc-end write-irc
|
||||||
drop "* You have left IRC" dark-red write-color ;
|
drop "* You have left IRC" dark-red write-color ;
|
||||||
|
@ -121,7 +119,10 @@ M: irc-chat-end write-irc
|
||||||
drop ;
|
drop ;
|
||||||
|
|
||||||
M: irc-message write-irc
|
M: irc-message write-irc
|
||||||
drop ; ! catch all unimplemented writes, THIS WILL CHANGE
|
"UNIMPLEMENTED" write
|
||||||
|
[ class pprint ] keep
|
||||||
|
": " write
|
||||||
|
line>> dark-blue write-color ;
|
||||||
|
|
||||||
GENERIC: time-happened ( message -- timestamp )
|
GENERIC: time-happened ( message -- timestamp )
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue