summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdó Roig-Maranges <abdo.roig@gmail.com>2012-12-24 14:49:04 +0100
committerBastien Guerry <bzg@altern.org>2012-12-24 14:49:04 +0100
commita04ccc40b2924a7afc99c6b414ae394e1affdfdb (patch)
tree5b72d26534614de9535d9db2eab6c8bbc9ad9962
parentca4219abc9e3e4da41a719d046d2a08fa7d604f1 (diff)
downloadorg-mode-a04ccc40b2924a7afc99c6b414ae394e1affdfdb.tar.gz
org-agenda.el: New option `org-agenda-search-view-max-outline-level'
* org-agenda.el (org-agenda-search-view-max-outline-level): New option to define the max level for the entries shown by the search view. A value of 1 means to show the top parent of the entries.
-rw-r--r--lisp/org-agenda.el23
1 files changed, 22 insertions, 1 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index fce98f6..ce3a01c 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -1320,6 +1320,14 @@ When nil, they may also match part of a word."
:version "24.1"
:type 'boolean)
+(defcustom org-agenda-search-view-max-outline-level nil
+ "Maximum outline level to display in search view.
+E.g. when this is set to 1, the search view will only
+show headlines of level 1."
+ :group 'org-agenda-search-view
+ :version "24.3"
+ :type 'integer)
+
(defgroup org-agenda-time-grid nil
"Options concerning the time grid in the Org-mode Agenda."
:tag "Org Agenda Time Grid"
@@ -4399,10 +4407,23 @@ in `org-agenda-text-search-extra-files'."
(goto-char (max (point-min) (1- (point))))
(while (re-search-forward regexp nil t)
(org-back-to-heading t)
+ (while (and org-agenda-search-view-max-outline-level
+ (> (org-reduced-level (org-outline-level))
+ org-agenda-search-view-max-outline-level)
+ (forward-line -1)
+ (outline-back-to-heading t)))
(skip-chars-forward "* ")
(setq beg (point-at-bol)
beg1 (point)
- end (progn (outline-next-heading) (point)))
+ end (progn
+ (outline-next-heading)
+ (while (and org-agenda-search-view-max-outline-level
+ (> (org-reduced-level (org-outline-level))
+ org-agenda-search-view-max-outline-level)
+ (forward-line 1)
+ (outline-next-heading)))
+ (point)))
+
(catch :skip
(goto-char beg)
(org-agenda-skip)