[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/denote b350035103 2/8: refactor: handle region-activati
From: |
ELPA Syncer |
Subject: |
[elpa] externals/denote b350035103 2/8: refactor: handle region-activation entirely in denote-link |
Date: |
Sat, 8 Oct 2022 20:57:30 -0400 (EDT) |
branch: externals/denote
commit b350035103b88e1fea7d4e141c076da733520fcf
Author: Charanjit Singh <bitspook@protonmail.com>
Commit: Charanjit Singh <bitspook@protonmail.com>
refactor: handle region-activation entirely in denote-link
Clearer responsibilities for denote-link--format-link and denote-link.
`denote-link--format-link` has been expanded to accept an optional
DESCRIPTION
argument.
---
denote.el | 27 +++++++++++++++------------
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/denote.el b/denote.el
index b05e4015aa..e807b97f98 100644
--- a/denote.el
+++ b/denote.el
@@ -2239,15 +2239,14 @@ title."
("md" denote-link--regexp-markdown)
(_ denote-link--regexp-org)))
-(defun denote-link--format-link (file pattern)
- "Prepare link to FILE using PATTERN."
- (let* ((region-text (when (region-active-p)
- (buffer-substring (region-beginning) (region-end))))
- (file-id (denote-retrieve-filename-identifier file))
+(defun denote-link--format-link (file pattern &optional description)
+ "Prepare link to FILE using PATTERN.
+If DESCRIPTION is non-nil, it is used as link description instead
+of FILE's title."
+ (let* ((file-id (denote-retrieve-filename-identifier file))
(file-type (denote-filetype-heuristics file))
(file-title (unless (string= pattern denote-link--format-id-only)
- (or region-text
- (denote--retrieve-title-or-filename file
file-type)))))
+ (or description (denote--retrieve-title-or-filename
file file-type)))))
(format pattern file-id file-title)))
;;;###autoload
@@ -2260,11 +2259,15 @@ format is always [[denote:IDENTIFIER]]. If region is
active,
region is replaced with the link while using the region as link
title."
(interactive (list (denote-file-prompt) current-prefix-arg))
- (let ((beg (point))
- (link (denote-link--format-link
- target
- (denote-link--file-type-format (buffer-file-name) id-only))))
- (when (region-active-p) (delete-region (region-beginning) (region-end)))
+ (let* ((beg (point))
+ (description (when-let (((region-active-p))
+ (selected-text
(buffer-substring-no-properties (region-beginning) (region-end))))
+ (delete-region (region-beginning) (region-end))
+ selected-text))
+ (link (denote-link--format-link
+ target
+ (denote-link--file-type-format (buffer-file-name) id-only)
+ description)))
(insert link)
(unless (derived-mode-p 'org-mode)
(make-button beg (point) 'type 'denote-link-button))))
- [elpa] externals/denote updated (31e6bcb2eb -> 369f3cc7af), ELPA Syncer, 2022/10/08
- [elpa] externals/denote 4a10683036 5/8: Make stylistic tweaks to denote-link, ELPA Syncer, 2022/10/08
- [elpa] externals/denote d0aab79ed2 4/8: Acknowledge Charanjit Singh, ELPA Syncer, 2022/10/08
- [elpa] externals/denote 369f3cc7af 8/8: Add TODO for denote-link region, ELPA Syncer, 2022/10/08
- [elpa] externals/denote 44c2a6add8 6/8: Clarify denote-link doc string on description text, ELPA Syncer, 2022/10/08
- [elpa] externals/denote fe66333d84 1/8: feat: use region as link title on denote-link, ELPA Syncer, 2022/10/08
- [elpa] externals/denote e4450998f3 7/8: Document the ability to link to region text, ELPA Syncer, 2022/10/08
- [elpa] externals/denote b350035103 2/8: refactor: handle region-activation entirely in denote-link,
ELPA Syncer <=
- [elpa] externals/denote 2bb344e344 3/8: Merge pull request #109 from bitspook/links-with-region-as-title, ELPA Syncer, 2022/10/08