2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								! Copyright (C) 2008 Doug Coleman.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								! See http://factorcode.org/license.txt for BSD license.  
						 
					
						
							
								
									
										
										
										
											2010-02-21 06:34:08 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								USING:  help.markup  help.syntax  kernel  strings  words  vocabs  sequences  ;
  
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								IN:  tools.scaffold  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  developer-name  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Set this symbol to hold your name so that the scaffold tools can generate the correct file header for copyright. Setting this variable in your .factor-boot-rc file is recommended."  }
							 
						 
					
						
							
								
									
										
										
										
											2008-10-02 11:53:19 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $code "USING: namespaces tools.scaffold ;\n\"Stacky Guy\" developer-name set-global"  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  help.  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
									
										
										
										
											2011-01-17 17:43:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { "word"  word } }
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{ $description "Prints out scaffold help markup for a given word."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2012-07-27 18:24:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HELP:  scaffold-docs  
						 
					
						
							
								
									
										
										
										
											2009-02-22 11:03:37 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $values { "vocab"  vocab } }
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								{ $description "Takes an existing vocabulary and creates a help file with scaffolded help for each word. This word only works if no help file yet exists."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-undocumented  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
									
										
										
										
											2011-01-17 17:43:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { "string"  string  } }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Prints scaffolding documentation for undocumented words in a vocabulary except for automatically generated class predicates."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2014-10-31 20:30:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ scaffold-docs scaffold-undocumented scaffold-examples } related-words
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-examples  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "word"  word }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Create some examples for a word with a using list that includes vocabularies the word is in and the "  { $vocab-link "prettyprint"  } " vocabulary. You are then expected to change the header "  { $snippet "Example:"  } " to something more descriptive."  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $examples
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    "Create docs for the + word:" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { $example "USING: math tools.scaffold prettyprint ;" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        "\\ + scaffold-examples" 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-26 01:59:56 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        "{ $examples
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    \"Example:\"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { $example \"USING: math prettyprint ;\"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        \"\"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        \"\"
							 
						 
					
						
							
								
									
										
										
										
											2014-10-31 20:30:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
									
										
										
										
											2015-07-26 01:59:56 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    \"Example:\"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { $example \"USING: math prettyprint ;\"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        \"\"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        \"\"
							 
						 
					
						
							
								
									
										
										
										
											2014-10-31 20:30:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
									
										
										
										
											2015-07-26 01:59:56 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}"
							 
						 
					
						
							
								
									
										
										
										
											2014-10-31 20:30:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-core  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "string"  string  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Create a placeholder vocabulary in the core vocabulary root."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-basis  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "string"  string  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Create a placeholder vocabulary in the basis vocabulary root."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-extra  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "string"  string  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Create a placeholder vocabulary in the extra vocabulary root."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2016-07-14 09:58:05 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HELP:  scaffold-work  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "string"  string  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Create a placeholder vocabulary in the work vocabulary root."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2010-02-21 06:34:08 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HELP:  scaffold-authors  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "vocab"  "a vocabulary specifier"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Creates an authors.txt file using the value in "  { $link developer-name } ". This word only works if no authors.txt file yet exists."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-summary  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "vocab"  "a vocabulary specifier"  } { "summary"  string  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Creates a summary.txt file with the given summary. This word only works if no summary.txt file yet exists."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-tags  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "vocab"  "a vocabulary specifier"  } { "tags"  string  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Creates a tags.txt file with the given tags. This word only works if no tags.txt file yet exists."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-tests  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "vocab"  "a vocabulary specifier"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Takes an existing vocabulary and creates an empty tests file help for each word. This word only works if no tests file yet exists."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-vocab  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
									
										
										
										
											2011-01-17 17:43:42 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    { "vocab-root"  "a vocabulary root string"  } { "string"  string  } }
							 
						 
					
						
							
								
									
										
										
										
											2009-03-27 01:05:18 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $description "Creates a directory in the given root for a new vocabulary and adds a main .factor file and an authors.txt file."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-02-22 11:27:29 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HELP:  scaffold-emacs  
						 
					
						
							
								
									
										
										
										
											2018-03-15 09:45:12 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $description "Touches the .emacs file in your home directory and provides a clickable link to open it in an editor."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-22 11:27:29 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-factor-boot-rc  
						 
					
						
							
								
									
										
										
										
											2018-03-15 09:45:12 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $description "Touches the .factor-boot-rc file in your home directory and provides a clickable link to open it in an editor."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-22 11:27:29 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-factor-rc  
						 
					
						
							
								
									
										
										
										
											2018-03-15 09:45:12 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $description "Touches the .factor-rc file in your home directory and provides a clickable link to open it in an editor."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-22 11:27:29 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2011-08-29 02:03:41 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								HELP:  scaffold-factor-roots  
						 
					
						
							
								
									
										
										
										
											2018-03-15 09:45:12 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $description "Touches the .factor-roots file in your home directory and provides a clickable link to open it in an editor."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								HELP:  scaffold-rc  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $values
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    { "path"  "a pathname string"  }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Touches the given path in your home directory and provides a clickable link to open it in an editor."  } ;
 
							 
						 
					
						
							
								
									
										
										
										
											2009-02-22 11:27:29 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								HELP:  using  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								{ $description "Stores the vocabularies that are pulled into the documentation file from looking up the stack effect types."  } ;
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ARTICLE: "tools.scaffold"  "Scaffold tool" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								"Scaffold setup:"  
						 
					
						
							
								
									
										
										
										
											2009-10-01 15:56:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $subsections developer-name }
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								"Generate new vocabs:"  
						 
					
						
							
								
									
										
										
										
											2016-07-14 09:58:05 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $subsections scaffold-vocab scaffold-core scaffold-basis scaffold-extra scaffold-work }
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								"Generate help scaffolding:"  
						 
					
						
							
								
									
										
										
										
											2009-10-01 15:56:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $subsections
							 
						 
					
						
							
								
									
										
										
										
											2012-07-27 18:24:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    scaffold-docs
							 
						 
					
						
							
								
									
										
										
										
											2009-10-01 15:56:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    scaffold-undocumented
							 
						 
					
						
							
								
									
										
										
										
											2014-10-31 20:30:30 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    scaffold-examples
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    scaffold-n-examples
							 
						 
					
						
							
								
									
										
										
										
											2009-10-01 15:56:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    help.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2009-02-22 11:27:29 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								"Types that are unrecognized by the scaffold generator will be of type "  { $link null  } ". The developer should change these to strings that describe the stack effect names instead."  $nl 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								"Scaffolding a configuration file:"  
						 
					
						
							
								
									
										
										
										
											2009-10-01 15:56:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{ $subsections
							 
						 
					
						
							
								
									
										
										
										
											2018-03-15 09:45:12 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    scaffold-rc
							 
						 
					
						
							
								
									
										
										
										
											2009-10-01 15:56:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    scaffold-factor-boot-rc
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    scaffold-factor-rc
							 
						 
					
						
							
								
									
										
										
										
											2011-08-29 02:03:41 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    scaffold-factor-roots
							 
						 
					
						
							
								
									
										
										
										
											2009-10-01 15:56:36 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    scaffold-emacs
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}
							 
						 
					
						
							
								
									
										
										
										
											2008-09-04 02:50:26 -04:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								;
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								ABOUT: "tools.scaffold"