From e0d90844c11a05c1cdae38252f1bd7dc141ab6ee Mon Sep 17 00:00:00 2001 From: tastytea Date: Thu, 20 Feb 2020 03:25:36 +0100 Subject: [PATCH] Add option to only use registers in current buffer. --- README.md | 7 +++---- register-quicknav.el | 21 ++++++++++++++++----- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 1b31407..d7e6194 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,10 @@ Or, with use-package: ("C-" . register-quicknav/next-register) ("M-r" . register-quicknav/clear-current-register))) -## Tips +## Variables -To only cycle through the registers of the current buffer, add - (make-variable-buffer-local 'register-alist) -to your init.el. +* `register-quicknav/buffer-only`: Cycle only through position registers in + current buffer. --- diff --git a/register-quicknav.el b/register-quicknav.el index 85235aa..11e13ba 100644 --- a/register-quicknav.el +++ b/register-quicknav.el @@ -54,14 +54,22 @@ ;; ("C-" . register-quicknav/next-register) ;; ("M-r" . register-quicknav/clear-current-register))) -;; Tips: +;; Variables: ;; -;; To only cycle through the registers of the current buffer, add -;; (make-variable-buffer-local 'register-alist) -;; to your init.el. +;; * `register-quicknav/buffer-only': Cycle only through position registers in +;; current buffer. ;;; Code: +(defgroup register-quicknav nil + "Variables for register-quicknav." + :group 'editing) + +(defcustom register-quicknav/buffer-only nil + "Cycle only through position registers in current buffer." + :type 'boolean + :group 'register-quicknav) + (defvar register-quicknav//current-position-register 0 "An index to the current position register.") @@ -79,7 +87,10 @@ (let (result) (dolist (item register-alist) (when (markerp (cdr item)) - (setq result (cons item result)))) + (if register-quicknav/buffer-only + (when (eq (current-buffer) (marker-buffer (cdr item))) + (setq result (cons item result))) + (setq result (cons item result))))) (sort result #'register-quicknav//sort-position-register-elements))) (defun register-quicknav/next-register ()