50 lines
2.5 KiB
Factor
50 lines
2.5 KiB
Factor
|
USING: help.markup help.syntax documents ;
|
||
|
IN: documents.elements
|
||
|
|
||
|
HELP: prev-elt
|
||
|
{ $values { "loc" "a pair of integers" } { "document" document } { "elt" "an element" } { "newloc" "a pair of integers" } }
|
||
|
{ $contract "Outputs the location of the first occurrence of the element prior to " { $snippet "loc" } "." } ;
|
||
|
|
||
|
{ prev-elt next-elt } related-words
|
||
|
|
||
|
HELP: next-elt
|
||
|
{ $values { "loc" "a pair of integers" } { "document" document } { "elt" "an element" } { "newloc" "a pair of integers" } }
|
||
|
{ $contract "Outputs the location of the first occurrence of the element following " { $snippet "loc" } "." } ;
|
||
|
|
||
|
HELP: char-elt
|
||
|
{ $class-description "An element representing a single character." } ;
|
||
|
|
||
|
HELP: one-word-elt
|
||
|
{ $class-description "An element representing a single word. The " { $link prev-elt } " and " { $link next-elt } " words return the location of the beginning and the end of the word at the current location." } ;
|
||
|
|
||
|
{ one-word-elt word-elt } related-words
|
||
|
|
||
|
HELP: word-elt
|
||
|
{ $class-description "An element representing a single word. The " { $link prev-elt } " and " { $link next-elt } " words return the location of the previous and next word from the current location." } ;
|
||
|
|
||
|
HELP: one-line-elt
|
||
|
{ $class-description "An element representing a single line. The " { $link prev-elt } " and " { $link next-elt } " words return the location of the beginning and the end of the line at the current location." } ;
|
||
|
|
||
|
{ one-line-elt line-elt } related-words
|
||
|
|
||
|
HELP: line-elt
|
||
|
{ $class-description "An element representing a single line. The " { $link prev-elt } " and " { $link next-elt } " words return the location of the previous and next line from the current location." } ;
|
||
|
|
||
|
HELP: doc-elt
|
||
|
{ $class-description "An element representing the entire document. The " { $link prev-elt } " word outputs the start of the document and the " { $link next-elt } " word outputs the end of the document." } ;
|
||
|
|
||
|
ARTICLE: "documents.elements" "Document elements"
|
||
|
"Document elements, defined in the " { $vocab-link "documents.elements" } " vocabulary, overlay a hierarchy of structure on top of the flat sequence of characters presented by the document."
|
||
|
$nl
|
||
|
"The different types of document elements correspond to the standard editing taxonomy:"
|
||
|
{ $subsection char-elt }
|
||
|
{ $subsection one-word-elt }
|
||
|
{ $subsection word-elt }
|
||
|
{ $subsection one-line-elt }
|
||
|
{ $subsection line-elt }
|
||
|
{ $subsection doc-elt }
|
||
|
"New locations can be created out of existing ones by finding the start or end of a document element nearest to a given location."
|
||
|
{ $subsection prev-elt }
|
||
|
{ $subsection next-elt } ;
|
||
|
|
||
|
ABOUT: "documents.elements"
|