whirled_peas 0.7.1 → 0.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +25 -0
- data/README.md +530 -121
- data/Rakefile +1 -20
- data/bin/easing +33 -0
- data/bin/reset_cursor +11 -0
- data/bin/screen_test +68 -0
- data/examples/components.rb +35 -0
- data/examples/graph.rb +54 -0
- data/examples/intro.rb +3 -3
- data/examples/scrolling.rb +13 -23
- data/lib/data/themes.yaml +13 -0
- data/lib/whirled_peas.rb +33 -13
- data/lib/whirled_peas/animator.rb +5 -0
- data/lib/whirled_peas/animator/debug_consumer.rb +17 -0
- data/lib/whirled_peas/animator/easing.rb +72 -0
- data/lib/whirled_peas/animator/frame.rb +5 -0
- data/lib/whirled_peas/animator/frameset.rb +33 -0
- data/lib/whirled_peas/animator/producer.rb +35 -0
- data/lib/whirled_peas/animator/renderer_consumer.rb +31 -0
- data/lib/whirled_peas/command.rb +5 -0
- data/lib/whirled_peas/command/base.rb +86 -0
- data/lib/whirled_peas/command/config_command.rb +44 -0
- data/lib/whirled_peas/command/debug.rb +21 -0
- data/lib/whirled_peas/command/fonts.rb +22 -0
- data/lib/whirled_peas/command/frame_command.rb +34 -0
- data/lib/whirled_peas/command/frames.rb +24 -0
- data/lib/whirled_peas/command/help.rb +38 -0
- data/lib/whirled_peas/command/play.rb +112 -0
- data/lib/whirled_peas/command/record.rb +57 -0
- data/lib/whirled_peas/command/still.rb +29 -0
- data/lib/whirled_peas/command/themes.rb +77 -0
- data/lib/whirled_peas/command_line.rb +24 -212
- data/lib/whirled_peas/component.rb +35 -0
- data/lib/whirled_peas/component/list_with_active.rb +88 -0
- data/lib/whirled_peas/config.rb +56 -6
- data/lib/whirled_peas/device.rb +5 -0
- data/lib/whirled_peas/device/null_device.rb +8 -0
- data/lib/whirled_peas/device/output_file.rb +19 -0
- data/lib/whirled_peas/device/screen.rb +26 -0
- data/lib/whirled_peas/graphics/box_painter.rb +4 -4
- data/lib/whirled_peas/graphics/composer.rb +27 -2
- data/lib/whirled_peas/graphics/container_coords.rb +24 -2
- data/lib/whirled_peas/graphics/container_painter.rb +63 -82
- data/lib/whirled_peas/graphics/content_dimensions.rb +19 -0
- data/lib/whirled_peas/graphics/content_painter.rb +20 -0
- data/lib/whirled_peas/graphics/debugger.rb +1 -7
- data/lib/whirled_peas/graphics/graph_dimensions.rb +12 -0
- data/lib/whirled_peas/graphics/graph_painter.rb +97 -0
- data/lib/whirled_peas/graphics/grid_painter.rb +0 -3
- data/lib/whirled_peas/graphics/painter.rb +10 -0
- data/lib/whirled_peas/graphics/renderer.rb +8 -2
- data/lib/whirled_peas/graphics/scrollbar_helper.rb +124 -0
- data/lib/whirled_peas/graphics/text_painter.rb +7 -11
- data/lib/whirled_peas/null_logger.rb +0 -1
- data/lib/whirled_peas/settings/border.rb +25 -4
- data/lib/whirled_peas/settings/container_settings.rb +14 -9
- data/lib/whirled_peas/settings/debugger.rb +1 -1
- data/lib/whirled_peas/settings/element_settings.rb +12 -3
- data/lib/whirled_peas/settings/graph_settings.rb +21 -0
- data/lib/whirled_peas/settings/grid_settings.rb +7 -0
- data/lib/whirled_peas/settings/position.rb +17 -5
- data/lib/whirled_peas/settings/text_settings.rb +1 -0
- data/lib/whirled_peas/settings/theme.rb +40 -0
- data/lib/whirled_peas/settings/theme_library.rb +63 -0
- data/lib/whirled_peas/utils/ansi.rb +13 -0
- data/lib/whirled_peas/utils/file_handler.rb +57 -0
- data/lib/whirled_peas/version.rb +1 -1
- data/screen_test/components/list_with_active/l2r_active_color.frame +1 -0
- data/screen_test/components/list_with_active/l2r_active_color.rb +18 -0
- data/screen_test/components/list_with_active/l2r_position_end.frame +1 -0
- data/screen_test/components/list_with_active/l2r_position_end.rb +16 -0
- data/screen_test/components/list_with_active/l2r_position_middle.frame +1 -0
- data/screen_test/components/list_with_active/l2r_position_middle.rb +16 -0
- data/screen_test/components/list_with_active/l2r_position_start.frame +1 -0
- data/screen_test/components/list_with_active/l2r_position_start.rb +16 -0
- data/screen_test/components/list_with_active/l2r_separator.frame +1 -0
- data/screen_test/components/list_with_active/l2r_separator.rb +17 -0
- data/screen_test/components/list_with_active/t2b_active_color.frame +1 -0
- data/screen_test/components/list_with_active/t2b_active_color.rb +19 -0
- data/screen_test/components/list_with_active/t2b_position_end.frame +1 -0
- data/screen_test/components/list_with_active/t2b_position_end.rb +17 -0
- data/screen_test/components/list_with_active/t2b_position_middle.frame +1 -0
- data/screen_test/components/list_with_active/t2b_position_middle.rb +17 -0
- data/screen_test/components/list_with_active/t2b_position_start.frame +1 -0
- data/screen_test/components/list_with_active/t2b_position_start.rb +17 -0
- data/screen_test/components/list_with_active/t2b_separator.frame +1 -0
- data/screen_test/components/list_with_active/t2b_separator.rb +18 -0
- data/screen_test/elements/box.frame +1 -1
- data/screen_test/elements/box.rb +1 -1
- data/screen_test/elements/graph.frame +1 -0
- data/screen_test/elements/graph.rb +12 -0
- data/screen_test/elements/grid.frame +1 -1
- data/screen_test/elements/grid.rb +1 -1
- data/screen_test/elements/screen_overflow_x.frame +1 -1
- data/screen_test/elements/screen_overflow_x.rb +1 -1
- data/screen_test/elements/screen_overflow_y.frame +1 -1
- data/screen_test/elements/screen_overflow_y.rb +1 -1
- data/screen_test/elements/text.frame +1 -1
- data/screen_test/elements/text.rb +1 -1
- data/screen_test/elements/text_multiline.frame +1 -1
- data/screen_test/elements/text_multiline.rb +1 -1
- data/screen_test/elements/theme.frame +1 -0
- data/screen_test/elements/theme.rb +26 -0
- data/screen_test/settings/align/box_around.frame +1 -1
- data/screen_test/settings/align/box_around.rb +1 -1
- data/screen_test/settings/align/box_between.frame +1 -1
- data/screen_test/settings/align/box_between.rb +1 -1
- data/screen_test/settings/align/box_center.frame +1 -1
- data/screen_test/settings/align/box_center.rb +1 -1
- data/screen_test/settings/align/box_default.frame +1 -1
- data/screen_test/settings/align/box_default.rb +1 -1
- data/screen_test/settings/align/box_evenly.frame +1 -1
- data/screen_test/settings/align/box_evenly.rb +1 -1
- data/screen_test/settings/align/box_left.frame +1 -1
- data/screen_test/settings/align/box_left.rb +1 -1
- data/screen_test/settings/align/box_right.frame +1 -1
- data/screen_test/settings/align/box_right.rb +1 -1
- data/screen_test/settings/align/children_center.frame +1 -1
- data/screen_test/settings/align/children_center.rb +1 -1
- data/screen_test/settings/align/children_left.frame +1 -1
- data/screen_test/settings/align/children_left.rb +1 -1
- data/screen_test/settings/align/children_right.frame +1 -1
- data/screen_test/settings/align/children_right.rb +1 -1
- data/screen_test/settings/align/grid_center.frame +1 -1
- data/screen_test/settings/align/grid_center.rb +1 -1
- data/screen_test/settings/align/grid_default.frame +1 -1
- data/screen_test/settings/align/grid_default.rb +1 -1
- data/screen_test/settings/align/grid_left.frame +1 -1
- data/screen_test/settings/align/grid_left.rb +1 -1
- data/screen_test/settings/align/grid_right.frame +1 -1
- data/screen_test/settings/align/grid_right.rb +1 -1
- data/screen_test/settings/ansi/bold.frame +1 -1
- data/screen_test/settings/ansi/bold.rb +1 -1
- data/screen_test/settings/ansi/color.frame +1 -1
- data/screen_test/settings/ansi/color.rb +1 -1
- data/screen_test/settings/ansi/underline.frame +1 -1
- data/screen_test/settings/ansi/underline.rb +1 -1
- data/screen_test/settings/border.frame +1 -1
- data/screen_test/settings/border.rb +1 -1
- data/screen_test/settings/content_start/box_bottom.frame +1 -0
- data/screen_test/settings/content_start/box_bottom.rb +17 -0
- data/screen_test/settings/content_start/box_left.frame +1 -0
- data/screen_test/settings/{position → content_start}/box_left.rb +2 -2
- data/screen_test/settings/content_start/box_left_negative.frame +1 -0
- data/screen_test/settings/{position → content_start}/box_left_negative.rb +2 -2
- data/screen_test/settings/content_start/box_right.frame +1 -0
- data/screen_test/settings/content_start/box_right.rb +17 -0
- data/screen_test/settings/content_start/box_top.frame +1 -0
- data/screen_test/settings/{position → content_start}/box_top.rb +2 -2
- data/screen_test/settings/content_start/box_top_negative.frame +1 -0
- data/screen_test/settings/{position → content_start}/box_top_negative.rb +2 -2
- data/screen_test/settings/content_start/grid_left.frame +1 -0
- data/screen_test/settings/{position → content_start}/grid_left.rb +2 -2
- data/screen_test/settings/content_start/grid_left_negative.frame +1 -0
- data/screen_test/settings/{position → content_start}/grid_left_negative.rb +2 -2
- data/screen_test/settings/content_start/grid_top.frame +1 -0
- data/screen_test/settings/{position → content_start}/grid_top.rb +2 -2
- data/screen_test/settings/content_start/grid_top_negative.frame +1 -0
- data/screen_test/settings/{position → content_start}/grid_top_negative.rb +2 -2
- data/screen_test/settings/flow/box_b2t.frame +1 -1
- data/screen_test/settings/flow/box_b2t.rb +1 -1
- data/screen_test/settings/flow/box_l2r.frame +1 -1
- data/screen_test/settings/flow/box_l2r.rb +1 -1
- data/screen_test/settings/flow/box_r2l.frame +1 -1
- data/screen_test/settings/flow/box_r2l.rb +1 -1
- data/screen_test/settings/flow/box_t2b.frame +1 -1
- data/screen_test/settings/flow/box_t2b.rb +1 -1
- data/screen_test/settings/flow/grid_b2t.frame +1 -1
- data/screen_test/settings/flow/grid_b2t.rb +1 -1
- data/screen_test/settings/flow/grid_l2r.frame +1 -1
- data/screen_test/settings/flow/grid_l2r.rb +1 -1
- data/screen_test/settings/flow/grid_r2l.frame +1 -1
- data/screen_test/settings/flow/grid_r2l.rb +1 -1
- data/screen_test/settings/flow/grid_t2b.frame +1 -1
- data/screen_test/settings/flow/grid_t2b.rb +1 -1
- data/screen_test/settings/height/box.frame +1 -1
- data/screen_test/settings/height/box.rb +1 -1
- data/screen_test/settings/height/box_border_sizing.frame +1 -1
- data/screen_test/settings/height/box_border_sizing.rb +1 -1
- data/screen_test/settings/height/grid.frame +1 -1
- data/screen_test/settings/height/grid.rb +1 -1
- data/screen_test/settings/height/overflow_box.frame +1 -1
- data/screen_test/settings/height/overflow_box.rb +1 -1
- data/screen_test/settings/height/overflow_box_l2r.frame +1 -1
- data/screen_test/settings/height/overflow_box_l2r.rb +1 -1
- data/screen_test/settings/height/overflow_box_t2b.frame +1 -1
- data/screen_test/settings/height/overflow_box_t2b.rb +1 -1
- data/screen_test/settings/height/overflow_grid.frame +1 -1
- data/screen_test/settings/height/overflow_grid.rb +1 -1
- data/screen_test/settings/margin.frame +1 -1
- data/screen_test/settings/margin.rb +1 -1
- data/screen_test/settings/padding.frame +1 -1
- data/screen_test/settings/padding.rb +1 -1
- data/screen_test/settings/scroll/horiz_box.frame +1 -1
- data/screen_test/settings/scroll/horiz_box.rb +3 -5
- data/screen_test/settings/scroll/horiz_box_align_center.rb +3 -5
- data/screen_test/settings/scroll/horiz_box_align_right.rb +3 -5
- data/screen_test/settings/scroll/vert_box.frame +1 -1
- data/screen_test/settings/scroll/vert_box.rb +6 -8
- data/screen_test/settings/title_font.frame +1 -1
- data/screen_test/settings/title_font.rb +1 -1
- data/screen_test/settings/valign/box_around.frame +1 -1
- data/screen_test/settings/valign/box_around.rb +1 -1
- data/screen_test/settings/valign/box_between.frame +1 -1
- data/screen_test/settings/valign/box_between.rb +1 -1
- data/screen_test/settings/valign/box_bottom.frame +1 -1
- data/screen_test/settings/valign/box_bottom.rb +1 -1
- data/screen_test/settings/valign/box_default.frame +1 -1
- data/screen_test/settings/valign/box_default.rb +1 -1
- data/screen_test/settings/valign/box_evenly.frame +1 -1
- data/screen_test/settings/valign/box_evenly.rb +1 -1
- data/screen_test/settings/valign/box_middle.frame +1 -1
- data/screen_test/settings/valign/box_middle.rb +1 -1
- data/screen_test/settings/valign/box_top.frame +1 -1
- data/screen_test/settings/valign/box_top.rb +1 -1
- data/screen_test/settings/valign/grid_bottom.frame +1 -1
- data/screen_test/settings/valign/grid_bottom.rb +1 -1
- data/screen_test/settings/valign/grid_default.frame +1 -1
- data/screen_test/settings/valign/grid_default.rb +1 -1
- data/screen_test/settings/valign/grid_middle.frame +1 -1
- data/screen_test/settings/valign/grid_middle.rb +1 -1
- data/screen_test/settings/valign/grid_top.frame +1 -1
- data/screen_test/settings/valign/grid_top.rb +1 -1
- data/screen_test/settings/width/box_border_sizing.frame +1 -1
- data/screen_test/settings/width/box_border_sizing.rb +1 -1
- data/screen_test/settings/width/box_content.frame +1 -1
- data/screen_test/settings/width/box_content.rb +1 -1
- data/screen_test/settings/width/box_default.frame +1 -1
- data/screen_test/settings/width/box_default.rb +1 -1
- data/screen_test/settings/width/grid.frame +1 -1
- data/screen_test/settings/width/grid.rb +1 -1
- data/screen_test/settings/width/overflow_align_center.frame +1 -1
- data/screen_test/settings/width/overflow_align_center.rb +1 -1
- data/screen_test/settings/width/overflow_align_right.frame +1 -1
- data/screen_test/settings/width/overflow_align_right.rb +1 -1
- data/screen_test/settings/width/overflow_box.frame +1 -1
- data/screen_test/settings/width/overflow_box.rb +1 -1
- data/screen_test/settings/width/overflow_box_l2r.frame +1 -1
- data/screen_test/settings/width/overflow_box_l2r.rb +1 -1
- data/screen_test/settings/width/overflow_box_t2b.frame +1 -1
- data/screen_test/settings/width/overflow_box_t2b.rb +1 -1
- data/screen_test/settings/width/overflow_grid.frame +1 -1
- data/screen_test/settings/width/overflow_grid.rb +1 -1
- data/tools/whirled_peas/tools/screen_tester.rb +131 -65
- metadata +86 -25
- data/lib/whirled_peas/frame.rb +0 -6
- data/lib/whirled_peas/frame/consumer.rb +0 -30
- data/lib/whirled_peas/frame/debug_consumer.rb +0 -30
- data/lib/whirled_peas/frame/event_loop.rb +0 -90
- data/lib/whirled_peas/frame/producer.rb +0 -67
- data/lib/whirled_peas/graphics/screen.rb +0 -70
- data/lib/whirled_peas/graphics/text_dimensions.rb +0 -15
- data/screen_test/settings/position/box_left.frame +0 -1
- data/screen_test/settings/position/box_left_negative.frame +0 -1
- data/screen_test/settings/position/box_top.frame +0 -1
- data/screen_test/settings/position/box_top_negative.frame +0 -1
- data/screen_test/settings/position/grid_left.frame +0 -1
- data/screen_test/settings/position/grid_left_negative.frame +0 -1
- data/screen_test/settings/position/grid_top.frame +0 -1
- data/screen_test/settings/position/grid_top_negative.frame +0 -1
@@ -1,15 +0,0 @@
|
|
1
|
-
module WhirledPeas
|
2
|
-
module Graphics
|
3
|
-
class TextDimensions
|
4
|
-
attr_reader :outer_width, :outer_height
|
5
|
-
|
6
|
-
def initialize(content)
|
7
|
-
@outer_width = 0
|
8
|
-
content.each do |line|
|
9
|
-
@outer_width = line.length if line.length > @outer_width
|
10
|
-
end
|
11
|
-
@outer_height = content.length
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1 +0,0 @@
|
|
1
|
-
[?25l[1;1H[J[6;6H[32m┏━━━━━━━┓[0m[7;6H[32m┃ ┃[0m[8;6H[32m┃ ┃[0m[9;6H[32m┃ ┃[0m[10;6H[32m┃ ┃[0m[11;6H[32m┃ ┃[0m[12;6H[32m┃ ┃[0m[13;6H[32m┃ ┃[0m[14;6H[32m┗━━━━━━━┛[0m[7;10H[31m┏━━━[0m[8;10H[31m┃ [0m[9;10H[31m┃ [0m[10;10H[31m┃ [0m[11;10H[31m┃ [0m[12;10H[31m┃ [0m[13;10H[31m┗━━━[0m[8;11H123[9;11H223[10;11H333[11;11H443[12;11H543[0m[24;1H[?25h
|
@@ -1 +0,0 @@
|
|
1
|
-
[?25l[1;1H[J[6;6H[32m┏━━━━━━━┓[0m[7;6H[32m┃ ┃[0m[8;6H[32m┃ ┃[0m[9;6H[32m┃ ┃[0m[10;6H[32m┃ ┃[0m[11;6H[32m┃ ┃[0m[12;6H[32m┃ ┃[0m[13;6H[32m┃ ┃[0m[14;6H[32m┗━━━━━━━┛[0m[7;7H[31m━━━┓[0m[8;7H[31m ┃[0m[9;7H[31m ┃[0m[10;7H[31m ┃[0m[11;7H[31m ┃[0m[12;7H[31m ┃[0m[13;7H[31m━━━┛[0m[8;7H345[9;7H344[10;7H333[11;7H322[12;7H321[0m[24;1H[?25h
|
@@ -1 +0,0 @@
|
|
1
|
-
[?25l[1;1H[J[6;6H[32m┏━━━━━━━┓[0m[7;6H[32m┃ ┃[0m[8;6H[32m┃ ┃[0m[9;6H[32m┃ ┃[0m[10;6H[32m┃ ┃[0m[11;6H[32m┃ ┃[0m[12;6H[32m┃ ┃[0m[13;6H[32m┃ ┃[0m[14;6H[32m┗━━━━━━━┛[0m[10;7H[31m┏━━━━━┓[0m[11;7H[31m┃ ┃[0m[12;7H[31m┃ ┃[0m[13;7H[31m┃ ┃[0m[11;8H12345[12;8H22344[13;8H33333[0m[24;1H[?25h
|
@@ -1 +0,0 @@
|
|
1
|
-
[?25l[1;1H[J[6;6H[32m┏━━━━━━━┓[0m[7;6H[32m┃ ┃[0m[8;6H[32m┃ ┃[0m[9;6H[32m┃ ┃[0m[10;6H[32m┃ ┃[0m[11;6H[32m┃ ┃[0m[12;6H[32m┃ ┃[0m[13;6H[32m┃ ┃[0m[14;6H[32m┗━━━━━━━┛[0m[7;7H[31m┃ ┃[0m[8;7H[31m┃ ┃[0m[9;7H[31m┃ ┃[0m[10;7H[31m┗━━━━━┛[0m[7;8H33333[8;8H44322[9;8H54321[0m[24;1H[?25h
|
@@ -1 +0,0 @@
|
|
1
|
-
[?25l[1;1H[J[6;6H[32m┏━━━━━━━┓[0m[7;6H[32m┃ ┃[0m[8;6H[32m┃ ┃[0m[9;6H[32m┃ ┃[0m[10;6H[32m┃ ┃[0m[11;6H[32m┃ ┃[0m[12;6H[32m┃ ┃[0m[13;6H[32m┃ ┃[0m[14;6H[32m┃ ┃[0m[15;6H[32m┃ ┃[0m[16;6H[32m┃ ┃[0m[17;6H[32m┃ ┃[0m[18;6H[32m┗━━━━━━━┛[0m[7;10H[31m┏━━━[0m[8;10H[31m┃ [0m[9;10H[31m┣━━━[0m[10;10H[31m┃ [0m[11;10H[31m┣━━━[0m[12;10H[31m┃ [0m[13;10H[31m┣━━━[0m[14;10H[31m┃ [0m[15;10H[31m┣━━━[0m[16;10H[31m┃ [0m[17;10H[31m┗━━━[0m[8;11H123[10;11H223[12;11H333[14;11H443[16;11H543[0m[24;1H[?25h
|
@@ -1 +0,0 @@
|
|
1
|
-
[?25l[1;1H[J[6;6H[32m┏━━━━━━━┓[0m[7;6H[32m┃ ┃[0m[8;6H[32m┃ ┃[0m[9;6H[32m┃ ┃[0m[10;6H[32m┃ ┃[0m[11;6H[32m┃ ┃[0m[12;6H[32m┃ ┃[0m[13;6H[32m┃ ┃[0m[14;6H[32m┃ ┃[0m[15;6H[32m┃ ┃[0m[16;6H[32m┃ ┃[0m[17;6H[32m┃ ┃[0m[18;6H[32m┗━━━━━━━┛[0m[7;7H[31m━━━┓[0m[8;7H[31m ┃[0m[9;7H[31m━━━┫[0m[10;7H[31m ┃[0m[11;7H[31m━━━┫[0m[12;7H[31m ┃[0m[13;7H[31m━━━┫[0m[14;7H[31m ┃[0m[15;7H[31m━━━┫[0m[16;7H[31m ┃[0m[17;7H[31m━━━┛[0m[8;7H345[10;7H344[12;7H333[14;7H322[16;7H321[0m[24;1H[?25h
|
@@ -1 +0,0 @@
|
|
1
|
-
[?25l[1;1H[J[6;6H[32m┏━━━━━━━┓[0m[7;6H[32m┃ ┃[0m[8;6H[32m┃ ┃[0m[9;6H[32m┃ ┃[0m[10;6H[32m┃ ┃[0m[11;6H[32m┃ ┃[0m[12;6H[32m┃ ┃[0m[13;6H[32m┃ ┃[0m[14;6H[32m┃ ┃[0m[15;6H[32m┃ ┃[0m[16;6H[32m┃ ┃[0m[17;6H[32m┃ ┃[0m[18;6H[32m┗━━━━━━━┛[0m[10;7H[31m┏━━━━━┓[0m[11;7H[31m┃ ┃[0m[12;7H[31m┣━━━━━┫[0m[13;7H[31m┃ ┃[0m[14;7H[31m┣━━━━━┫[0m[15;7H[31m┃ ┃[0m[16;7H[31m┣━━━━━┫[0m[17;7H[31m┃ ┃[0m[11;8H12345[13;8H22344[15;8H33333[17;8H44322[0m[24;1H[?25h
|
@@ -1 +0,0 @@
|
|
1
|
-
[?25l[1;1H[J[6;6H[32m┏━━━━━━━┓[0m[7;6H[32m┃ ┃[0m[8;6H[32m┃ ┃[0m[9;6H[32m┃ ┃[0m[10;6H[32m┃ ┃[0m[11;6H[32m┃ ┃[0m[12;6H[32m┃ ┃[0m[13;6H[32m┃ ┃[0m[14;6H[32m┃ ┃[0m[15;6H[32m┃ ┃[0m[16;6H[32m┃ ┃[0m[17;6H[32m┃ ┃[0m[18;6H[32m┗━━━━━━━┛[0m[7;7H[31m┃ ┃[0m[8;7H[31m┣━━━━━┫[0m[9;7H[31m┃ ┃[0m[10;7H[31m┣━━━━━┫[0m[11;7H[31m┃ ┃[0m[12;7H[31m┣━━━━━┫[0m[13;7H[31m┃ ┃[0m[14;7H[31m┗━━━━━┛[0m[7;8H22344[9;8H33333[11;8H44322[13;8H54321[0m[24;1H[?25h
|