You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

61 lines
3.5 KiB

[comment {--- punk::docgen generated from inline doctools comments ---}]
[comment {--- punk::docgen DO NOT EDIT DOCS HERE UNLESS YOU REMOVE THESE COMMENT LINES ---}]
[comment {--- punk::docgen overwrites this file ---}]
[manpage_begin punkshell_module_punk::mix::commandset::project 0 0.1.0]
[copyright "2023"]
[titledesc {dec commandset - project}] [comment {-- Name section and table of contents description --}]
[moddesc {deck CLI commandset - project}] [comment {-- Description at end of page heading --}]
[require punk::mix::commandset::project]
[description]
[section Overview]
[para] overview of punk::mix::commandset::project
[para]Import into an ensemble namespace similarly to the way it is done with punk::mix::cli e.g
[example {
namespace eval myproject::cli {
namespace export *
namespace ensemble create
package require punk::overlay
package require punk::mix::commandset::project
punk::overlay::import_commandset project . ::punk::mix::commandset::project
punk::overlay::import_commandset projects . ::punk::mix::commandset::project::collection
}
}]
[para] Where the . in the above example is the prefix/command separator
[para]The prefix ('project' in the above example) can be any string desired to disambiguate commands imported from other commandsets.
[para]The above results in the availability of the ensemble command: ::myproject::cli project.new, which is implemented in ::punk::mix::commandset::project::new
[para]Similarly, procs under ::punk::mix::commandset::project::collection will be available as subcommands of the ensemble as <ensemblecommand> projects.<procname>
[para]
[subsection Concepts]
[para] see punk::overlay
[subsection dependencies]
[para] packages used by punk::mix::commandset::project
[list_begin itemized]
[item] [package {Tcl 8.6}]
[item] [package punk::ns]
[item] [package sqlite3] (binary)
[item] [package overtype]
[item] [package textutil] (tcllib)
[list_end]
[section API]
[subsection {Namespace punk::mix::commandset::project}]
[para] core commandset functions for punk::mix::commandset::project
[list_begin definitions]
[call [fun new] [arg newprojectpath_or_name] [opt args]]
new project structure - may be dedicated to one module, or contain many.
create minimal folder structure only by specifying in args: -modules {}
[list_end] [comment {--- end definitions namespace punk::mix::commandset::project ---}]
[subsection {Namespace punk::mix::commandset::project::collection}]
[para] commandset functions for operating with multiple projects.
[para] It would usually be imported with the prefix "projects" and separator "." to result in commands such as: <ensemblecommand> projects.detail
[list_begin definitions]
[call [fun _default] [arg glob] [opt {option value...}]]
[para]List projects under fossil management, showing fossil db location and number of checkouts
[para]The glob argument is optional unless option/value pairs are also supplied, in which case * should be explicitly supplied
[para]glob restricts output based on the name of the fossil db file e.g s* for all projects beginning with s
[para]The _default function is made available in the ensemble by the name of the prefix used when importing the commandset.
[para]e.g
[para] punk::overlay::import_commandset projects . ::punk::mix::commandset::project::collection
[para]Will result in the command being available as <ensemblecommand> projects
[list_end] [comment {-- end collection namespace definitions --}]
[manpage_end]