Format circe messages better
This commit is contained in:
parent
4e25031492
commit
8c712dc9f0
98
init.el
98
init.el
|
@ -549,28 +549,82 @@
|
|||
(:also-load circe-chanop)
|
||||
|
||||
;; Formatting options
|
||||
(:option circe-format-action (format (format "%%%ds* {nick} {body}"
|
||||
(- +circe-left-margin 2))
|
||||
" ")
|
||||
circe-format-say (format "{nick:%1$d.%1$ds} | {body}"
|
||||
(- +circe-left-margin 3))
|
||||
circe-format-self-action circe-format-action
|
||||
circe-format-self-say (replace-regexp-in-string "|" ">"
|
||||
circe-format-say)
|
||||
circe-format-server-part (+circe-format-meta
|
||||
"PART {channel}: {reason}")
|
||||
circe-format-server-quit (+circe-format-meta "QUIT: {reason}")
|
||||
circe-format-server-quit-channel (+circe-format-meta
|
||||
"QUIT {channel}: {reason}")
|
||||
circe-format-server-join (+circe-format-meta "JOIN: {userinfo}")
|
||||
circe-format-server-rejoin (+circe-format-meta
|
||||
(concat "REJOIN: {userinfo} "
|
||||
"after {departuredelta}"))
|
||||
circe-format-server-topic (+circe-format-meta
|
||||
"TOPIC: {new-topic}")
|
||||
circe-prompt-string (format (format "%%%ds> "
|
||||
(- +circe-left-margin 2))
|
||||
" "))
|
||||
(:option
|
||||
;; Messages between users
|
||||
circe-format-action (format (format "%%%ds* {nick} {body}"
|
||||
(- +circe-left-margin 2))
|
||||
" ")
|
||||
circe-format-say (format "{nick:%1$d.%1$ds} | {body}"
|
||||
(- +circe-left-margin 3))
|
||||
circe-format-self-action circe-format-action
|
||||
circe-format-self-say (replace-regexp-in-string "|" ">" circe-format-say)
|
||||
circe-format-notice (format "-{nick:%1$d.%1$ds}---{body}"
|
||||
(- +circe-left-margin 4))
|
||||
circe-format-message (format (format "%%%ds@ *{nick}* {body}"
|
||||
(- +circe-left-margin 2))
|
||||
" ")
|
||||
circe-format-message-action (replace-regexp-in-string "@" "*"
|
||||
circe-format-message)
|
||||
circe-format-self-message (format (format "%%%ds> *{chattarget}* {body}"
|
||||
(- +circe-left-margin 2))
|
||||
" ")
|
||||
;; Meta messages
|
||||
circe-format-server-channel-creation-time (+circe-format-meta
|
||||
(concat "Channel {channel}"
|
||||
" created on {date}") t)
|
||||
circe-format-server-ctcp (+circe-format-meta
|
||||
(concat "CTCP PING request to {target} from"
|
||||
" {userhost}: {body}"))
|
||||
circe-format-server-ctcp-ping-reply (+circe-format-meta
|
||||
(concat
|
||||
"CTCP PING reply to {target} from"
|
||||
" {userhost}: {body}"))
|
||||
circe-format-server-part (+circe-format-meta "PART {channel}: {reason}")
|
||||
circe-format-server-quit (+circe-format-meta "QUIT: {reason}")
|
||||
circe-format-server-quit-channel (+circe-format-meta
|
||||
"QUIT {channel}: {reason}")
|
||||
circe-format-server-join (+circe-format-meta "JOIN: {userinfo}")
|
||||
circe-format-server-join-in-channel (+circe-format-meta
|
||||
"JOIN {channel}: {userinfo}")
|
||||
circe-format-server-lurker-activity (+circe-format-meta
|
||||
"(JOINED {joindelta} ago)")
|
||||
circe-format-server-message (+circe-format-meta "{body}" t)
|
||||
circe-fromat-server-mode-change (+circe-format-meta
|
||||
(concat "MODE: {target} {change}"
|
||||
" by {setter} ({userhost})") t)
|
||||
circe-format-server-netmerge (+circe-format-meta
|
||||
(concat "NETMERGE: {split} at {date}"
|
||||
" (/WL to see who's still missing)") t)
|
||||
circe-format-server-netsplit (+circe-format-meta
|
||||
(concat "NETSPLIT: {split}"
|
||||
" (/WL to see who left)") t)
|
||||
circe-format-server-nick-change (+circe-format-meta
|
||||
"NICK WAS {old-nick} ({userhost})"
|
||||
"new-nick")
|
||||
circe-format-server-nick-regain (+circe-format-meta
|
||||
"NICK REGAINED: {old-nick} ({userhost})"
|
||||
"new-nick")
|
||||
circe-format-server-notice (+circe-format-meta "-SERVER NOTICE- {body}" t)
|
||||
circe-format-server-topic-time (+circe-format-meta
|
||||
"TOPIC SET BY {setter} on {topic-date}")
|
||||
circe-format-server-topic-time-for-channel (+circe-format-meta
|
||||
(concat
|
||||
"TOPIC ({channel}) SET BY"
|
||||
" {setter} on {topic-date}"))
|
||||
circe-format-server-whois-idle (+circe-format-meta "IDLE FOR {idle-duration}"
|
||||
"whois-nick")
|
||||
circe-format-server-whois-idle-with-signon (+circe-format-meta
|
||||
(concat
|
||||
"IDLE FOR {idle-duration}"
|
||||
" (signon: {signon-date})")
|
||||
"whois-nick")
|
||||
circe-format-server-rejoin (+circe-format-meta
|
||||
(concat "REJOIN: {userinfo} "
|
||||
"after {departuredelta}"))
|
||||
circe-format-server-topic (+circe-format-meta "TOPIC: {new-topic}")
|
||||
circe-prompt-string (format (format "%%%ds> "
|
||||
(- +circe-left-margin 2))
|
||||
" "))
|
||||
|
||||
(:option +circe-server-buffer-action (lambda (buf)
|
||||
(message "Connected to %s" buf))
|
||||
|
|
|
@ -66,9 +66,21 @@ message the current topic."
|
|||
|
||||
;;; Formatting messages
|
||||
|
||||
(defun +circe-format-meta (string)
|
||||
"Return a format string for `lui-format' for metadata messages."
|
||||
(format "{nick:%1$d.%1$ds} *** %s" (- +circe-left-margin 3) string))
|
||||
(defun +circe-format-meta (string &optional no-nick)
|
||||
"Return a format string for `lui-format' for metadata messages.
|
||||
Include nick unless NO-NICK is non-nil. If NO-NICK is a string,
|
||||
replace {nick} in the string with {NO-NICK}."
|
||||
(cond
|
||||
((stringp no-nick)
|
||||
(format "{%1$s:%2$d.%2$ds} *** %3$s"
|
||||
no-nick (- +circe-left-margin 3) string))
|
||||
(no-nick
|
||||
(format (format "%%%ds *** %s" (- +circe-left-margin 3) string) " "))
|
||||
(t
|
||||
(format "{nick:%1$d.%1$ds} *** %s" (- +circe-left-margin 3) string))))
|
||||
|
||||
(defun +circe-format-meta* (string)
|
||||
"Return a format string for `lui-format' for metadata messages, /without/ ")
|
||||
|
||||
(defmacro +lui-make-formatting-list-rx (char)
|
||||
"Make a formatting regex for CHAR delimiters.
|
||||
|
|
Loading…
Reference in New Issue