|
@@ -13476,49 +13476,44 @@ a Show deadlines and scheduled items after a date.
|
|
|
d Show deadlines due within `org-deadline-warning-days'.
|
|
|
D Show deadlines and scheduled items between a date range."
|
|
|
(interactive "P")
|
|
|
- (let (ans kwd value ts-type)
|
|
|
- (setq type (or type org-sparse-tree-default-date-type))
|
|
|
- (setq org-ts-type type)
|
|
|
- (message "Sparse tree: [/]regexp [t]odo [T]odo-kwd [m]atch [p]roperty\n [d]eadlines [b]efore-date [a]fter-date [D]ates range\n [c]ycle through date types: %s"
|
|
|
- (cond ((eq type 'all) "all timestamps")
|
|
|
- ((eq type 'scheduled) "only scheduled")
|
|
|
- ((eq type 'deadline) "only deadline")
|
|
|
- ((eq type 'active) "only active timestamps")
|
|
|
- ((eq type 'inactive) "only inactive timestamps")
|
|
|
- ((eq type 'scheduled-or-deadline) "scheduled/deadline")
|
|
|
- ((eq type 'closed) "with a closed time-stamp")
|
|
|
- (t "scheduled/deadline")))
|
|
|
- (setq ans (read-char-exclusive))
|
|
|
- (cond
|
|
|
- ((equal ans ?c)
|
|
|
- (org-sparse-tree
|
|
|
- arg (cadr (member type '(scheduled-or-deadline
|
|
|
- all scheduled deadline active inactive closed)))))
|
|
|
- ((equal ans ?d)
|
|
|
- (call-interactively 'org-check-deadlines))
|
|
|
- ((equal ans ?b)
|
|
|
- (call-interactively 'org-check-before-date))
|
|
|
- ((equal ans ?a)
|
|
|
- (call-interactively 'org-check-after-date))
|
|
|
- ((equal ans ?D)
|
|
|
- (call-interactively 'org-check-dates-range))
|
|
|
- ((equal ans ?t)
|
|
|
- (call-interactively 'org-show-todo-tree))
|
|
|
- ((equal ans ?T)
|
|
|
- (org-show-todo-tree '(4)))
|
|
|
- ((member ans '(?T ?m))
|
|
|
- (call-interactively 'org-match-sparse-tree))
|
|
|
- ((member ans '(?p ?P))
|
|
|
- (setq kwd (org-icompleting-read "Property: "
|
|
|
- (mapcar 'list (org-buffer-property-keys))))
|
|
|
- (setq value (org-icompleting-read "Value: "
|
|
|
- (mapcar 'list (org-property-values kwd))))
|
|
|
- (unless (string-match "\\`{.*}\\'" value)
|
|
|
- (setq value (concat "\"" value "\"")))
|
|
|
- (org-match-sparse-tree arg (concat kwd "=" value)))
|
|
|
- ((member ans '(?r ?R ?/))
|
|
|
- (call-interactively 'org-occur))
|
|
|
- (t (user-error "No such sparse tree command \"%c\"" ans)))))
|
|
|
+ (setq type (or type org-sparse-tree-default-date-type))
|
|
|
+ (setq org-ts-type type)
|
|
|
+ (message "Sparse tree: [/]regexp [t]odo [T]odo-kwd [m]atch [p]roperty
|
|
|
+ [d]eadlines [b]efore-date [a]fter-date [D]ates range
|
|
|
+ [c]ycle through date types: %s"
|
|
|
+ (case type
|
|
|
+ (all "all timestamps")
|
|
|
+ (scheduled "only scheduled")
|
|
|
+ (deadline "only deadline")
|
|
|
+ (active "only active timestamps")
|
|
|
+ (inactive "only inactive timestamps")
|
|
|
+ (scheduled-or-deadline "scheduled/deadline")
|
|
|
+ (closed "with a closed time-stamp")
|
|
|
+ (otherwise "scheduled/deadline")))
|
|
|
+ (let ((answer (read-char-exclusive)))
|
|
|
+ (case answer
|
|
|
+ (?c
|
|
|
+ (org-sparse-tree
|
|
|
+ arg
|
|
|
+ (cadr (memq type '(scheduled-or-deadline all scheduled deadline active
|
|
|
+ inactive closed)))))
|
|
|
+ (?d (call-interactively #'org-check-deadlines))
|
|
|
+ (?b (call-interactively #'org-check-before-date))
|
|
|
+ (?a (call-interactively #'org-check-after-date))
|
|
|
+ (?D (call-interactively #'org-check-dates-range))
|
|
|
+ (?t (call-interactively #'org-show-todo-tree))
|
|
|
+ (?T (org-show-todo-tree '(4)))
|
|
|
+ (?m (call-interactively #'org-match-sparse-tree))
|
|
|
+ ((?p ?P)
|
|
|
+ (let* ((kwd (org-icompleting-read
|
|
|
+ "Property: " (mapcar #'list (org-buffer-property-keys))))
|
|
|
+ (value (org-icompleting-read
|
|
|
+ "Value: " (mapcar #'list (org-property-values kwd)))))
|
|
|
+ (unless (string-match "\\`{.*}\\'" value)
|
|
|
+ (setq value (concat "\"" value "\""))))
|
|
|
+ (org-match-sparse-tree arg (concat kwd "=" value)))
|
|
|
+ ((?r ?R ?/) (call-interactively #'org-occur))
|
|
|
+ (otherwise (user-error "No such sparse tree command \"%c\"" answer)))))
|
|
|
|
|
|
(defvar org-occur-highlights nil
|
|
|
"List of overlays used for occur matches.")
|