[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/greader 5a23a87444 1/4: Navigation commands added while
From: |
ELPA Syncer |
Subject: |
[elpa] externals/greader 5a23a87444 1/4: Navigation commands added while reading. |
Date: |
Wed, 15 Feb 2023 14:57:53 -0500 (EST) |
branch: externals/greader
commit 5a23a87444dfca4ac4c6856b3ad8b5a22c181d06
Author: Michelangelo Rodriguez <michelangelo.rodriguez@gmail.com>
Commit: Michelangelo Rodriguez <michelangelo.rodriguez@gmail.com>
Navigation commands added while reading.
---
greader.el | 50 +++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 47 insertions(+), 3 deletions(-)
diff --git a/greader.el b/greader.el
index 2773cfa0d4..d7f3fb1d12 100644
--- a/greader.el
+++ b/greader.el
@@ -214,11 +214,10 @@ if set to t, when you call function `greader-read', that
function sets a
(define-key map (kbd ".") #'greader-stop-with-timer)
(define-key map (kbd "+") #'greader-inc-rate)
(define-key map (kbd "-") #'greader-dec-rate)
+ (define-key map (kbd "<left>") #'greader-backward)
+ (define-key map (kbd "<right>") #'greader-forward)
map))
-(defvar-local greader--reading nil
- "If non-nil, `greader-reading-map' is active.")
-
;###autoload
(define-minor-mode greader-mode
nil
@@ -1017,5 +1016,50 @@ If `nil', you can not use `greader-compile-at-point'."
(find-file (concat (car greader-compile-dictsource)
greader-espeak-language "_"
greader-compile-default-source))))
+(defcustom greader-backward-acoustic-feedback nil
+ "If t, when point returns to the end of sentence, plays a beep."
+ :tag "greader backward acoustic feedback"
+ :type 'boolean)
+
+(defcustom greader-backward-seconds 5
+ "Number of seconds to wait before returning at the end of sentence."
+ :tag "greader-backward seconds"
+ :type 'float)
+
+(defvar greader--marker-backward (make-marker))
+
+(defvar greader--timer-backward nil)
+
+(defun greader--forward ()
+ (when (equal
+ (point) greader--marker-backward)
+ (forward-sentence)
+ (backward-char)
+ (when greader-backward-acoustic-feedback
+ (beep))))
+
+(defun greader-backward ()
+ (interactive)
+ (when (bobp)
+ (signal 'beginning-of-buffer ()))
+ (when greader--timer-backward
+ (cancel-timer greader--timer-backward)
+ (setq greader--timer-backward nil))
+ (greader-stop)
+ (backward-sentence)
+ (greader-set-register)
+ (setq greader--marker-backward (point))
+ (setq greader--timer-backward(run-with-idle-timer greader-backward-seconds
nil #'greader--forward))
+ (greader-read))
+
+(defun greader-forward ()
+ (interactive)
+ (when (eobp)
+ (signal 'end-of-buffer nil))
+ (greader-stop)
+ (greader-forward-sentence)
+ (greader-set-register)
+ (greader-read))
+
(provide 'greader)
;;; greader.el ends here