]> gitweb.factorcode.org Git - factor.git/blob - basis/strings/tables/tables.factor
c3e5aca1cbe648df29c14b57f0ed7e7167d8b812
[factor.git] / basis / strings / tables / tables.factor
1 ! Copyright (C) 2009, 2010 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel sequences splitting ;
4 IN: strings.tables
5
6 <PRIVATE
7
8 : format-row ( seq -- seq )
9     dup longest length '[ _ "" pad-tail ] map! ;
10
11 : format-column ( seq -- seq )
12     dup longest length '[ _ CHAR: \s pad-tail ] map! ;
13
14 PRIVATE>
15
16 : format-table ( table -- seq )
17     [ [ lines ] map format-row flip ] map concat flip
18     [ { } ] [
19         [ but-last-slice [ format-column ] map! drop ] keep
20         flip [ " " join ] map!
21     ] if-empty ;