X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=spray.el;h=48819cb12ad2d42ea97c30bf760044f195ce00ef;hb=9f3a3bd2793955083a394d2e527209bc273e0d57;hp=77bff8e95214da58b6005d085e749abe666d93db;hpb=dc31135287a8d9945ad30313d010a0a93a61a9fa;p=spray diff --git a/spray.el b/spray.el index 77bff8e..48819cb 100644 --- a/spray.el +++ b/spray.el @@ -54,6 +54,8 @@ (define-key km (kbd "l") 'spray-forward-word) (define-key km (kbd "") 'spray-backward-word) (define-key km (kbd "") 'spray-forward-word) + (define-key km (kbd "f") 'spray-faster) + (define-key km (kbd "s") 'spray-slower) km) "keymap for spray-mode buffers") @@ -130,8 +132,7 @@ an integer or a float value." (spray-start/stop -1)))) (defun spray--pre-command-handler () - (unless (memq this-command - '(spray-forward-word spray-backward-word spray-start/stop)) + (unless (string-match "^spray-" (symbol-name this-command)) (spray-mode -1))) (defun spray--word-at-point () @@ -199,6 +200,32 @@ an integer or a float value." (skip-chars-backward "\s\t\n") (spray--word-at-point)) +(defun spray-faster () + "Increases speed. + +Increases the wpm (words per minute) parameter. See the variable +`spray-wmp'." + (interactive) + (spray-inc-wpm 20)) + +(defun spray-slower () + "Decreases speed. + +Decreases the wpm (words per minute) parameter. See the variable +`spray-wmp'." + (interactive) + (spray-inc-wpm -20)) + +(defun spray-inc-wpm (delta) + (let ((was-running spray--running)) + (spray-start/stop -1) + (when (< 10 (+ spray-wpm delta)) + (setq spray-wpm (+ spray-wpm delta))) + (spray-backward-word) + (message "spray wpm: %d" spray-wpm) + (when was-running + (spray-start/stop 1)))) + ;; * provide (provide 'spray)