99 lines
4.2 KiB
Factor
99 lines
4.2 KiB
Factor
USING: help.markup help.syntax kernel classes io io.styles mirrors ;
|
|
IN: inspector
|
|
|
|
ARTICLE: "inspector" "The inspector"
|
|
"The inspector displays a tabular view of an object and adds navigation and editing features. Inspector words are found in the " { $vocab-link "inspector" } " vocabulary."
|
|
$nl
|
|
"Starting the inspector:"
|
|
{ $subsection inspect }
|
|
"The inspector supports a number of commands which operate on the most recently inspected object:"
|
|
{ $subsection &push }
|
|
{ $subsection &back }
|
|
{ $subsection &at }
|
|
{ $subsection &put }
|
|
{ $subsection &add }
|
|
{ $subsection &rename }
|
|
{ $subsection &delete }
|
|
"A variable holding the current object:"
|
|
{ $subsection me }
|
|
"A variable holding inspector history:"
|
|
{ $subsection inspector-stack }
|
|
"A customization hook:"
|
|
{ $subsection inspector-hook }
|
|
"A description of an object can be printed without starting the inspector:"
|
|
{ $subsection describe }
|
|
{ $subsection describe* } ;
|
|
|
|
ABOUT: "inspector"
|
|
|
|
HELP: value-editor
|
|
{ $values { "path" "a sequence of keys" } }
|
|
{ $description "Prettyprints the value at a path, and if the output stream supports it, a graphical gadget for editing the object." }
|
|
{ $notes "To learn about paths, see " { $link "mirrors" } "." } ;
|
|
|
|
{ presented-path presented-printer value-editor } related-words
|
|
|
|
HELP: describe
|
|
{ $values { "obj" object } }
|
|
{ $description "Print a tabular overview of the object."
|
|
$nl
|
|
"For sequences and hashtables, this outputs the entries of the collection. For all other object types, slot names and values are shown." }
|
|
{ $examples { $code "global describe" } } ;
|
|
|
|
HELP: describe*
|
|
{ $values { "obj" object } { "mirror" mirror } { "keys" "a sequence of objects" } }
|
|
{ $description "Print a tabular overview of the object." }
|
|
{ $notes "This word is a factor of " { $link describe } " and " { $link inspect } "." } ;
|
|
|
|
HELP: inspector-stack
|
|
{ $var-description "If the inspector is running, this variable holds previously-inspected objects." } ;
|
|
|
|
HELP: &push
|
|
{ $values { "obj" object } }
|
|
{ $description "If the inspector is running, outputs the object currently being inspected." } ;
|
|
|
|
HELP: inspector
|
|
{ $values { "obj" object } }
|
|
{ $description "Starts a new inspector and prints a brief help message. If an inspector is already running, this starts a nested inspector. An alternative word that reuses the current inspector instance is " { $link inspect } "." } ;
|
|
|
|
HELP: inspect
|
|
{ $values { "obj" object } }
|
|
{ $description "If an inspector is already running, displays the slots of the object in the current inspector. If an inspector is not running, starts a new inspector." } ;
|
|
|
|
HELP: &at
|
|
{ $values { "n" "a non-negative integer" } }
|
|
{ $description "Inspects the " { $snippet "n" } "th slot of the current object. Use " { $link &back } " to return." } ;
|
|
|
|
HELP: &put
|
|
{ $values { "value" object } { "n" "a non-negative integer" } }
|
|
{ $description "Sets the " { $snippet "n" } "th slot of the current object to the given value." }
|
|
{ $errors "Throws an error if the object does not support this operation." } ;
|
|
|
|
HELP: &add
|
|
{ $values { "value" object } { "key" object } }
|
|
{ $description "Adds a key/value pair to the current object." }
|
|
{ $errors "Throws an error if the object does not support this operation." } ;
|
|
|
|
HELP: &delete
|
|
{ $values { "n" "a non-negative integer" } }
|
|
{ $description "Deletes the " { $snippet "n" } "th slot from the current object." }
|
|
{ $errors "Throws an error if the object does not support this operation." } ;
|
|
|
|
HELP: &rename
|
|
{ $values { "key" object } { "n" "a non-negative integer" } }
|
|
{ $description "Changes the key of the " { $snippet "n" } "th slot of the current object." }
|
|
{ $errors "Throws an error if the object does not support this operation." } ;
|
|
|
|
HELP: &back
|
|
{ $description "Returns to the previously-inspected object." } ;
|
|
|
|
{ &back &at &put &add &delete } related-words
|
|
|
|
HELP: me
|
|
{ $var-description "The currently inspected object." } ;
|
|
|
|
HELP: inspector-hook
|
|
{ $var-description "A quotation with stack effect " { $snippet "( obj -- )" } ", called by the inspector to display an overview of an object."
|
|
$nl
|
|
"The default implementation calls " { $link describe } " which outputs on " { $link output-stream } ", but the graphical listener sets this variable so that calling " { $link inspect } " in the UI opens the graphical inspector." } ;
|