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"
							 |