diff options
author | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-07-11 17:36:36 +0000 |
---|---|---|
committer | oharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2008-07-11 17:36:36 +0000 |
commit | e04f0142eed242c91609fe8e913cac1fbfe0a527 (patch) | |
tree | 2b63332d3420083fdeb3db9e02c50511ebc8535b /src | |
parent | 69c6f1f7eab96ea47328ece9d71292a71af6ce9c (diff) | |
download | openocd_libswd-e04f0142eed242c91609fe8e913cac1fbfe0a527.tar.gz openocd_libswd-e04f0142eed242c91609fe8e913cac1fbfe0a527.tar.bz2 openocd_libswd-e04f0142eed242c91609fe8e913cac1fbfe0a527.tar.xz openocd_libswd-e04f0142eed242c91609fe8e913cac1fbfe0a527.zip |
tcl_help prettier output.
git-svn-id: svn://svn.berlios.de/openocd/trunk@793 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src')
-rw-r--r-- | src/startup.tcl | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/startup.tcl b/src/startup.tcl index 029c4e4b..06d2eb14 100644 --- a/src/startup.tcl +++ b/src/startup.tcl @@ -62,13 +62,36 @@ proc flash args { openocd_throw "flash $args" } -#Print help text for a command +#Print help text for a command. Word wrap +#help text that is too wide inside column. proc tcl_help {args} { global ocd_helptext set cmd $args foreach a [lsort $ocd_helptext] { if {[string length $cmd]==0||[string first $cmd $a]!=-1} { - puts [format "%18s - %s" [lindex $a 0] [lindex $a 1]] + set w 40 + set cmdname [lindex $a 0] + set h [lindex $a 1] + set n 0 + while 1 { + if {$n > [string length $h]} {break} + + set next_a [expr $n+$w] + if {[string length $h]>$n+$w} { + set xxxx [string range $h $n [expr $n+$w]] + for {set lastpos [expr [string length $xxxx]-1]} {$lastpos>=0&&[string compare [string range $xxxx $lastpos $lastpos] " "]!=0} {set lastpos [expr $lastpos-1]} { + } + #set next_a -1 + if {$lastpos!=-1} { + set next_a [expr $lastpos+$n+1] + } + } + + + puts [format "%-25s %s" $cmdname [string range $h $n [expr $next_a-1]] ] + set cmdname "" + set n [expr $next_a] + } } } } |