Skip to content

HyRolo Searching

See Rolo Menu, for the list of HyRolo search commands. In this section, the menu item names from the minibuffer menu are used to refer to each command.

The RegexFind menu item searches the rolo list for all entries which contain matches for a given regular expression. The regular expression syntax used is the same as the one used within Emacs and across the GNU set of tools. See Syntax of Regular Expressions in the GNU Emacs Manual, for full documentation on this format.

The TagFind menu item searches through HyRolo Org files and finds headlines with any matching tags. An Action Key press on any matching line displays the line in its source buffer.

The WordFind menu item locates full-word matches so that if you search for ‘product’, it won’t match to occurrences of ‘production’. It is also handy for more precise name matching.

The StringFind menu item has two uses. It can find all entry matches for a string or can execute logical queries for more precise matching. The format of logical queries is explained here; a simple parenthesis delimited prefix format is used with the following logical operators.

Operator Name   Num of Args   Description
=====================================================================
and             two or more   Match entries with all str args
or              two or more   Match entries with any str args
xor             two or more   Match entries with exactly 1 str arg
not             one           Match entries without the str arg

r-and           two or more   Match entries with all regexp args
r-or            two or more   Match entries with any regexp args
r-xor           two or more   Match entries with exactly 1 regexp arg
r-not           one           Match entries without the regexp arg
=====================================================================

For example:

emacs-lisp
(and Company (not Vice-President))

would match those entries for people associated with ‘Company’ who do not have ‘Vice-President’ titles.

The following example would provide a list of all people marked as clients whose area codes are outside of 408 and all non-clients within the 408 area code. This could be useful after all clients within the 408 area code have been contacted and you want to see who else you should contact.

emacs-lisp
(xor client 408- )

When using the regular expression operators, your operands are sent as regular expressions without the need to quote single words or special regular expression characters like ’*’ and ’?’. Use double quote marks to include a phrase or multi-word regular expression pattern to match. For example:

emacs-lisp
(r-and HyRolo "Red Buttons?")

would match entries that contain both "HyRolo" and either "Red Button" or "Red Buttons".