From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bernt Hansen Subject: Re: regex to find *.org in subdirectories for agenda Date: Wed, 20 May 2009 20:40:37 -0400 Message-ID: <87k54bp9tm.fsf@gollum.intra.norang.ca> References: <4b58d51b0905201657k5bd1916cpbed12feccb4ee459@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M6wL4-0008Hz-5x for emacs-orgmode@gnu.org; Wed, 20 May 2009 20:40:50 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M6wL0-0008Ga-6D for emacs-orgmode@gnu.org; Wed, 20 May 2009 20:40:49 -0400 Received: from [199.232.76.173] (port=43337 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M6wL0-0008GX-1p for emacs-orgmode@gnu.org; Wed, 20 May 2009 20:40:46 -0400 Received: from mho-01-ewr.mailhop.org ([204.13.248.71]:50452) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1M6wKz-0006Pq-L5 for emacs-orgmode@gnu.org; Wed, 20 May 2009 20:40:45 -0400 In-Reply-To: <4b58d51b0905201657k5bd1916cpbed12feccb4ee459@mail.gmail.com> (Michael McAndrew's message of "Thu\, 21 May 2009 00\:57\:13 +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: Michael McAndrew Cc: emacs-orgmode@gnu.org Michael McAndrew writes: > Hi there, > Hi Michael! > I'm just getting started with org mode after having watched the google > tech talk.=C2=A0 from my experiences so far, i think it is the tool i have > been waiting for a long time! > > i've have transferred by entire huge nested todo list (which i was > previously managing in a local mediawiki) and that has been great.=C2=A0 > but am now excited about being able to split up and recompile all my > todos automatically - so i can keep everything contextually organised. > > I have my projects organised in directories and sub directories under > two projects directories, "~/work" and "~/home".=C2=A0 i want to keep *.o= rg > lists in each of these directories and have them automatically picked > up by orgmode when i hit C-ca.=C2=A0 so i might have=C2=A0 ~/work/bbc/tod= o.org > and ~/home/garden/todo.org I don't use org-mode like this myself but just did a quick minimal emacs test and it seems to work fine. You can set org-agenda-files to the directories you want to include in the agenda and all files matching the org-agenda-file-regexp will be included in the agenda. > > I found this post > http://www.mail-archive.com/emacs-orgmode@gnu.org/msg08945.html > > so i presume that i need to use a regular expression in > find-lisp-find-files to create this list of files to feed to some > variable like org-agenda-files... > > and have tried a million regex inspired expressions in my emacs config > like: > > (load-library "find-lisp") > (set org-agenda files (find-lisp-find-files "~" (rx seq(string-start (or = "work" "home") ".org" string-end)))) ^ | no space here. It should be org-agenda-files > > but it isn't working. > > i'm kind of out of my depth with emacs (aquamacs actually - only have > a few days experience) and have never got to grips with regex! but > also loving it and would be grateful if someone could pull me out of > this hole :) Here's my test setup -- I just added the directories to org-agenda-files: I just created files in /tmp/play/ /tmp/work/ and /tmp/foo and added some tasks to some of these just to see if they show up in the agenda (and they did). ,----[ My test directory layout ] | bernt@gollum:~/git/org-mode$ tree /tmp/play /tmp/work /tmp/foo | /tmp/play | |-- a.org | |-- b.org | |-- c.org | |-- d.org | `-- e.org | /tmp/work | |-- w-g.org | |-- w-h.org | |-- w-i.org | |-- w-j.org | `-- w-l.org | /tmp/foo | |-- foo-r.org | |-- foo-s.org | `-- foo-t.org |=20 | 0 directories, 13 files `---- ,----[ /tmp/minimal.emacs ] | (add-to-list 'load-path (expand-file-name "~/git/org-mode/lisp")) | (add-to-list 'auto-mode-alist '("\\.\\(org\\|org_archive\\|txt\\)$" . org= -mode)) | (require 'org-install) |=20 | (global-font-lock-mode t) | (global-set-key "\C-cl" 'org-store-link) | (global-set-key "\C-ca" 'org-agenda) | (global-set-key "\C-cb" 'org-iswitchb) |=20 | (setq org-agenda-files (list "/tmp/work" "/tmp/play" "/tmp/foo")) `---- ,----[ /tmp/work/w-l.org ] | #+STARTUP: | * TODO Something for work | SCHEDULED: <2009-05-19 Tue> `---- ,----[ /tmp/foo/foo-s.org ] | * Meeting | DEADLINE: <2009-05-22 Fri 12:00> `---- ,----[ /tmp/play/c.org ] | #+STARTUP: | * TODO Play with this | SCHEDULED: <2009-05-21 Thu 15:00> `---- Starting emacs with: emacs -q -l /tmp/minimal.emacs and hitting C-c a a shows the following agenda ,----[ /tmp/agenda.txt ] | Week-agenda (W21): | Monday 18 May 2009 W21 | Tuesday 19 May 2009 | w-l: Scheduled: TODO Something for work | Wednesday 20 May 2009 | w-l: Sched. 2x: TODO Something for work | foo-s: In 2 d.: Meeting | Thursday 21 May 2009 | c: 15:00...... Scheduled: TODO Play with this | Friday 22 May 2009 | foo-s: 12:00...... Deadline: Meeting | Saturday 23 May 2009 | Sunday 24 May 2009 `---- HTH, Bernt