ERCのプロンプトにチャンネル名表示
というネタは EmacsWiki: Erc Configuration の Channel-specific prompts に書いてあるんだけど、そこにも書いてあるとおり、初回表示時にはチャンネル名にならないのでこんな感じにハック。
(setq erc-prompt (lambda ()
(let* ((buffer (buffer-name))
(channel (with-temp-buffer
(insert buffer)
(beginning-of-buffer)
(when (re-search-forward "\\(#[^@]+\\)" nil t)
(match-string 1)))))
(if channel
(erc-propertize (concat channel ">") 'read-only t 'rear-nonsticky t 'front-nonsticky t)
(if (and (boundp 'erc-default-recipients) (erc-default-target))
(erc-propertize (concat (erc-default-target) ">") 'read-only t 'rear-nonsticky t 'front-nonsticky t)
(erc-propertize (concat "ERC>") 'read-only t 'rear-nonsticky t 'front-nonsticky t))))))
バッファ名からチャンネル名部分とるようにした感じ。
1:1 トークとかどうなるかわからないのでとりあえず EmacsWiki のルーチンも書いておいた。