Skip to main content

Module org

Module org 

Source
Expand description

Org 9.8 syntax the tracker has to get right.

An issues.org is an ordinary Org document. The verbs treat a top-level TODO heading as an issue; everything else in the file is still Org, and a construct Org would not treat as a headline or a property drawer must not become one here.

The rules follow the Org 9.8 manual: https://orgmode.org/manual/.

Structs§

BlockNest
Nesting of greater blocks (#+BEGIN_SRC#+END_SRC) and dynamic blocks (#+BEGIN: clocktable#+END:).
HeadlineBits
The pieces Org puts on a headline after the stars (manual 2.1, 5.1, 5.4).
OrgScan
Walk that hides both greater/dynamic blocks and Org Babel result regions (manual 16).
PrioritySpec
File-local priority cookie range (#+PRIORITIES: highest lowest default).
SrcBlockHead
The #+BEGIN_SRC lang switches :headers line (manual 16.2).
TagSettings
File-level tag, export, and publish settings (manual 6, 13.2, 17.8).
TagSpec
A declared tag on #+TAGS:, with an optional fast-selection key.

Constants§

COMPUTED_SPECIALS
Org specials that are computed. Writing them in a drawer does not set them; Org reads the headline, the planning line, or the clock.
HOUSE_PRIORITIES_LINE
House #+PRIORITIES:: highest A, lowest C, default C.
HOUSE_TAGS_LINES
House #+TAGS: lines: types are mutually exclusive; the rest are loose.
PLANNING_KEYS
Keywords Org writes on the planning line, in the order Org writes them.
PROTOCOL_KEYWORD
In-buffer keyword that carries PROTOCOL_VERSION.
PROTOCOL_VERSION
On-disk issues.org contract. Independent of the crate version and of the control-socket protocol.
SETTABLE_SPECIALS
Org specials a heading may set. CATEGORY and ARCHIVE are the ones the agenda actually honours from the drawer.

Functions§

blocker_ids_from_properties
Every blocker id a heading declares: :BLOCKED_BY:, a typo :BLOCKEDBY:, a :BLOCKER: that is just ids, and ids(...) inside an org-edna form.
edna_blocker_id_refs
Issue ids mentioned in an org-edna ids(...) / id(...) form.
edna_blocker_ids
Issue ids mentioned in an org-edna ids(...) / id(...) form.
effort_from_properties
Effort value Org’s column view and agenda effort filter read. org-effort-property defaults to Effort.
ensure_org_preamble
Insert the house in-buffer settings a hand-started file never grew.
filetags_from_preamble
Tags from #+FILETAGS: (manual 6 / in-buffer settings).
inline_call_names
Inline call_name(args) / call_name[hdr](args) (manual 16.5).
inline_src_spans
Inline src_lang{body} / src_lang[headers]{body} (manual 16.2).
is_affiliated_keyword
Affiliated keyword that binds to the next element (manual 16.3, org-element).
is_babel_call
#+CALL: name(...) (manual 16.5 / Library of Babel).
is_edna_blocker
Whether a :BLOCKER: value is org-edna / org-depend syntax, not a list of issue ids. GNU ELPA org-edna is the maintained package; org-depend in org-contrib is the older one. Both own this name.
is_gcal_event_id
An org-gcal event id (<event>/<calendar>), not an org-id / vissue id.
is_headline
A line Org reads as a headline: one or more stars at column 0, then a space.
is_issue_headline
A top-level heading that is an issue: recognised TODO keyword, not COMMENT.
is_org_effort
A duration Org accepts for Effort: 1:30, 2h, 3d, 0:10.
is_org_tag_char
Whether c may appear in an Org tag ([[:alnum:]_@#%]+).
is_planning_line
Whether trimmed opens a planning line (any planning key and a colon).
is_results_keyword
#+RESULTS: / #+RESULTS[hash]: / #+RESULTS: name (manual 16.6).
is_top_level_headline
A level-one headline: * at column 0. That is an issue site.
merge_setupfile_settings
In-buffer settings from #+SETUPFILE: plus the file’s own preamble.
noweb_refs
Noweb references <<name>> / <<name(args)>> (manual 16.11).
opens_a_drawer
:NAME: alone on a line, which is how every drawer opens (manual 2.7).
org_link_targets
Ids named by Org links in body that also sit in known_ids.
org_property_is_set
Org treats a non-empty property other than nil / 0 as true.
parse_header_args
:key value pairs from a header-args string (manual 16.3).
parse_headline_bits
Split the text after * into keyword, priority, COMMENT, and title.
parse_planning_line
Read an Org planning line into KEY -> timestamp pairs.
parse_priority_cookie
Split a leading [#A] cookie off a heading. Any other shape yields None.
parse_src_begin
Parse a source-block opening line. Other greater blocks yield None.
preamble_has_keyword
Whether the preamble already carries #+NAME:.
priorities_from_preamble
#+PRIORITIES: from the preamble, or A C C.
property_key_and_append
Property key as written, with a trailing + (append) stripped.
protocol_from_preamble
Protocol integer from #+VISSUE:, when the line parses.
settle_heading_classifiers
Move classifiers Org can hold onto the heading: a legal :TYPE: and any legal token in :VISSUE_TAGS:. Hyphenated leftovers stay in the property. :TYPE: itself is kept so export and --type filters still read it.
split_id_list
Split a BLOCKED_BY-style id list: commas and whitespace both separate.
split_statistics_cookies
Split trailing statistics cookies ([2/5], [33%]) off a title.
tag_settings_from_preamble
Parse #+FILETAGS:, #+TAGS:, #+SELECT_TAGS:, #+EXCLUDE_TAGS:.
take_timestamp
Consume one Org timestamp or timestamp range at the start of s.
todo_keywords_from_lines
Same as todo_keywords_from_preamble, from already-split lines.
todo_keywords_from_preamble
File-local TODO keywords from #+TODO: lines, plus the house set.