alphapapa / alphapapa/org-super-agenda

Folding with outline-minor-mode

Aperta
#197 4 commenti 0 reazioni 1 assegnatario Rivendicata da @alphapapa Vedi su GitHub
documentation
Lingua principale
Emacs Lisp
Stelle
1.5k
Fork
107
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

I just posted this on reddit but thought it may be useful to include in the README as an alternative to using `origami` to auto-fold.

```elisp
(use-package outline
:after org-super-agenda
:general (:keymaps org-super-agenda-header-map
"TAB" #'outline-cycle)
:config
(defvar org-super-agenda-auto-fold-groups '("Stuck Tasks" "Other items" "Notice"))

;; function borrowed from new fork of origami.el https://github.com/emacs-origami/origami.el/blob/master/origami.el#L1024
(defun outline-auto-agenda (pattern-or-patterns function)
"Search buffer and apply the FUNCTION on each line.
PATTERN-OR-PATTERNS is a string or a list of strings to search"
(interactive)
(let ((patterns (if (listp pattern-or-patterns) pattern-or-patterns (list pattern-or-patterns))))
(save-excursion
(dolist (pattern patterns)
(goto-char (point-min))
(while (re-search-forward pattern nil t 1)
(unless (outline-invisible-p)
(funcall function)))))))

(defun outline-agenda-setup ()
(setq-local outline-regexp org-super-agenda-header-prefix)
(setq-local outline-level #'outline-level)
(setq-local outline-heading-alist
`((,org-super-agenda-header-prefix . 1)))
(outline-auto-agenda org-super-agenda-auto-fold-groups #'outline-hide-subtree))

:hook ((org-agenda-mode . outline-minor-mode)
(org-agenda-finalize . outline-agenda-setup)))
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.