summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--nroam.el6
-rw-r--r--tests/nroam-test.el16
2 files changed, 19 insertions, 3 deletions
diff --git a/nroam.el b/nroam.el
index 6900d08..d2982aa 100644
--- a/nroam.el
+++ b/nroam.el
@@ -142,6 +142,12 @@ Make the region inserted by BODY read-only, and marked with
(and (markerp nroam-start-marker)
(marker-position nroam-start-marker)))
+(defun nroam-goto ()
+ "Move point to the beginning of nroam sections if any."
+ (interactive)
+ (when (nroam--sections-inserted-p)
+ (setf (point) (marker-position nroam-start-marker))))
+
(defun nroam--prune ()
"Remove nroam sections from the current buffer."
(let ((inhibit-read-only t))
diff --git a/tests/nroam-test.el b/tests/nroam-test.el
index 63e5b8a..c9a8a05 100644
--- a/tests/nroam-test.el
+++ b/tests/nroam-test.el
@@ -39,16 +39,26 @@ Execute BODY and cleanup the file and buffer after that."
(nroam-test-with-temp-file-buffer (insert "foo"))
+(defconst nroam-test-main-section-regexp "^* Backlinks")
+
(describe "nroam"
- (describe "nroam-more"
+ (describe "nroam-mode"
(it "creates nroam sections immediately"
(nroam-test-with-temp-file-buffer
(insert "#+title: my notes\n")
(nroam-mode)
(setf (point) (point-min))
- (let ((section-position (re-search-forward "^* Backlinks" nil t)))
+ (let ((section-position (re-search-forward nroam-test-main-section-regexp nil t)))
(expect section-position :not :to-be nil)
- (expect section-position :to-be-greater-than 10))))))
+ (expect section-position :to-be-greater-than 10)))))
+ (describe "nroam-goto"
+ (it "moves point if nroam heading is present"
+ (nroam-test-with-temp-file-buffer
+ (insert "nroam is great\n")
+ (nroam-update)
+ (setf (point) (point-min))
+ (nroam-goto)
+ (expect (looking-at-p nroam-test-main-section-regexp) :to-be t)))))
(provide 'nroam-test)
;;; nroam-test.el ends here