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.
92 lines
2.4 KiB
92 lines
2.4 KiB
# -*- tcl -*- |
|
# Maintenance Instruction: leave the 999999.xxx.x as is and use 'pmix make' or src/make.tcl to update from <pkg>-buildversion.txt |
|
# |
|
# Please consider using a BSD or MIT style license for greatest compatibility with the Tcl ecosystem. |
|
# Code using preferred Tcl licenses can be eligible for inclusion in Tcllib, Tklib and the punk package repository. |
|
# ++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ |
|
# (C) 2023 |
|
# |
|
# @@ Meta Begin |
|
# Application punk::mix::commandset::debug 0.1.0 |
|
# Meta platform tcl |
|
# Meta license <unspecified> |
|
# @@ Meta End |
|
|
|
|
|
|
|
# ++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ |
|
## Requirements |
|
##e.g package require frobz |
|
|
|
|
|
|
|
|
|
# ++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ |
|
namespace eval punk::mix::commandset::debug { |
|
namespace export get paths |
|
namespace path ::punk::mix::cli |
|
|
|
#Except for 'get' - all debug commands should emit to stdout |
|
proc paths {} { |
|
set out "" |
|
puts stdout "find_repos output:" |
|
set pathinfo [punk::repo::find_repos [pwd]] |
|
pdict pathinfo |
|
|
|
set projectdir [dict get $pathinfo closest] |
|
set modulefolders [lib::find_source_module_paths $projectdir] |
|
puts stdout "modulefolders: $modulefolders" |
|
|
|
set template_base_dict [punk::mix::base::lib::get_template_basefolders] |
|
puts stdout "get_template_basefolders output:" |
|
pdict template_base_dict */* |
|
return |
|
} |
|
|
|
#call other debug command - but capture stdout as return value |
|
proc get {args} { |
|
set nm [lindex $args 0] |
|
if {$nm eq ""} { |
|
set nscmds [info commands [namespace current]::*] |
|
set cmds [lmap v $nscmds {namespace tail $v}] |
|
error "debug.get missing debug command argument. Try one of: $cmds" |
|
return |
|
} |
|
set nextargs [lrange $args 1 end] |
|
set out "" |
|
if {[info commands [namespace current]::$nm] ne ""} { |
|
append out [runout -n -tcl [namespace current]::$nm {*}$nextargs] \n |
|
} else { |
|
set nscmds [info commands [namespace current]::*] |
|
set cmds [lmap v $nscmds {namespace tail $v}] |
|
error "debug.get invalid debug command '$nm' Try one of: $cmds" |
|
} |
|
return $out |
|
} |
|
namespace eval lib { |
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ++ +++ +++ +++ +++ +++ +++ +++ +++ +++ +++ |
|
## Ready |
|
package provide punk::mix::commandset::debug [namespace eval punk::mix::commandset::debug { |
|
variable version |
|
set version 0.1.0 |
|
}] |
|
return
|
|
|