-(define (msg-print odd m)
- (printf "~a \033[1;37m<~a>\033[0m \033[0;~am~a\033[0m~n"
- (date->string (seconds->date [msg-tm_epoch m]) #t)
- [msg-nick m]
- [if odd 36 33]
- [msg-text m]))
+(define (msg-print out-format odd msg)
+ (printf
+ (match out-format
+ ['single-line "~a \033[1;37m<~a ~a>\033[0m \033[0;~am~a\033[0m~n"]
+ ['multi-line "~a~n\033[1;37m<~a ~a>\033[0m~n\033[0;~am~a\033[0m~n~n"]
+ [_ (raise (format "Invalid output format: ~a" out-format))])
+ (date->string (seconds->date [msg-tm_epoch msg]) #t)
+ (msg-nick msg)
+ (msg-uri msg)
+ (if odd 36 33)
+ (msg-text msg)))