From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tassilo Horn Subject: Dynamic tag completion with all tags from all agenda files Date: Wed, 11 Nov 2009 21:19:17 +0100 Message-ID: <87d43o7r22.fsf@thinkpad.tsdh.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N8JfQ-0001gD-5k for emacs-orgmode@gnu.org; Wed, 11 Nov 2009 15:19:48 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N8JfL-0001V9-Nw for emacs-orgmode@gnu.org; Wed, 11 Nov 2009 15:19:47 -0500 Received: from [199.232.76.173] (port=57615 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N8JfL-0001Ut-J0 for emacs-orgmode@gnu.org; Wed, 11 Nov 2009 15:19:43 -0500 Received: from lo.gmane.org ([80.91.229.12]:48733) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1N8JfL-0005Vm-9O for emacs-orgmode@gnu.org; Wed, 11 Nov 2009 15:19:43 -0500 Received: from list by lo.gmane.org with local (Exim 4.50) id 1N8JfI-0006lG-Jl for emacs-orgmode@gnu.org; Wed, 11 Nov 2009 21:19:40 +0100 Received: from p54af235a.dip0.t-ipconnect.de ([84.175.35.90]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 11 Nov 2009 21:19:40 +0100 Received: from tassilo by p54af235a.dip0.t-ipconnect.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 11 Nov 2009 21:19:40 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi all, is there a way to get the tag completion suggest all tags from all my agenda files? The rationale is that I use `org-remember' very extensively, and I often want to tag the new entry. But there's no dynamic completion, because that uses only the current file's tags and the remember buffer has none. I could setup all tags in `org-tag-alist', but tags are not really static. I could add a new one with TAB in the tag interface, but then I would have to add it to `org-tag-alist' manually. Not very nifty... What would be cool, was that org collected all tags from all agenda files as soon as the agenda is built the first time. Then it uses those cached tags for completion (maybe with some automatic fast selection key calculation *dreaming*). When a user adds a new tag with TAB in the tag interface, it is added to that list. I don't know exactly how the behavior should be with `org-tag-alist' set to something. Maybe a good approach for the whole wish would be adding a special entry to org-tag-alist: ;; Use all tags from all agenda files, and add the tags foo and bar, ;; even if they are not used anywhere. (setq org-tag-alist '(:all foo bar)) Now only the behavior of the TAGS keyword in files has to be defined somehow. Well, I don't have an opinion. There are two options: 1) extend the dynamic list of all tags with the ones defined in TAGS (consistent with the :all keyword above), or 2) the dynamic list is disabled and only those tags are shown (consistent with the current behavior). What do you think? Bye, Tassilo