emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Orgmode] property searches and numerical values


From: Dan Davison
Subject: [Orgmode] property searches and numerical values
Date: Thu, 17 Apr 2008 13:19:58 +0100
User-agent: Mutt/1.5.17 (2007-11-01)

I'd like to ask about ways in which (sorted) sparse trees can be produced based 
on numerical-valued properties. One thing I have in mind is that it would seem 
natural to treat priority as a (1-dimensional) numerical quantity, rather than 
as a categorical variable as it seems to be currently. i.e. I'm attracted by 
the idea of being able to generate a sparse tree containing all subtrees with 
priority greater than 2.5, and to have headings in the sparse tree sorted by 
priority. (Of course I'm not suggesting replacing the current priority system; 
in the above by 'priority' I mean some user defined numerical-valued property.) 
[ Am I right in thinking that one also can't do this currently with timestamps? 
Not that that is necessarily needed as the agenda view does a lovely job. ]

So one version of my question would be

q1. Would it be possible to implement binary comparison operators >,<,>=,<= for 
use in tag and property searches? (If true numeric comparisons are difficult, 
then alphanumeric would still be useful.)

Sorry if this is available already.

I also have a more general question, which may well arise from my ignorance of 
what's available. I should admit at the outset that so far I haven't attempted 
to do anything other than completely basic customisations of org-mode.

q2:  It's my impression that the majority of current users aren't scared of 
(e)lisp. (personally I am skill/knowledge-less but not scared). Is there a 
'template'/'model' function a user should look at if they wanted to implement 
their own sparse-tree creation function? I am thinking of a function that takes 
as arguments a node's properties (and possibly also tags, priority, 
timestamps), and computes a TRUE/FALSE value (err, t/nil?) that specifies 
whether the subtree rooted at that point should be included in the search 
results. I've seen the section in the manual 'using the property API'; perhaps 
what I'm talking about is an extension to that API. If all users had to do were 
provide a predicate function include-subtree-in-sparse-tree, and org-mode deals 
with the tree traversal, producing the formatted output, etc, then perhaps it 
wouldn't be that hard for a user to implement something new like the > 
operators? Perhaps. Having said all that, of course I do appreciate the nice 
intuitive syntax for performing tag/property searches. I was just wondering 
about a general way of making it easy for users to extend the search 
functionality, and perhaps reduce the burden on the main developer of 
responding to requests like my q1.

Dan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]