diff options
| author | Philip K | 2021-04-21 22:17:27 +0200 |
|---|---|---|
| committer | Juri Linkov | 2021-04-22 00:14:40 +0300 |
| commit | db39e2d86983dce72cf3f150712aa29a4241094a (patch) | |
| tree | 73ea1a38bfffd83ccad35f6b76359c17c028e4cf | |
| parent | a7cc19e5ff0425289616135ab6b4674baf02c12b (diff) | |
| download | emacs-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.el | 39 |
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 | ||