[Emacs] Make hydra-yank work with non-file buffers
Add imalison:buffer-file-name-or-directory helper that falls back to default-directory when buffer-file-name is nil. This allows the yank hydra to work with magit buffers and other buffers associated with a directory but not visiting a file. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -776,8 +776,14 @@ A macro for composing functions together to build an interactive command to copy
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
*** Copy portions of the buffer file name
|
*** Copy portions of the buffer file name
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(defun imalison:buffer-file-name-or-directory ()
|
||||||
|
"Return `buffer-file-name' if available, otherwise `default-directory'.
|
||||||
|
This allows copy functions to work with buffers like magit that
|
||||||
|
aren't visiting a file but are associated with a directory."
|
||||||
|
(or buffer-file-name default-directory))
|
||||||
|
|
||||||
(defmacro imalison:copy-buffer-file-path-builder (&rest args)
|
(defmacro imalison:copy-buffer-file-path-builder (&rest args)
|
||||||
`(imalison:compose-copy-builder ,@args buffer-file-name))
|
`(imalison:compose-copy-builder ,@args imalison:buffer-file-name-or-directory))
|
||||||
|
|
||||||
(imalison:copy-buffer-file-path-builder imalison:copy-buffer-file-path-full)
|
(imalison:copy-buffer-file-path-builder imalison:copy-buffer-file-path-full)
|
||||||
(imalison:copy-buffer-file-path-builder imalison:copy-buffer-file-name
|
(imalison:copy-buffer-file-path-builder imalison:copy-buffer-file-name
|
||||||
|
|||||||
Reference in New Issue
Block a user