HyRolo Concepts
HyRolo manages and searches a list of rolo files stored in the hyrolo-file-list custom option. A rolo file consists of an optional header that starts and ends with a line of equal signs (at least three equal signs starting at the beginning of a line), followed by zero or more rolo records which we call entries.
The first file in the list should be a user-specific hyrolo file, typically in the home directory and must have a suffix of either .org (Org mode) or .otl (Emacs Outline mode). Other files in the list may use suffixes of .org, .otl, .md (Markdown mode) or .kotl (Koutline mode).
HyRolo entries begin with a delimiter of one or more special characters followed by another space. Delimiters vary based on the type of file, for example level 3 entry delimiters look like this:
Emacs Outline Mode: ***
Koutline Mode: 1b3 or 1.2.3
Markdown Mode: ###
Org Mode: ***Entries may be arranged in a hierarchy, where child entries start with at least one more delimiter characters than do their parents. Top-level entries use either a single delimiter character or a sequence of digits in the case of Koutlines.
Beyond this initial delimiter, entries are completely free-form text. It is best to use a "lastname, firstname" format, however, when adding contact entries into the first HyRolo file in your list. Then HyRolo will automatically keep your entries alphabetized as you add them; HyRolo can also sort the entries if you ever need. HyRolo will use this ordering if you accept the default entry with which it prompts you when adding a new entry.
Here is an example of a simple HyRolo file. The date at the end is automatically added by HyRolo whenever a new record is added, unless hyrolo-date-format is set to the empty string.
==================================================================
PERSONAL ROLO
<Last-Name>, <First> <Email> W<Work#> F<Fax#>
==================================================================
* Smith, John <js@hiho.com> W708-555-2001 F708-321-1492
Chief Ether Maintainer, HiHo Industries
05/24/2020Any search done on the rolo scans the full text of each entry. During a search, the rolo file header separator lines and anything in between are appended to the buffer of matched entries before any entries are retrieved from the file. Whenever an entry is matched, it and all of its descendant entries are retrieved. If your emacs version supports textual highlighting, each search match is highlighted for quick, visual location.
For example, a search on "Company" could retrieve the following:
==================================================================
COMPANY ROLO
==================================================================
* Company
** Manager
*** StafferThus, searching for Company retrieves all listed employees. Searching for Manager turns up all Staffer entries.