To use rename-file, copy-file and delete-file, so these commands can enjoy the benefits of any plugins that have advised these, like org-roam does for rename-file.
31 lines
1.5 KiB
EmacsLisp
31 lines
1.5 KiB
EmacsLisp
;;; editor/evil/autoload/files.el -*- lexical-binding: t; -*-
|
|
|
|
;;;###autoload (autoload '+evil:delete-this-file "editor/evil/autoload/files" nil t)
|
|
(evil-define-command +evil:delete-this-file (&optional filename force-p)
|
|
"Delete FILENAME (defaults to the file associated with current buffer) and
|
|
kills the buffer. If FORCE-P, force the deletion (don't ask for confirmation)."
|
|
:repeat nil
|
|
(interactive "<f><!>")
|
|
(doom/delete-this-file filename force-p))
|
|
|
|
;;;###autoload (autoload '+evil:move-this-file "editor/evil/autoload/files" nil t)
|
|
(evil-define-command +evil:move-this-file (new-path &optional force-p)
|
|
"Move current buffer's file to NEW-PATH. Replaces %, # and other vim-esque
|
|
filename modifiers (see `+evil*ex-replace-special-filenames'). If FORCE-P,
|
|
overwrite the destination file if it exists, without confirmation."
|
|
:repeat nil
|
|
(interactive "<f><!>")
|
|
(when (or (not new-path) (string-empty-p new-path))
|
|
(user-error "No new path was specified"))
|
|
(doom/move-this-file new-path force-p))
|
|
|
|
;;;###autoload (autoload '+evil:copy-this-file "editor/evil/autoload/files" nil t)
|
|
(evil-define-command +evil:copy-this-file (new-path &optional force-p)
|
|
"Copy current buffer's file to NEW-PATH. Replaces %, # and other vim-esque
|
|
filename modifiers (see `+evil*ex-replace-special-filenames'). If FORCE-P,
|
|
overwrite the destination file if it exists, without confirmation."
|
|
:repeat nil
|
|
(interactive "<f><!>")
|
|
(when (or (not new-path) (string-empty-p new-path))
|
|
(user-error "No new path was specified"))
|
|
(doom/copy-this-file new-path force-p))
|