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.
62 lines
2.2 KiB
62 lines
2.2 KiB
package require punk |
|
package require patternpunk |
|
|
|
pipealias block_padleft .= {list $input [string repeat " " $indent]} |/0,padding/1> linelist |> .= {lmap v $data {val "$padding$v"}} |> list_as_lines <input/0,indent/1| |
|
|
|
pipealias block_padright .= {list $input [string repeat " " $colsize]} |/0,padding/1> linelist |> .= {lmap v $data {overtype::right $padding $v}} |> list_as_lines <input/0,colsize/1| |
|
|
|
puts stdout "block_padleft pipeline" |
|
puts stdout "[alias block_padleft]" |
|
puts stderr "block_padleft \[>punk . logo] 50" |
|
puts stdout "[block_padleft [>punk . logo] 50]" |
|
|
|
|
|
package require overtype |
|
set out "" |
|
foreach ln [.= block_padleft [>punk . logo ] 2 |> linelist] bgline [.= block_padleft [>punk . logo] 100 |> linelist] { |
|
append out [overtype::left $bgline [a+ green bold]$ln[a+]]\n |
|
} |
|
puts stdout "$out" |
|
|
|
proc block_width {block} { |
|
if {![llength $block]} { |
|
return [string length $block] |
|
} |
|
tcl::mathfunc::max {*}[lmap v [linelist $block] {string length $v}] |
|
} |
|
pipealias block_join_width .= {list $lhs [string repeat " " $w1] $rhs [string repeat " " $w2]} {| |
|
/2,col1/1,col2/3 |
|
>} linelist {| |
|
data2 |
|
>} .=lhs> linelist {| |
|
>} .= {lmap v $data w $data2 {val "[overtype::left $col1 $v][overtype::left $col2 $w]"}} {| |
|
>} list_as_lines <lhs/0,w1/1,rhs/2,w2/3| |
|
|
|
pipealias block_join .= {list $lhs [string repeat " " [block_width $lhs]] $rhs [string repeat " " [block_width $rhs]]} {| |
|
/2,col1/1,col2/3 |
|
>} linelist {| |
|
data2 |
|
>} .=lhs> linelist {| |
|
>} .= {lmap v $data w $data2 {val "[overtype::left $col1 $v][overtype::left $col2 $w]"}} {| |
|
>} list_as_lines <lhs/0,rhs/1| |
|
|
|
pipealias block_join_right .= {list $lhs [string repeat " " [block_width $lhs]] $rhs [string repeat " " [block_width $rhs]]} {| |
|
/2,col1/1,col2/3 |
|
>} linelist {| |
|
data2 |
|
>} .=lhs> linelist {| |
|
>} .= {lmap v $data w $data2 {val "[overtype::right $col1 $v][overtype::right $col2 $w]"}} {| |
|
>} list_as_lines <lhs/0,rhs/1| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|