Common Lisp Package: CL-ORG-MODE

README:

FUNCTION

Private

Undocumented

AT-OUTLINE-NODE-P (STACK)

GET-PROPERTY-VALUE (NODE KEY)

READ-CHILD-NODES (ROOT-NODE STACK STREAM)

READ-ORG-FILE (PATHNAME)

READ-PARENT-NODE (PARENT-NODE STREAM)

STACK->STRING (STACK)

GENERIC-FUNCTION

Private

FINALIZE-NODE (NODE NEXT-NODE STACK)

Called when the node has finished reading. This is usually either because node-end returned true or implicitly because another node has started

FIND-NEXT-NODE (NODE NEXT-NODE STACK)

Find the next node that starts in STREAM, implicitly ending NODE. All methods must return the multiple values (VALUES NEW-NODE OLD-STACK) as if from NODE-START.

MAKE-DEFAULT-NODE (NODE NEXT-NODE STACK)

Anything not in another node ends up here

NODE-DISPATCHERS (NODE)

Called by the reader in order to set the dynamic dispatch environment before reading the next node

NODE-END (NODE NEXT-NODE STACK)

return true if stack of characters indicate this node has finished reading

NODE-START (NODE STACK)

Indicate a new node should begin at this point in the stack. The parser will pass a class prototype instance via NODE, so it shouldn't be mutated. All methods _must_ return (VALUES NEW-NODE OLD-STACK) where NEW-NODE created NODE object and any remaining stack which likely belongs to the previous node.

READ-NODE (STARTING-NODE STREAM)

return the next node after reading it from the stream The default method simply calls READ-NEXT-NODE.

STACK-STARTS-WITH (STACK MAYBE-STARTS-WITH)

return (values start-of-stack rest-of-stack) if stack starts with maybe-starts-with. If maybe-starts-with is a string. reverse it before testing against stack

Undocumented

NODE-PROTOTYPES (NODE)

SLOT-ACCESSOR

Private

Undocumented

INCLUDE-END-NODE-P (OBJECT)

NODE.CHILDREN (OBJECT)

SETFNODE.CHILDREN (NEW-VALUE OBJECT)

NODE.CLOSED-P (OBJECT)

SETFNODE.CLOSED-P (NEW-VALUE OBJECT)

NODE.CLOSING-DELIMITER (OBJECT)

SETFNODE.CLOSING-DELIMITER (NEW-VALUE OBJECT)

NODE.CLOSING-DELIMITER-NODE (OBJECT)

SETFNODE.CLOSING-DELIMITER-NODE (NEW-VALUE OBJECT)

NODE.EMACS-MODE (OBJECT)

SETFNODE.EMACS-MODE (NEW-VALUE OBJECT)

NODE.HEADING (OBJECT)

SETFNODE.HEADING (NEW-VALUE OBJECT)

NODE.HEADING-LEVEL-INDICATOR (OBJECT)

SETFNODE.HEADING-LEVEL-INDICATOR (NEW-VALUE OBJECT)

NODE.NEXT-NODE (OBJECT)

SETFNODE.NEXT-NODE (NEW-VALUE OBJECT)

NODE.OPENING-DELIMITER (OBJECT)

SETFNODE.OPENING-DELIMITER (NEW-VALUE OBJECT)

NODE.OPENING-DELIMITER-NODE (OBJECT)

SETFNODE.OPENING-DELIMITER-NODE (NEW-VALUE OBJECT)

NODE.PATHNAME (OBJECT)

SETFNODE.PATHNAME (NEW-VALUE OBJECT)

NODE.TEXT (OBJECT)

SETFNODE.TEXT (NEW-VALUE OBJECT)

PROPERTY-NODE.PROPERTY (OBJECT)

SETFPROPERTY-NODE.PROPERTY (NEW-VALUE OBJECT)

PROPERTY-NODE.VALUE (OBJECT)

SETFPROPERTY-NODE.VALUE (NEW-VALUE OBJECT)

VARIABLE

Private

*DISPATCHERS*

A dynamic variable to hold a list of nodes to use as dispatchers. The default method for FIND-NEXT-NODE will call NODE-START on these nodes

CLASS

Private

NODE

Base class for all nodes

ORG-PARENT-NODE

Some node contain other nodes

Undocumented

CLOSING-DELIMITER-NODE

DELIMITED-NODE

ORG-FILE

ORG-NODE

OUTLINE-NODE

PROPERTIES-NODE

PROPERTY-NODE

SRC-NODE

TEXT-NODE