epithet (noun) ep⸱i⸱thet |ˈe-pə-ˌthet also -thət
- a characterizing word or phrase accompanying or occurring in place of the name of a person or thing.
This package provides a function epithet-rename-buffer
to rename
the current buffer with a descriptive name. The name suggestion is
governed by the epithet-suggesters
hook variable: each hook
should return either a name suggestion or nil, they are called in
turn and the first non-nil suggestion is taken.
A cute trick is too add buffer-file-name
to epithet-suggesters
: this
has the effect of suggesting the full path for buffers associated with
files.
There are currently suggestion functions for eww, info, help and occur buffers. For eww there are two, in fact, one that suggests the page title and one that suggests the URL (the title is the default).
The epithet-rename-buffer
function can be called interactively or
added to appropriate hooks to rename automatically. If called
interactively you can use the universal prefix argument to get a
prompt where you can choose a different name, and the suggested
name is available as the default value.
If you want to always rename info, eww, help or occur buffers without manual intervention, use:
(add-hook 'Info-selection-hook #'epithet-rename-buffer)
(add-hook 'eww-after-render-hook #'epithet-rename-buffer)
(add-hook 'help-mode-hook #'epithet-rename-buffer)
(add-hook 'occur-hook #'epithet-rename-buffer) ; not occur-mode-hook
(add-hook 'shell-mode-hook #'epithet-rename-buffer)
(add-hook 'compilation-start-hook #'epithet-rename-buffer-ignoring-arguments)
(add-hook 'compilation-finish-functions #'epithet-rename-buffer-ignoring-arguments)
Due to a quirk in describe-bindings
, even though it produces a help
mode buffer, having epithet-rename-buffer
in the help-mode-hook
will
not rename the buffer it creates. If you want those buffers renamed
automatically too, you should also add this to your configuration:
(defun rename-describe-bindings (&rest _)
(with-current-buffer (help-buffer)
(epithet-rename-buffer)))
(advice-add 'describe-bindings :after #'rename-describe-bindings)