whirled_peas 0.1.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +2 -0
- data/CHANGELOG.md +32 -0
- data/Gemfile +1 -0
- data/README.md +240 -79
- data/Rakefile +37 -3
- data/bin/debug +35 -0
- data/exe/whirled_peas +7 -0
- data/lib/whirled_peas.rb +17 -37
- data/lib/whirled_peas/command_line.rb +263 -0
- data/lib/whirled_peas/config.rb +21 -0
- data/lib/whirled_peas/debugger.rb +80 -0
- data/lib/whirled_peas/errors.rb +7 -0
- data/lib/whirled_peas/frame.rb +0 -8
- data/lib/whirled_peas/frame/consumer.rb +14 -51
- data/lib/whirled_peas/frame/debug_consumer.rb +30 -0
- data/lib/whirled_peas/frame/event_loop.rb +68 -38
- data/lib/whirled_peas/frame/producer.rb +37 -34
- data/lib/whirled_peas/graphics.rb +5 -0
- data/lib/whirled_peas/graphics/box_painter.rb +100 -0
- data/lib/whirled_peas/graphics/canvas.rb +107 -0
- data/lib/whirled_peas/graphics/container_coords.rb +61 -0
- data/lib/whirled_peas/graphics/container_dimensions.rb +65 -0
- data/lib/whirled_peas/graphics/container_painter.rb +116 -0
- data/lib/whirled_peas/graphics/debugger.rb +43 -0
- data/lib/whirled_peas/graphics/grid_painter.rb +56 -0
- data/lib/whirled_peas/graphics/mock_screen.rb +26 -0
- data/lib/whirled_peas/graphics/painter.rb +24 -0
- data/lib/whirled_peas/graphics/renderer.rb +49 -0
- data/lib/whirled_peas/graphics/screen.rb +65 -0
- data/lib/whirled_peas/graphics/text_dimensions.rb +15 -0
- data/lib/whirled_peas/graphics/text_painter.rb +38 -0
- data/lib/whirled_peas/settings.rb +5 -0
- data/lib/whirled_peas/settings/bg_color.rb +22 -0
- data/lib/whirled_peas/settings/border.rb +101 -0
- data/lib/whirled_peas/settings/box_settings.rb +8 -0
- data/lib/whirled_peas/settings/color.rb +69 -0
- data/lib/whirled_peas/settings/container_settings.rb +128 -0
- data/lib/whirled_peas/settings/debugger.rb +87 -0
- data/lib/whirled_peas/settings/display_flow.rb +25 -0
- data/lib/whirled_peas/settings/element_settings.rb +61 -0
- data/lib/whirled_peas/settings/grid_settings.rb +11 -0
- data/lib/whirled_peas/settings/margin.rb +8 -0
- data/lib/whirled_peas/settings/padding.rb +8 -0
- data/lib/whirled_peas/settings/position.rb +15 -0
- data/lib/whirled_peas/settings/spacing.rb +24 -0
- data/lib/whirled_peas/settings/text_align.rb +19 -0
- data/lib/whirled_peas/settings/text_color.rb +19 -0
- data/lib/whirled_peas/settings/text_settings.rb +15 -0
- data/lib/whirled_peas/template.rb +5 -0
- data/lib/whirled_peas/template/box_element.rb +8 -0
- data/lib/whirled_peas/template/composer.rb +68 -0
- data/lib/whirled_peas/template/container.rb +28 -0
- data/lib/whirled_peas/template/debugger.rb +34 -0
- data/lib/whirled_peas/template/element.rb +13 -0
- data/lib/whirled_peas/template/grid_element.rb +8 -0
- data/lib/whirled_peas/template/text_element.rb +24 -0
- data/lib/whirled_peas/utils.rb +5 -0
- data/lib/whirled_peas/utils/ansi.rb +53 -0
- data/lib/whirled_peas/utils/formatted_string.rb +64 -0
- data/lib/whirled_peas/utils/title_font.rb +75 -0
- data/lib/whirled_peas/version.rb +1 -1
- data/screen_test/rendered/elements/box.frame +1 -0
- data/screen_test/rendered/elements/box.rb +20 -0
- data/screen_test/rendered/elements/grid.frame +1 -0
- data/screen_test/rendered/elements/grid.rb +13 -0
- data/screen_test/rendered/elements/screen_overflow.rb +9 -0
- data/screen_test/rendered/elements/text.frame +1 -0
- data/screen_test/rendered/elements/text.rb +9 -0
- data/screen_test/rendered/elements/text_multiline.frame +1 -0
- data/screen_test/rendered/elements/text_multiline.rb +9 -0
- data/screen_test/rendered/settings/align/box.frame +1 -0
- data/screen_test/rendered/settings/align/box.rb +20 -0
- data/screen_test/rendered/settings/align/children_center.frame +1 -0
- data/screen_test/rendered/settings/align/children_center.rb +13 -0
- data/screen_test/rendered/settings/align/children_left.frame +1 -0
- data/screen_test/rendered/settings/align/children_left.rb +13 -0
- data/screen_test/rendered/settings/align/children_right.frame +1 -0
- data/screen_test/rendered/settings/align/children_right.rb +13 -0
- data/screen_test/rendered/settings/align/grid.frame +1 -0
- data/screen_test/rendered/settings/align/grid.rb +20 -0
- data/screen_test/rendered/settings/ansi/bold.frame +1 -0
- data/screen_test/rendered/settings/ansi/bold.rb +15 -0
- data/screen_test/rendered/settings/ansi/color.frame +1 -0
- data/screen_test/rendered/settings/ansi/color.rb +37 -0
- data/screen_test/rendered/settings/ansi/underline.frame +1 -0
- data/screen_test/rendered/settings/ansi/underline.rb +15 -0
- data/screen_test/rendered/settings/border.frame +1 -0
- data/screen_test/rendered/settings/border.rb +13 -0
- data/screen_test/rendered/settings/flow/l2r.frame +1 -0
- data/screen_test/rendered/settings/flow/l2r.rb +24 -0
- data/screen_test/rendered/settings/flow/t2b.frame +1 -0
- data/screen_test/rendered/settings/flow/t2b.rb +24 -0
- data/screen_test/rendered/settings/height/box.frame +1 -0
- data/screen_test/rendered/settings/height/box.rb +13 -0
- data/screen_test/rendered/settings/height/grid.frame +1 -0
- data/screen_test/rendered/settings/height/grid.rb +14 -0
- data/screen_test/rendered/settings/height/overflow_box.frame +1 -0
- data/screen_test/rendered/settings/height/overflow_box.rb +13 -0
- data/screen_test/rendered/settings/height/overflow_box_l2r.frame +1 -0
- data/screen_test/rendered/settings/height/overflow_box_l2r.rb +15 -0
- data/screen_test/rendered/settings/height/overflow_box_t2b.frame +1 -0
- data/screen_test/rendered/settings/height/overflow_box_t2b.rb +14 -0
- data/screen_test/rendered/settings/height/overflow_grid.frame +1 -0
- data/screen_test/rendered/settings/height/overflow_grid.rb +16 -0
- data/screen_test/rendered/settings/margin.frame +1 -0
- data/screen_test/rendered/settings/margin.rb +14 -0
- data/screen_test/rendered/settings/padding.frame +1 -0
- data/screen_test/rendered/settings/padding.rb +11 -0
- data/screen_test/rendered/settings/position/box_left.frame +1 -0
- data/screen_test/rendered/settings/position/box_left.rb +17 -0
- data/screen_test/rendered/settings/position/box_left_negative.frame +1 -0
- data/screen_test/rendered/settings/position/box_left_negative.rb +17 -0
- data/screen_test/rendered/settings/position/box_top.frame +1 -0
- data/screen_test/rendered/settings/position/box_top.rb +17 -0
- data/screen_test/rendered/settings/position/box_top_negative.frame +1 -0
- data/screen_test/rendered/settings/position/box_top_negative.rb +17 -0
- data/screen_test/rendered/settings/position/grid_left.frame +1 -0
- data/screen_test/rendered/settings/position/grid_left.rb +18 -0
- data/screen_test/rendered/settings/position/grid_left_negative.frame +1 -0
- data/screen_test/rendered/settings/position/grid_left_negative.rb +18 -0
- data/screen_test/rendered/settings/position/grid_top.frame +1 -0
- data/screen_test/rendered/settings/position/grid_top.rb +18 -0
- data/screen_test/rendered/settings/position/grid_top_negative.frame +1 -0
- data/screen_test/rendered/settings/position/grid_top_negative.rb +18 -0
- data/screen_test/rendered/settings/title_font.frame +1 -0
- data/screen_test/rendered/settings/title_font.rb +12 -0
- data/screen_test/rendered/settings/width/box.frame +1 -0
- data/screen_test/rendered/settings/width/box.rb +13 -0
- data/screen_test/rendered/settings/width/grid.frame +1 -0
- data/screen_test/rendered/settings/width/grid.rb +14 -0
- data/screen_test/rendered/settings/width/overflow_box.frame +1 -0
- data/screen_test/rendered/settings/width/overflow_box.rb +11 -0
- data/screen_test/rendered/settings/width/overflow_box_l2r.frame +1 -0
- data/screen_test/rendered/settings/width/overflow_box_l2r.rb +14 -0
- data/screen_test/rendered/settings/width/overflow_box_t2b.frame +1 -0
- data/screen_test/rendered/settings/width/overflow_box_t2b.rb +15 -0
- data/screen_test/rendered/settings/width/overflow_grid.frame +1 -0
- data/screen_test/rendered/settings/width/overflow_grid.rb +14 -0
- data/screen_test/screen_tester.rb +191 -0
- data/whirled_peas.gemspec +4 -2
- metadata +136 -20
- data/lib/whirled_peas/ui.rb +0 -7
- data/lib/whirled_peas/ui/ansi.rb +0 -154
- data/lib/whirled_peas/ui/canvas.rb +0 -35
- data/lib/whirled_peas/ui/element.rb +0 -199
- data/lib/whirled_peas/ui/painter.rb +0 -283
- data/lib/whirled_peas/ui/screen.rb +0 -62
- data/lib/whirled_peas/ui/settings.rb +0 -512
- data/lib/whirled_peas/ui/stroke.rb +0 -29
- data/sandbox/auto.rb +0 -13
- data/sandbox/box.rb +0 -19
- data/sandbox/grid.rb +0 -13
- data/sandbox/sandbox.rb +0 -17
- data/sandbox/text.rb +0 -33
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[30m[47mBLACK on WHITE[0m[2;1H[90m[101mGRAY on BRIGHT_RED[0m[3;1H[31m[102mRED on BRIGHT_GREEN[0m[4;1H[32m[103mGREEN on BRIGHT_YELLOW[0m[5;1H[33m[104mYELLOW on BRIGHT_BLUE[0m[6;1H[34m[105mBLUE on BRIGHT_MAGENTA[0m[7;1H[35m[106mMAGENTA on BRIGHT_CYAN[0m[8;1H[36m[107mCYAN on BRIGHT_WHITE[0m[9;1H[37m[40mWHITE on BLACK[0m[10;1H[91m[100mBRIGHT_RED on GRAY[0m[11;1H[92m[41mBRIGHT_GREEN on RED[0m[12;1H[93m[42mBRIGHT_YELLOW on GREEN[0m[13;1H[94m[43mBRIGHT_BLUE on YELLOW[0m[14;1H[95m[44mBRIGHT_MAGENTA on BLUE[0m[15;1H[96m[45mBRIGHT_CYAN on MAGENTA[0m[16;1H[97m[46mBRIGHT_WHITE on CYAN[0m[0m[48;1H[?25h
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
COLORS = %i[
|
5
|
+
black
|
6
|
+
gray
|
7
|
+
red
|
8
|
+
green
|
9
|
+
yellow
|
10
|
+
blue
|
11
|
+
magenta
|
12
|
+
cyan
|
13
|
+
white
|
14
|
+
bright_red
|
15
|
+
bright_green
|
16
|
+
bright_yellow
|
17
|
+
bright_blue
|
18
|
+
bright_magenta
|
19
|
+
bright_cyan
|
20
|
+
bright_white
|
21
|
+
]
|
22
|
+
def build(*)
|
23
|
+
WhirledPeas.template do |composer|
|
24
|
+
composer.add_grid('Colors') do |composer, settings|
|
25
|
+
settings.num_cols = 1
|
26
|
+
COLORS.each.with_index do |color, index|
|
27
|
+
bg_color = COLORS[(index + COLORS.length / 2) % COLORS.length]
|
28
|
+
composer.add_text("#{color.upcase}-#{bg_color.upcase}") do |_, settings|
|
29
|
+
settings.color = color
|
30
|
+
settings.bg_color = bg_color
|
31
|
+
"#{color.upcase} on #{bg_color.upcase}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[4mThis is underlined[0m[1;19HThis is not underlined[0m[48;1H[?25h
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer|
|
6
|
+
composer.add_text('Underline') do |_, settings|
|
7
|
+
settings.underline = true
|
8
|
+
"This is underlined"
|
9
|
+
end
|
10
|
+
composer.add_text('NotUnderline') do |_, settings|
|
11
|
+
"This is not underlined"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[32m╔══╦══╦══╗[0m[2;1H[32m║ ║ ║ ║[0m[3;1H[32m╠══╬══╬══╣[0m[4;1H[32m║ ║ ║ ║[0m[5;1H[32m╠══╬══╬══╣[0m[6;1H[32m║ ║ ║ ║[0m[7;1H[32m╠══╬══╬══╣[0m[8;1H[32m║ ║ ║ ║[0m[9;1H[32m╚══╩══╩══╝[0m[2;2H0[2;5H1[2;8H2[4;2H3[4;5H4[4;8H5[6;2H6[6;5H7[6;8H8[8;2H9[8;5H10[8;8H11[0m[48;1H[?25h
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer|
|
6
|
+
composer.add_grid('Grid') do |composer, settings|
|
7
|
+
settings.full_border(style: :double, color: :green)
|
8
|
+
settings.num_cols = 3
|
9
|
+
12.times.map(&:itself)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┃ ┃[0m[7;1H[37m┃ ┃[0m[8;1H[37m┃ ┃[0m[9;1H[37m┃ ┃[0m[10;1H[37m┃ ┃[0m[11;1H[37m┃ ┃[0m[12;1H[37m┃ ┃[0m[13;1H[37m┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛[0m[2;2H[37m┏━━━━━━━━━┓[0m[3;2H[37m┃ ┃[0m[4;2H[37m┃ ┃[0m[5;2H[37m┃ ┃[0m[6;2H[37m┃ ┃[0m[7;2H[37m┃ ┃[0m[8;2H[37m┗━━━━━━━━━┛[0m[5;3H1. MEDIUM[2;13H[37m┏━━━━━━━┓[0m[3;13H[37m┃ ┃[0m[4;13H[37m┃ ┃[0m[5;13H[37m┃ ┃[0m[6;13H[37m┃ ┃[0m[7;13H[37m┃ ┃[0m[8;13H[37m┃ ┃[0m[9;13H[37m┃ ┃[0m[10;13H[37m┃ ┃[0m[11;13H[37m┃ ┃[0m[12;13H[37m┗━━━━━━━┛[0m[7;14H2. TALL[2;22H[37m┏━━━━━━━━┓[0m[3;22H[37m┃ ┃[0m[4;22H[37m┗━━━━━━━━┛[0m[3;23H3. SHORT[0m[48;1H[?25h
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.flow = :l2r
|
7
|
+
settings.full_border
|
8
|
+
composer.add_box('Medium') do |composer, settings|
|
9
|
+
settings.set_padding(top: 2, bottom: 2)
|
10
|
+
settings.full_border
|
11
|
+
'1. MEDIUM'
|
12
|
+
end
|
13
|
+
composer.add_box('Tall') do |composer, settings|
|
14
|
+
settings.set_padding(top: 4, bottom: 4)
|
15
|
+
settings.full_border
|
16
|
+
'2. TALL'
|
17
|
+
end
|
18
|
+
composer.add_box('Short') do |composer, settings|
|
19
|
+
settings.full_border
|
20
|
+
'3. SHORT'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━━━━━━━━━━━━━━━━━━━━━━━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┃ ┃[0m[7;1H[37m┃ ┃[0m[8;1H[37m┃ ┃[0m[9;1H[37m┃ ┃[0m[10;1H[37m┃ ┃[0m[11;1H[37m┗━━━━━━━━━━━━━━━━━━━━━━━┛[0m[2;2H[37m┏━━━━━━━━━━━━━━━┓[0m[3;2H[37m┃ ┃[0m[4;2H[37m┗━━━━━━━━━━━━━━━┛[0m[3;6H1. MEDIUM[5;2H[37m┏━━━━━━━━━━━━━━━━━━━━━┓[0m[6;2H[37m┃ ┃[0m[7;2H[37m┗━━━━━━━━━━━━━━━━━━━━━┛[0m[6;10H2. WIDE[8;2H[37m┏━━━━━━━━━┓[0m[9;2H[37m┃ ┃[0m[10;2H[37m┗━━━━━━━━━┛[0m[9;3H3. NARROW[0m[48;1H[?25h
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.flow = :t2b
|
7
|
+
settings.full_border
|
8
|
+
composer.add_box('Medium') do |composer, settings|
|
9
|
+
settings.full_border
|
10
|
+
settings.set_padding(left: 3, right: 3)
|
11
|
+
'1. MEDIUM'
|
12
|
+
end
|
13
|
+
composer.add_box('Wide') do |composer, settings|
|
14
|
+
settings.full_border
|
15
|
+
settings.set_padding(left: 7, right: 7)
|
16
|
+
'2. WIDE'
|
17
|
+
end
|
18
|
+
composer.add_box('Narrow') do |composer, settings|
|
19
|
+
settings.full_border
|
20
|
+
'3. NARROW'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━━━━━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┃ ┃[0m[7;1H[37m┗━━━━━┛[0m[2;2HMulti[3;2HLine[0m[48;1H[?25h
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━┳━┳━┳━┓[0m[2;1H[37m┃ ┃ ┃ ┃ ┃[0m[3;1H[37m┃ ┃ ┃ ┃ ┃[0m[4;1H[37m┃ ┃ ┃ ┃ ┃[0m[5;1H[37m┃ ┃ ┃ ┃ ┃[0m[6;1H[37m┃ ┃ ┃ ┃ ┃[0m[7;1H[37m┣━╋━╋━╋━┫[0m[8;1H[37m┃ ┃ ┃ ┃ ┃[0m[9;1H[37m┃ ┃ ┃ ┃ ┃[0m[10;1H[37m┃ ┃ ┃ ┃ ┃[0m[11;1H[37m┃ ┃ ┃ ┃ ┃[0m[12;1H[37m┃ ┃ ┃ ┃ ┃[0m[13;1H[37m┣━╋━╋━╋━┫[0m[14;1H[37m┃ ┃ ┃ ┃ ┃[0m[15;1H[37m┃ ┃ ┃ ┃ ┃[0m[16;1H[37m┃ ┃ ┃ ┃ ┃[0m[17;1H[37m┃ ┃ ┃ ┃ ┃[0m[18;1H[37m┃ ┃ ┃ ┃ ┃[0m[19;1H[37m┗━┻━┻━┻━┛[0m[2;2H0[2;4H1[2;6H2[2;8H3[8;2H4[8;4H5[8;6H6[8;8H7[14;2H8[14;4H9[0m[48;1H[?25h
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer|
|
6
|
+
composer.add_grid('Tall') do |_, settings|
|
7
|
+
settings.full_border
|
8
|
+
settings.num_cols = 4
|
9
|
+
settings.height = 5
|
10
|
+
10.times.map(&:itself)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┃ ┃[0m[7;1H[37m┗━┛[0m[2;2H0[3;2H1[4;2H2[5;2H3[6;2H4[0m[48;1H[?25h
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━━━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┃ ┃[0m[7;1H[37m┗━━━┛[0m[2;2H0[3;2H1[4;2H2[5;2H3[6;2H4[2;3H0[3;3H1[4;3H2[5;3H3[6;3H4[2;4H0[3;4H1[4;4H2[5;4H3[6;4H4[0m[48;1H[?25h
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
TALL_STRING = 10.times.map(&:to_s).join("\n")
|
5
|
+
|
6
|
+
def build(*)
|
7
|
+
WhirledPeas.template do |composer, settings|
|
8
|
+
settings.full_border
|
9
|
+
settings.height = 5
|
10
|
+
3.times do |i|
|
11
|
+
composer.add_text { TALL_STRING }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┃ ┃[0m[7;1H[37m┗━━┛[0m[2;2HXO[3;2HXO[4;2HXO[5;2HXO[6;2HXO[0m[48;1H[?25h
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┃ ┃[0m[7;1H[37m┗━┛[0m[2;2H0[3;2H1[4;2H2[5;2H3[6;2H4[0m[48;1H[?25h
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
TALL_STRING = 10.times.map(&:to_s).join("\n")
|
5
|
+
|
6
|
+
def build(*)
|
7
|
+
WhirledPeas.template do |composer|
|
8
|
+
composer.add_grid('TallGrid') do |composer, settings|
|
9
|
+
settings.full_border
|
10
|
+
settings.height = 5
|
11
|
+
settings.num_cols = 1
|
12
|
+
composer.add_text { TALL_STRING }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━━━━━━━━━━━━━━━━━━━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┃ ┃[0m[7;1H[37m┃ ┃[0m[8;1H[37m┗━━━━━━━━━━━━━━━━━━━┛[0m[4;7H[37m┏━━━━━━━━━┓[0m[5;7H[37m┃ ┃[0m[6;7H[37m┗━━━━━━━━━┛[0m[5;8HInner Box[0m[48;1H[?25h
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.full_border
|
7
|
+
composer.add_box('NotBold') do |_, settings|
|
8
|
+
settings.set_margin(left: 5, top: 2, right: 3, bottom: 1)
|
9
|
+
settings.full_border
|
10
|
+
"Inner Box"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[1;1H[37m┏━━━━━━━━━━━━━━━━━━━┓[0m[2;1H[37m┃ ┃[0m[3;1H[37m┃ ┃[0m[4;1H[37m┃ ┃[0m[5;1H[37m┃ ┃[0m[6;1H[37m┗━━━━━━━━━━━━━━━━━━━┛[0m[4;7HPadded Room[0m[48;1H[?25h
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[11;11H[32m┏━━━━━━━┓[0m[12;11H[32m┃ ┃[0m[13;11H[32m┃ ┃[0m[14;11H[32m┃ ┃[0m[15;11H[32m┃ ┃[0m[16;11H[32m┃ ┃[0m[17;11H[32m┃ ┃[0m[18;11H[32m┃ ┃[0m[19;11H[32m┗━━━━━━━┛[0m[12;15H[31m┏━━━[0m[13;15H[31m┃ [0m[14;15H[31m┃ [0m[15;15H[31m┃ [0m[16;15H[31m┃ [0m[17;15H[31m┃ [0m[18;15H[31m┗━━━[0m[13;16H123[14;16H223[15;16H333[16;16H443[17;16H543[0m[48;1H[?25h
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.set_padding(left: 10, top: 10)
|
7
|
+
composer.add_box do |composer, settings|
|
8
|
+
settings.full_border(color: :green)
|
9
|
+
composer.add_box do |_, settings|
|
10
|
+
settings.set_position(left: 3)
|
11
|
+
settings.full_border(color: :red)
|
12
|
+
%w[12345 22344 33333 44322 54321].join("\n")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[11;11H[32m┏━━━━━━━┓[0m[12;11H[32m┃ ┃[0m[13;11H[32m┃ ┃[0m[14;11H[32m┃ ┃[0m[15;11H[32m┃ ┃[0m[16;11H[32m┃ ┃[0m[17;11H[32m┃ ┃[0m[18;11H[32m┃ ┃[0m[19;11H[32m┗━━━━━━━┛[0m[12;12H[31m━━━┓[0m[13;12H[31m ┃[0m[14;12H[31m ┃[0m[15;12H[31m ┃[0m[16;12H[31m ┃[0m[17;12H[31m ┃[0m[18;12H[31m━━━┛[0m[13;12H345[14;12H344[15;12H333[16;12H322[17;12H321[0m[48;1H[?25h
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.set_padding(left: 10, top: 10)
|
7
|
+
composer.add_box do |composer, settings|
|
8
|
+
settings.full_border(color: :green)
|
9
|
+
composer.add_box do |_, settings|
|
10
|
+
settings.set_position(left: -3)
|
11
|
+
settings.full_border(color: :red)
|
12
|
+
%w[12345 22344 33333 44322 54321].join("\n")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[11;11H[32m┏━━━━━━━┓[0m[12;11H[32m┃ ┃[0m[13;11H[32m┃ ┃[0m[14;11H[32m┃ ┃[0m[15;11H[32m┃ ┃[0m[16;11H[32m┃ ┃[0m[17;11H[32m┃ ┃[0m[18;11H[32m┃ ┃[0m[19;11H[32m┗━━━━━━━┛[0m[15;12H[31m┏━━━━━┓[0m[16;12H[31m┃ ┃[0m[17;12H[31m┃ ┃[0m[18;12H[31m┃ ┃[0m[16;13H12345[17;13H22344[18;13H33333[0m[48;1H[?25h
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.set_padding(left: 10, top: 10)
|
7
|
+
composer.add_box do |composer, settings|
|
8
|
+
settings.full_border(color: :green)
|
9
|
+
composer.add_box do |_, settings|
|
10
|
+
settings.set_position(top: 3)
|
11
|
+
settings.full_border(color: :red)
|
12
|
+
%w[12345 22344 33333 44322 54321].join("\n")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[11;11H[32m┏━━━━━━━┓[0m[12;11H[32m┃ ┃[0m[13;11H[32m┃ ┃[0m[14;11H[32m┃ ┃[0m[15;11H[32m┃ ┃[0m[16;11H[32m┃ ┃[0m[17;11H[32m┃ ┃[0m[18;11H[32m┃ ┃[0m[19;11H[32m┗━━━━━━━┛[0m[12;12H[31m┃ ┃[0m[13;12H[31m┃ ┃[0m[14;12H[31m┃ ┃[0m[15;12H[31m┗━━━━━┛[0m[12;13H33333[13;13H44322[14;13H54321[0m[48;1H[?25h
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.set_padding(left: 10, top: 10)
|
7
|
+
composer.add_box do |composer, settings|
|
8
|
+
settings.full_border(color: :green)
|
9
|
+
composer.add_box do |_, settings|
|
10
|
+
settings.set_position(top: -3)
|
11
|
+
settings.full_border(color: :red)
|
12
|
+
%w[12345 22344 33333 44322 54321].join("\n")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[11;11H[32m┏━━━━━━━┓[0m[12;11H[32m┃ ┃[0m[13;11H[32m┃ ┃[0m[14;11H[32m┃ ┃[0m[15;11H[32m┃ ┃[0m[16;11H[32m┃ ┃[0m[17;11H[32m┃ ┃[0m[18;11H[32m┃ ┃[0m[19;11H[32m┃ ┃[0m[20;11H[32m┃ ┃[0m[21;11H[32m┃ ┃[0m[22;11H[32m┃ ┃[0m[23;11H[32m┗━━━━━━━┛[0m[12;15H[31m┏━━━[0m[13;15H[31m┃ [0m[14;15H[31m┣━━━[0m[15;15H[31m┃ [0m[16;15H[31m┣━━━[0m[17;15H[31m┃ [0m[18;15H[31m┣━━━[0m[19;15H[31m┃ [0m[20;15H[31m┣━━━[0m[21;15H[31m┃ [0m[22;15H[31m┗━━━[0m[13;16H123[15;16H223[17;16H333[19;16H443[21;16H543[0m[48;1H[?25h
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.set_padding(left: 10, top: 10)
|
7
|
+
composer.add_box do |composer, settings|
|
8
|
+
settings.full_border(color: :green)
|
9
|
+
composer.add_grid do |_, settings|
|
10
|
+
settings.set_position(left: 3)
|
11
|
+
settings.full_border(color: :red)
|
12
|
+
settings.num_cols = 1
|
13
|
+
%w[12345 22344 33333 44322 54321]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[11;11H[32m┏━━━━━━━┓[0m[12;11H[32m┃ ┃[0m[13;11H[32m┃ ┃[0m[14;11H[32m┃ ┃[0m[15;11H[32m┃ ┃[0m[16;11H[32m┃ ┃[0m[17;11H[32m┃ ┃[0m[18;11H[32m┃ ┃[0m[19;11H[32m┃ ┃[0m[20;11H[32m┃ ┃[0m[21;11H[32m┃ ┃[0m[22;11H[32m┃ ┃[0m[23;11H[32m┗━━━━━━━┛[0m[12;12H[31m━━━┓[0m[13;12H[31m ┃[0m[14;12H[31m━━━┫[0m[15;12H[31m ┃[0m[16;12H[31m━━━┫[0m[17;12H[31m ┃[0m[18;12H[31m━━━┫[0m[19;12H[31m ┃[0m[20;12H[31m━━━┫[0m[21;12H[31m ┃[0m[22;12H[31m━━━┛[0m[13;12H345[15;12H344[17;12H333[19;12H322[21;12H321[0m[48;1H[?25h
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.set_padding(left: 10, top: 10)
|
7
|
+
composer.add_box do |composer, settings|
|
8
|
+
settings.full_border(color: :green)
|
9
|
+
composer.add_grid('Subject') do |_, settings|
|
10
|
+
settings.set_position(left: -3)
|
11
|
+
settings.full_border(color: :red)
|
12
|
+
settings.num_cols = 1
|
13
|
+
%w[12345 22344 33333 44322 54321]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[11;11H[32m┏━━━━━━━┓[0m[12;11H[32m┃ ┃[0m[13;11H[32m┃ ┃[0m[14;11H[32m┃ ┃[0m[15;11H[32m┃ ┃[0m[16;11H[32m┃ ┃[0m[17;11H[32m┃ ┃[0m[18;11H[32m┃ ┃[0m[19;11H[32m┃ ┃[0m[20;11H[32m┃ ┃[0m[21;11H[32m┃ ┃[0m[22;11H[32m┃ ┃[0m[23;11H[32m┗━━━━━━━┛[0m[15;12H[31m┏━━━━━┓[0m[16;12H[31m┃ ┃[0m[17;12H[31m┣━━━━━┫[0m[18;12H[31m┃ ┃[0m[19;12H[31m┣━━━━━┫[0m[20;12H[31m┃ ┃[0m[21;12H[31m┣━━━━━┫[0m[22;12H[31m┃ ┃[0m[16;13H12345[18;13H22344[20;13H33333[22;13H44322[0m[48;1H[?25h
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.set_padding(left: 10, top: 10)
|
7
|
+
composer.add_box do |composer, settings|
|
8
|
+
settings.full_border(color: :green)
|
9
|
+
composer.add_grid do |_, settings|
|
10
|
+
settings.set_position(top: 3)
|
11
|
+
settings.full_border(color: :red)
|
12
|
+
settings.num_cols = 1
|
13
|
+
%w[12345 22344 33333 44322 54321]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
[?25l[1;1H[J[11;11H[32m┏━━━━━━━┓[0m[12;11H[32m┃ ┃[0m[13;11H[32m┃ ┃[0m[14;11H[32m┃ ┃[0m[15;11H[32m┃ ┃[0m[16;11H[32m┃ ┃[0m[17;11H[32m┃ ┃[0m[18;11H[32m┃ ┃[0m[19;11H[32m┃ ┃[0m[20;11H[32m┃ ┃[0m[21;11H[32m┃ ┃[0m[22;11H[32m┃ ┃[0m[23;11H[32m┗━━━━━━━┛[0m[12;12H[31m┃ ┃[0m[13;12H[31m┣━━━━━┫[0m[14;12H[31m┃ ┃[0m[15;12H[31m┣━━━━━┫[0m[16;12H[31m┃ ┃[0m[17;12H[31m┣━━━━━┫[0m[18;12H[31m┃ ┃[0m[19;12H[31m┗━━━━━┛[0m[12;13H22344[14;13H33333[16;13H44322[18;13H54321[0m[48;1H[?25h
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'whirled_peas'
|
2
|
+
|
3
|
+
class TemplateFactory
|
4
|
+
def build(*)
|
5
|
+
WhirledPeas.template do |composer, settings|
|
6
|
+
settings.set_padding(left: 10, top: 10)
|
7
|
+
composer.add_box do |composer, settings|
|
8
|
+
settings.full_border(color: :green)
|
9
|
+
composer.add_grid do |_, settings|
|
10
|
+
settings.set_position(top: -3)
|
11
|
+
settings.full_border(color: :red)
|
12
|
+
settings.num_cols = 1
|
13
|
+
%w[12345 22344 33333 44322 54321]
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|