emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* regex to find *.org in subdirectories for agenda
@ 2009-05-20 23:57 Michael McAndrew
  2009-05-21  0:40 ` Bernt Hansen
  0 siblings, 1 reply; 3+ messages in thread
From: Michael McAndrew @ 2009-05-20 23:57 UTC (permalink / raw)
  To: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 1483 bytes --]

Hi there,

I'm just getting started with org mode after having watched the google tech
talk.  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.  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".  i want to keep *.org lists in
each of these directories and have them automatically picked up by orgmode
when i hit C-ca.  so i might have  ~/work/bbc/todo.org and ~/home/garden/
todo.org

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))))

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 :)

Thanks,
Michael

[-- Attachment #1.2: Type: text/html, Size: 1789 bytes --]

[-- Attachment #2: Type: text/plain, Size: 204 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: regex to find *.org in subdirectories for agenda
  2009-05-20 23:57 regex to find *.org in subdirectories for agenda Michael McAndrew
@ 2009-05-21  0:40 ` Bernt Hansen
  2009-05-21  1:38   ` Michael McAndrew
  0 siblings, 1 reply; 3+ messages in thread
From: Bernt Hansen @ 2009-05-21  0:40 UTC (permalink / raw)
  To: Michael McAndrew; +Cc: emacs-orgmode

Michael McAndrew <michaelmcandrew@gmail.com> writes:

> Hi there,
>

Hi Michael!

> I'm just getting started with org mode after having watched the google
> tech talk.  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. 
> 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".  i want to keep *.org
> lists in each of these directories and have them automatically picked
> up by orgmode when i hit C-ca.  so i might have  ~/work/bbc/todo.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
| 
| 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)
| 
| (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)
| 
| (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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: regex to find *.org in subdirectories for agenda
  2009-05-21  0:40 ` Bernt Hansen
@ 2009-05-21  1:38   ` Michael McAndrew
  0 siblings, 0 replies; 3+ messages in thread
From: Michael McAndrew @ 2009-05-21  1:38 UTC (permalink / raw)
  To: Bernt Hansen; +Cc: emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 4811 bytes --]

yes it was.  thanks, bernt, that was fantastic and helped me out of a big
hole (that i dug for myself :)

I decided to build a little hill to stand on next to the hole by adding the
following two lines

(setq org-agenda-files (find-lisp-find-files "~/Documents/Projects/Current"
(rx (seq ".org" string-end))))
(add-to-list 'org-agenda-files "~/Documents")

which dynamically fills my todo with all files from any subdirectory in
projects and then adds todo files from my Documents directory and I can add
other directories when the I feel like it.  I guess I could try and rewrite
that as one big regex, but life is short.

thanks again!





2009/5/21 Bernt Hansen <bernt@norang.ca>

> Michael McAndrew <michaelmcandrew@gmail.com> writes:
>
> > Hi there,
> >
>
> Hi Michael!
>
> > I'm just getting started with org mode after having watched the google
> > tech talk.  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.
> > 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".  i want to keep *.org
> > lists in each of these directories and have them automatically picked
> > up by orgmode when i hit C-ca.  so i might have  ~/work/bbc/todo.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
> |
> | 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)
> |
> | (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)
> |
> | (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
>

[-- Attachment #1.2: Type: text/html, Size: 6938 bytes --]

[-- Attachment #2: Type: text/plain, Size: 204 bytes --]

_______________________________________________
Emacs-orgmode mailing list
Remember: use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-05-21  1:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-20 23:57 regex to find *.org in subdirectories for agenda Michael McAndrew
2009-05-21  0:40 ` Bernt Hansen
2009-05-21  1:38   ` Michael McAndrew

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).