From a04ccc40b2924a7afc99c6b414ae394e1affdfdb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Abd=C3=B3=20Roig-Maranges?= Date: Mon, 24 Dec 2012 14:49:04 +0100 Subject: [PATCH] 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. --- lisp/org-agenda.el | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index fce98f69e..ce3a01ce5 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) -- 2.11.4.GIT