[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/denote 2bb344e344 3/8: Merge pull request #109 from bit
From: |
ELPA Syncer |
Subject: |
[elpa] externals/denote 2bb344e344 3/8: Merge pull request #109 from bitspook/links-with-region-as-title |
Date: |
Sat, 8 Oct 2022 20:57:30 -0400 (EDT) |
branch: externals/denote
commit 2bb344e344006faa9106f6d256915a03f1687e15
Merge: 31e6bcb2eb b350035103
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: GitHub <noreply@github.com>
Merge pull request #109 from bitspook/links-with-region-as-title
Use region as link title when inserting a link
---
denote.el | 29 +++++++++++++++++++----------
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/denote.el b/denote.el
index 9742ab4b41..e807b97f98 100644
--- a/denote.el
+++ b/denote.el
@@ -2239,12 +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."
+(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)
- (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
@@ -2252,14 +2254,21 @@ title."
"Create link to TARGET note in variable `denote-directory'.
With optional ID-ONLY, such as a universal prefix
argument (\\[universal-argument]), insert links with just the
-identifier and no further description. In this case, the link
-format is always [[denote:IDENTIFIER]]."
+identifier and no further description. In this case, the link
+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)))
- (insert
- (denote-link--format-link
- target
- (denote-link--file-type-format (buffer-file-name) id-only)))
+ (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, 2022/10/08
- [elpa] externals/denote 2bb344e344 3/8: Merge pull request #109 from bitspook/links-with-region-as-title,
ELPA Syncer <=