aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip K2021-04-21 22:17:27 +0200
committerJuri Linkov2021-04-22 00:14:40 +0300
commitdb39e2d86983dce72cf3f150712aa29a4241094a (patch)
tree73ea1a38bfffd83ccad35f6b76359c17c028e4cf
parenta7cc19e5ff0425289616135ab6b4674baf02c12b (diff)
downloademacs-db39e2d86983dce72cf3f150712aa29a4241094a.tar.gz
emacs-db39e2d86983dce72cf3f150712aa29a4241094a.zip
Make outline commands repeatable (bug#47878)
* outline.el (outline-navigation-repeat-map): Add new map. (outline-editing-repeat-map): Add new map.
-rw-r--r--lisp/outline.el39
1 files changed, 39 insertions, 0 deletions
diff --git a/lisp/outline.el b/lisp/outline.el
index bce9c6b9e4d..fa7c1a27d90 100644
--- a/lisp/outline.el
+++ b/lisp/outline.el
@@ -1274,6 +1274,45 @@ Return either 'hide-all, 'headings-only, or 'show-all."
1274 (setq outline--cycle-buffer-state 'show-all) 1274 (setq outline--cycle-buffer-state 'show-all)
1275 (message "Show all"))))) 1275 (message "Show all")))))
1276 1276
1277(defvar outline-navigation-repeat-map
1278 (let ((map (make-sparse-keymap)))
1279 (define-key map (kbd "C-b") #'outline-backward-same-level)
1280 (define-key map (kbd "b") #'outline-backward-same-level)
1281 (define-key map (kbd "C-f") #'outline-forward-same-level)
1282 (define-key map (kbd "f") #'outline-forward-same-level)
1283 (define-key map (kbd "C-n") #'outline-next-visible-heading)
1284 (define-key map (kbd "n") #'outline-next-visible-heading)
1285 (define-key map (kbd "C-p") #'outline-previous-visible-heading)
1286 (define-key map (kbd "p") #'outline-previous-visible-heading)
1287 (define-key map (kbd "C-u") #'outline-up-heading)
1288 (define-key map (kbd "u") #'outline-up-heading)
1289 map))
1290
1291(dolist (command '(outline-backward-same-level
1292 outline-forward-same-level
1293 outline-next-visible-heading
1294 outline-previous-visible-heading
1295 outline-up-heading))
1296 (put command 'repeat-map 'outline-navigation-repeat-map))
1297
1298(defvar outline-editing-repeat-map
1299 (let ((map (make-sparse-keymap)))
1300 (define-key map (kbd "C-v") #'outline-move-subtree-down)
1301 (define-key map (kbd "v") #'outline-move-subtree-down)
1302 (define-key map (kbd "C-^") #'outline-move-subtree-up)
1303 (define-key map (kbd "^") #'outline-move-subtree-up)
1304 (define-key map (kbd "C->") #'outline-demote)
1305 (define-key map (kbd ">") #'outline-demote)
1306 (define-key map (kbd "C-<") #'outline-promote)
1307 (define-key map (kbd "<") #'outline-promote)
1308 map))
1309
1310(dolist (command '(outline-move-subtree-down
1311 outline-move-subtree-up
1312 outline-demote
1313 outline-promote))
1314 (put command 'repeat-map 'outline-editing-repeat-map))
1315
1277(provide 'outline) 1316(provide 'outline)
1278(provide 'noutline) 1317(provide 'noutline)
1279 1318