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