summaryrefslogtreecommitdiffstatshomepage
path: root/nroam.el
diff options
context:
space:
mode:
authorGravatar Nicolas Petton2021-02-22 15:38:58 +0100
committerGravatar Nicolas Petton2021-02-22 15:38:58 +0100
commit88dbb4f82b66ecb75cc2d2d6a0c190ae8c1a31b2 (patch)
treedd0734208cc6af7989f865e7528e60e42c67f6bc /nroam.el
parent683e3500d224b20d59ce461e060140fd9f85f1c0 (diff)
downloadnroam-88dbb4f82b66ecb75cc2d2d6a0c190ae8c1a31b2.tar.gz
nroam-88dbb4f82b66ecb75cc2d2d6a0c190ae8c1a31b2.zip
Fix empty line before linked references
Ensure one empty line before backlink section, but put the start marker on the heading line instead of the empty line above it.
Diffstat (limited to 'nroam.el')
-rw-r--r--nroam.el12
1 files changed, 10 insertions, 2 deletions
diff --git a/nroam.el b/nroam.el
index 6fffa07..792f2fb 100644
--- a/nroam.el
+++ b/nroam.el
@@ -34,7 +34,7 @@
;;
;; TODO:
;; - [x] Jump to reference on RET.
-;; - [ ] Ensure one empty line before backlink section, but do put the start marker on the heading line.
+;; - [x] Ensure one empty line before backlink section, but do put the start marker on the heading line.
;; - [x] Shift the level of headings in references
;; - [x] Hide drawers in the backlink sections.
;; - [x] Fix relative links (esp important with diaries that are in a subdirectory).
@@ -59,6 +59,7 @@ Make the region inserted by BODY read-only, and marked with
`(let ((beg (point)))
(set-marker nroam-start-marker (point))
,@body
+ (put-text-property beg (1+ beg) 'front-sticky '(read-only))
(put-text-property beg (point) 'read-only t)
(set-marker nroam-end-marker (point))))
@@ -108,6 +109,7 @@ Make the region inserted by BODY read-only, and marked with
(interactive)
(nroam--setup-markers)
(nroam--prune-backlinks)
+ (nroam--ensure-empty-line)
(nroam--insert-backlinks))
(defun nroam--update-backlinks-maybe ()
@@ -144,7 +146,6 @@ Make the region inserted by BODY read-only, and marked with
(save-excursion
(goto-char (point-max))
(with-nroam-markers
- (insert "\n")
(nroam--insert-backlinks-heading (seq-length backlinks))
(seq-do #'nroam--insert-backlink-group groups)))
(nroam--hide-drawers))))
@@ -253,5 +254,12 @@ Temporary fix until `org-roam' v2 is out."
thing
(if (> n 1) "s" "")))
+(defun nroam--ensure-empty-line ()
+ "Insert a newline character if the buffer does not end with a newline."
+ (let ((inhibit-read-only t))
+ (save-excursion
+ (goto-char (point-max))
+ (unless (eq ?\n (char-before (1- (point)))) (insert "\n")))))
+
(provide 'nroam)
;;; nroam.el ends here