[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/denote ab20f4b0af 15/33: Make denote-dired-rename-files
From: |
ELPA Syncer |
Subject: |
[elpa] externals/denote ab20f4b0af 15/33: Make denote-dired-rename-files honour the denote-prompts (same as denote-rename-file) |
Date: |
Wed, 14 Feb 2024 06:57:47 -0500 (EST) |
branch: externals/denote
commit ab20f4b0afac4c7fdd8615c3479b663b272a8b89
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Make denote-dired-rename-files honour the denote-prompts (same as
denote-rename-file)
---
denote.el | 40 +++++++++++++++++++++++++---------------
1 file changed, 25 insertions(+), 15 deletions(-)
diff --git a/denote.el b/denote.el
index 27029bbfab..1f63b297d4 100644
--- a/denote.el
+++ b/denote.el
@@ -2802,35 +2802,45 @@ one-by-one, use `denote-dired-rename-files'."
"Rename Dired marked files same way as `denote-rename-file'.
Rename each file in sequence, making all the relevant prompts.
Unlike `denote-rename-file', do not prompt for confirmation of
-the changes made to the file: perform them outright."
+the changes made to the file: perform them outright (same as
+setting `denote-rename-no-confirm' to a non-nil value)."
(declare (interactive-only t))
(interactive nil dired-mode)
(if-let ((marks (dired-get-marked-files)))
(let ((used-ids (unless (seq-every-p #'denote-file-has-identifier-p
marks)
- (denote--get-all-used-ids))))
+ (denote--get-all-used-ids)))
+ (date-p (memq 'date denote-prompts))
+ (title-p (memq 'title denote-prompts))
+ (keywords-p (memq 'keywords denote-prompts))
+ (signature-p (memq 'signature denote-prompts)))
(dolist (file marks)
(let* ((file-type (denote-filetype-heuristics file))
(file-in-prompt (propertize (file-relative-name file) 'face
'denote-faces-prompt-current-name))
(dir (file-name-directory file))
- (id (or (denote-retrieve-filename-identifier file)
+ (id (or (when date-p
+ (denote-prompt-for-date-return-id))
+ (denote-retrieve-filename-identifier file)
(denote-create-unique-file-identifier file used-ids)))
- (title (denote-title-prompt
- (denote--retrieve-title-or-filename file file-type)
- (format "Rename `%s' with title (empty to remove)"
file-in-prompt)))
- (keywords (denote-keywords-sort
- (denote-keywords-prompt
- (format "Rename `%s' with keywords (empty to
remove)" file-in-prompt)
- (denote-convert-file-name-keywords-to-crm (or
(denote-retrieve-filename-keywords file) "")))))
- (signature (denote-signature-prompt
- (or (denote-retrieve-filename-signature file) "")
- (format "Rename `%s' with signature (empty to
remove)" file-in-prompt)))
+ (title (when title-p
+ (denote-title-prompt
+ (denote--retrieve-title-or-filename file file-type)
+ (format "Rename `%s' with title (empty to remove)"
file-in-prompt))))
+ (keywords (when keywords-p
+ (denote-keywords-sort
+ (denote-keywords-prompt
+ (format "Rename `%s' with keywords (empty to
remove)" file-in-prompt)
+ (denote-convert-file-name-keywords-to-crm (or
(denote-retrieve-filename-keywords file) ""))))))
+ (signature (when signature-p
+ (denote-signature-prompt
+ (or (denote-retrieve-filename-signature file)
"")
+ (format "Rename `%s' with signature (empty to
remove)" file-in-prompt))))
(extension (denote-get-file-extension file))
(new-name (denote-format-file-name dir id keywords title
extension signature)))
(denote-rename-file-and-buffer file new-name)
(when (denote-file-is-writable-and-supported-p new-name)
(if (denote--edit-front-matter-p new-name file-type)
- (denote-rewrite-front-matter new-name title keywords
file-type denote-rename-no-confirm)
- (denote--add-front-matter new-name title keywords id
file-type)))
+ (denote-rewrite-front-matter new-name title keywords
file-type :no-confirm)
+ (denote--add-front-matter new-name title keywords id file-type
:save-buffer)))
(when used-ids
(puthash id t used-ids))))
(denote-update-dired-buffers))
- [elpa] externals/denote updated (561911e747 -> 1d6ea5a6d9), ELPA Syncer, 2024/02/14
- [elpa] externals/denote 9a764923bc 01/33: Add WORK-IN-PROGRESS implementation of 'denote-rename-file' that honours 'denote-prompts', ELPA Syncer, 2024/02/14
- [elpa] externals/denote 779ef33436 03/33: Merge pull request #248 from vedang/rename-honours-denote-prompts, ELPA Syncer, 2024/02/14
- [elpa] externals/denote aa865fa0d9 06/33: Update denote-rename-file doc string to describe its current behaviour, ELPA Syncer, 2024/02/14
- [elpa] externals/denote e9e9c8ef2b 07/33: Tweak the behaviour of denote-create-unique-file-identifier, ELPA Syncer, 2024/02/14
- [elpa] externals/denote b02bf9d7c2 09/33: Add TODO about possible tweak to denote-rename-file, ELPA Syncer, 2024/02/14
- [elpa] externals/denote 764125525e 12/33: Broaden the scope of denote-rename-no-confirm to save buffers as well, ELPA Syncer, 2024/02/14
- [elpa] externals/denote 357c363242 17/33: Clarify that absent denote-prompts mean nil for relevant denote-rename-file arguments, ELPA Syncer, 2024/02/14
- [elpa] externals/denote ce9e2dd1bf 13/33: Complete the documentation of denote-rename-file, noting all modalities of interaction, ELPA Syncer, 2024/02/14
- [elpa] externals/denote ab20f4b0af 15/33: Make denote-dired-rename-files honour the denote-prompts (same as denote-rename-file),
ELPA Syncer <=
- [elpa] externals/denote 37508c99d4 16/33: Update the documentation of denote-dired-rename-marked-files, ELPA Syncer, 2024/02/14
- [elpa] externals/denote 4cce51a092 22/33: Change how denote-rename-file passes DATE to denote-create-unique-file-identifier (per e9e9c8e), ELPA Syncer, 2024/02/14
- [elpa] externals/denote c5f8ef1d8a 23/33: Add TODO about possible tweak to denote-rename-file, ELPA Syncer, 2024/02/14
- [elpa] externals/denote 8faf120dff 26/33: Broaden the scope of denote-rename-no-confirm to save buffers as well, ELPA Syncer, 2024/02/14
- [elpa] externals/denote 77eafb2dfe 25/33: Start updating the manual for denote-rename-file (WORK-IN-PROGRESS), ELPA Syncer, 2024/02/14
- [elpa] externals/denote adf8c6fdc8 02/33: Update denote-create-* commands to respect `denote-prompts`, ELPA Syncer, 2024/02/14
- [elpa] externals/denote ad13d32348 31/33: Clarify that absent denote-prompts mean nil for relevant denote-rename-file arguments, ELPA Syncer, 2024/02/14
- [elpa] externals/denote 1cdb49e227 32/33: Merge branch 'rename-honours-denote-prompts' of github.com:protesilaos/denote into rename-honours-denote-prompts, ELPA Syncer, 2024/02/14
- [elpa] externals/denote ab04f5b774 04/33: Fix typo in variable name in documentation, ELPA Syncer, 2024/02/14
- [elpa] externals/denote 60cf6b6125 05/33: Acknowledge maxbrieiev for commit 7d18b7b, ELPA Syncer, 2024/02/14