All cursor movements working without args
This commit is contained in:
parent
9208a874e4
commit
9b7aa959a4
5 changed files with 100 additions and 60 deletions
|
|
@ -42,7 +42,7 @@
|
|||
<Option Name="IPUserFilesDir" Val="$PIPUSERFILESDIR"/>
|
||||
<Option Name="IPStaticSourceDir" Val="$PIPUSERFILESDIR/ipstatic"/>
|
||||
<Option Name="EnableBDX" Val="FALSE"/>
|
||||
<Option Name="WTXSimLaunchSim" Val="355"/>
|
||||
<Option Name="WTXSimLaunchSim" Val="375"/>
|
||||
<Option Name="WTModelSimLaunchSim" Val="0"/>
|
||||
<Option Name="WTQuestaLaunchSim" Val="0"/>
|
||||
<Option Name="WTIesLaunchSim" Val="0"/>
|
||||
|
|
|
|||
|
|
@ -44,9 +44,11 @@ reg cursor_movement_x_neg;
|
|||
reg cursor_movement_y_pos;
|
||||
reg cursor_movement_y_neg;
|
||||
reg esc_inval;
|
||||
reg num_start;
|
||||
|
||||
always @(posedge clk) begin
|
||||
in_byte_ack <= 0;
|
||||
glyph_buffer_w_valid <= 0;
|
||||
|
||||
if (rst) begin
|
||||
parser_state <= ST_PARSE_TEXT;
|
||||
|
|
@ -55,6 +57,7 @@ always @(posedge clk) begin
|
|||
parser_action <= 0;
|
||||
glyph_x <= 0;
|
||||
glyph_y <= 0;
|
||||
num_start <= 0;
|
||||
|
||||
end else if (!parser_valid && in_byte_valid) begin
|
||||
in_byte_ack <= 1;
|
||||
|
|
@ -82,8 +85,8 @@ always @(posedge clk) begin
|
|||
(ST_PARSE_ESC): begin
|
||||
if (in_byte == 8'h5b) begin /* [ */
|
||||
parser_state <= ST_PARSE_CSI;
|
||||
num_buf[NUM_BUF_SZ*12-1:12] <= {{0}};
|
||||
num_buf[11:0] <= 12'hfff;
|
||||
num_buf <= {{0}};
|
||||
num_start <= 1;
|
||||
|
||||
end else begin
|
||||
parser_state <= ST_PARSE_INVAL;
|
||||
|
|
@ -92,12 +95,18 @@ always @(posedge clk) begin
|
|||
|
||||
(ST_PARSE_CSI), (ST_PARSE_SEP): begin
|
||||
if (in_byte >= 8'h30 && in_byte <= 8'h39) begin /* 0-9 */
|
||||
num_buf <= {num_buf[NUM_BUF_SZ*12-1:12], num_buf[7:0], ~in_byte[3:0]};
|
||||
if (num_start) begin
|
||||
num_start <= 0;
|
||||
num_buf <= {num_buf[NUM_BUF_SZ*12-1:12], 8'hff, ~in_byte[3:0]};
|
||||
end else begin
|
||||
num_buf <= {num_buf[NUM_BUF_SZ*12-1:12], num_buf[7:0], ~in_byte[3:0]};
|
||||
end
|
||||
parser_state = ST_PARSE_CSI;
|
||||
|
||||
end else if (in_byte == 8'h3b) begin /* ; */
|
||||
num_buf <= {num_buf[NUM_BUF_SZ*12-1-12:0], 12'hfff};
|
||||
parser_state <= ST_PARSE_SEP;
|
||||
num_start <= 1;
|
||||
|
||||
end else if (in_byte >= 8'h40 && in_byte <= 8'h7e) begin
|
||||
parser_action <= in_byte;
|
||||
|
|
@ -128,6 +137,7 @@ end
|
|||
function [11:0] bcd12_inc;
|
||||
input [11:0] in;
|
||||
begin
|
||||
bcd12_inc = in;
|
||||
if (in[3:0] != 4'h9) begin
|
||||
bcd12_inc[3:0] = in[3:0]+1;
|
||||
end else begin
|
||||
|
|
@ -165,7 +175,7 @@ always @(posedge clk) begin
|
|||
if (cursor_movement_x_pos || cursor_movement_x_neg || cursor_movement_y_pos || cursor_movement_y_neg) begin
|
||||
csi_act_ctr <= bcd12_inc(csi_act_ctr);
|
||||
|
||||
if (!csi_act_ctr == ~num_buf_last) begin
|
||||
if (csi_act_ctr != ~num_buf_last) begin
|
||||
if (cursor_movement_x_pos) begin
|
||||
if (glyph_x != GLYPHMEM_W-1) glyph_x <= glyph_x + 1;
|
||||
end else if (cursor_movement_x_neg) begin
|
||||
|
|
@ -188,44 +198,48 @@ always @(posedge clk) begin
|
|||
|
||||
end else if (parser_action == 8'h41 && !esc_inval) begin /* A; Cursor up */
|
||||
cursor_movement_y_neg <= 1;
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] <= num_buf[11:0];
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0];
|
||||
|
||||
end else if (parser_action == 8'h42 && !esc_inval) begin /* B; Cursor down */
|
||||
cursor_movement_y_pos <= 1;
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] <= num_buf[11:0];
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0];
|
||||
|
||||
end else if (parser_action == 8'h43 && !esc_inval) begin /* C; Cursor forward */
|
||||
cursor_movement_x_pos <= 1;
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] <= num_buf[11:0];
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0];
|
||||
|
||||
end else if (parser_action == 8'h44 && !esc_inval) begin /* D; Cursor back */
|
||||
cursor_movement_x_neg <= 1;
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] <= num_buf[11:0];
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0];
|
||||
|
||||
end else if (parser_action == 8'h45 && !esc_inval) begin /* E; Cursor next line */
|
||||
glyph_x <= 0;
|
||||
cursor_movement_y_pos <= 1;
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] <= num_buf[11:0];
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0];
|
||||
|
||||
end else if (parser_action == 8'h46 && !esc_inval) begin /* F: Cursor previous line */
|
||||
glyph_x <= 0;
|
||||
cursor_movement_y_neg <= 1;
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] <= num_buf[11:0];
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0];
|
||||
|
||||
end else if (parser_action == 8'h47 && !esc_inval) begin /* G: Cursor horizontal absolute */
|
||||
glyph_x <= 0;
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] <= num_buf[11:0];
|
||||
if (num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] != 0) begin
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] <= num_buf[11:0];
|
||||
if (num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] != 0) begin
|
||||
cursor_movement_x_pos <= 1;
|
||||
end else begin
|
||||
parser_valid <= 0;
|
||||
end
|
||||
|
||||
end else if (parser_action == 8'h48 && !esc_inval) begin /* H: Cursor x/y absolute */
|
||||
glyph_x <= 0;
|
||||
glyph_y <= 0;
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-24] <= num_buf[23:0];
|
||||
if (num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-1-12] != 0) begin
|
||||
num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-24] <= num_buf[23:0];
|
||||
if (num_buf[NUM_BUF_SZ*12-1:NUM_BUF_SZ*12-12] != 0) begin
|
||||
cursor_movement_x_pos <= 1;
|
||||
cursor_movement_y_pos <= 1;
|
||||
end else begin
|
||||
parser_valid <= 0;
|
||||
end
|
||||
|
||||
end else if (parser_action == 8'h6d && !esc_inval) begin /* m; CSI SGR */
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@
|
|||
</db_ref>
|
||||
</db_ref_list>
|
||||
<zoom_setting>
|
||||
<ZoomStartTime time="0fs"></ZoomStartTime>
|
||||
<ZoomEndTime time="3804001fs"></ZoomEndTime>
|
||||
<Cursor1Time time="3602108fs"></Cursor1Time>
|
||||
<ZoomStartTime time="8950000fs"></ZoomStartTime>
|
||||
<ZoomEndTime time="9370001fs"></ZoomEndTime>
|
||||
<Cursor1Time time="9236000fs"></Cursor1Time>
|
||||
</zoom_setting>
|
||||
<column_width_setting>
|
||||
<NameColumnWidth column_width="175"></NameColumnWidth>
|
||||
|
|
@ -23,6 +23,7 @@
|
|||
<wvobject fp_name="/term_emu_tb/testcase_id" type="array">
|
||||
<obj_property name="ElementShortName">testcase_id[31:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">testcase_id[31:0]</obj_property>
|
||||
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/term_emu_tb/term_emu_dut/clk" type="logic">
|
||||
<obj_property name="ElementShortName">clk</obj_property>
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 280,
|
||||
"id": "super-tunisia",
|
||||
"execution_count": 356,
|
||||
"id": "corrected-briefs",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -25,8 +25,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 281,
|
||||
"id": "scenic-jungle",
|
||||
"execution_count": 357,
|
||||
"id": "relative-curve",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -35,8 +35,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 282,
|
||||
"id": "secondary-thunder",
|
||||
"execution_count": 358,
|
||||
"id": "abroad-wound",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -58,13 +58,21 @@
|
|||
" 'fg_newline': 'Foobar\\033[35mbaz\\nthis \\033[1mis\\033[22m a test', # magenta fg\n",
|
||||
" 'color_palette': ''.join(f'\\033[{c}m//' for c in range(30, 38)) + ' ' + ''.join(f'\\033[{c}m//' for c in range(90, 98)) + '\\n'\n",
|
||||
" +''.join(f'\\033[{c}m//' for c in range(40, 48)) + '\\033[0m ' + ''.join(f'\\033[{c}m//' for c in range(100, 108)) + '\\n',\n",
|
||||
" 'cur_u': 'Foobar\\nbaz>\\033[91m\\033[Atest',\n",
|
||||
" 'cur_d': 'Foobar\\nbaz>\\033[91m\\033[Btest',\n",
|
||||
" 'cur_l': 'Foobar\\nbaz>\\033[91m\\033[Dtest',\n",
|
||||
" 'cur_r': 'Foobar\\nbaz>\\033[91m\\033[Ctest',\n",
|
||||
" 'cur_n': 'Foobar\\nbaz>\\033[91m\\033[Etest',\n",
|
||||
" 'cur_p': 'Foobar\\nbaz>\\033[91m\\033[Ftest',\n",
|
||||
" 'cur_hh': 'Foobar\\nbaz>\\033[91m\\033[Gtest',\n",
|
||||
" 'cur_h': 'Foobar\\nbaz>\\033[91m\\033[Htest',\n",
|
||||
"}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 283,
|
||||
"id": "imported-complaint",
|
||||
"execution_count": 359,
|
||||
"id": "ambient-assault",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -73,7 +81,7 @@
|
|||
"'0xf6f'"
|
||||
]
|
||||
},
|
||||
"execution_count": 283,
|
||||
"execution_count": 359,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
|
|
@ -84,8 +92,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 284,
|
||||
"id": "imported-currency",
|
||||
"execution_count": 360,
|
||||
"id": "competent-monster",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -106,8 +114,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 285,
|
||||
"id": "governmental-legislation",
|
||||
"execution_count": 361,
|
||||
"id": "regional-handle",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -121,8 +129,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 286,
|
||||
"id": "resident-broadcasting",
|
||||
"execution_count": 362,
|
||||
"id": "understanding-things",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -142,7 +150,15 @@
|
|||
"Testcase 10: complex\n",
|
||||
"Testcase 11: reset\n",
|
||||
"Testcase 12: fg_newline\n",
|
||||
"Testcase 13: color_palette\n"
|
||||
"Testcase 13: color_palette\n",
|
||||
"Testcase 14: cur_u\n",
|
||||
"Testcase 15: cur_d\n",
|
||||
"Testcase 16: cur_l\n",
|
||||
"Testcase 17: cur_r\n",
|
||||
"Testcase 18: cur_n\n",
|
||||
"Testcase 19: cur_p\n",
|
||||
"Testcase 20: cur_hh\n",
|
||||
"Testcase 21: cur_h\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
|
@ -185,8 +201,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 287,
|
||||
"id": "interested-postage",
|
||||
"execution_count": 363,
|
||||
"id": "southeast-proportion",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -225,8 +241,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 288,
|
||||
"id": "electronic-china",
|
||||
"execution_count": 364,
|
||||
"id": "confidential-exhibition",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -234,7 +250,7 @@
|
|||
"output_type": "stream",
|
||||
"text": [
|
||||
"\u001b[22;24;40;30m/\u001b[22;24;40;30m/\u001b[22;24;40;31m/\u001b[22;24;40;31m/\u001b[22;24;40;32m/\u001b[22;24;40;32m/\u001b[22;24;40;33m/\u001b[22;24;40;33m/\u001b[22;24;40;34m/\u001b[22;24;40;34m/\u001b[22;24;40;35m/\u001b[22;24;40;35m/\u001b[22;24;40;36m/\u001b[22;24;40;36m/\u001b[22;24;40;37m/\u001b[22;24;40;37m/\u001b[22;24;40;37m \u001b[22;24;40;37m \u001b[22;24;40;90m/\u001b[22;24;40;90m/\u001b[22;24;40;91m/\u001b[22;24;40;91m/\u001b[22;24;40;92m/\u001b[22;24;40;92m/\u001b[22;24;40;93m/\u001b[22;24;40;93m/\u001b[22;24;40;94m/\u001b[22;24;40;94m/\u001b[22;24;40;95m/\u001b[22;24;40;95m/\u001b[22;24;40;96m/\u001b[22;24;40;96m/\u001b[22;24;40;97m/\u001b[22;24;40;97m/\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n",
|
||||
"\u001b[22;24;40;97m/\u001b[22;24;40;97m/\u001b[22;24;41;97m/\u001b[22;24;41;97m/\u001b[22;24;42;97m/\u001b[22;24;42;97m/\u001b[22;24;43;97m/\u001b[22;24;43;97m/\u001b[22;24;44;97m/\u001b[22;24;44;97m/\u001b[22;24;45;97m/\u001b[22;24;45;97m/\u001b[22;24;46;97m/\u001b[22;24;46;97m/\u001b[22;24;47;97m/\u001b[22;24;47;97m/\u001b[22;24;47;97m \u001b[22;24;47;97m \u001b[22;24;100;97m/\u001b[22;24;100;97m/\u001b[22;24;101;97m/\u001b[22;24;101;97m/\u001b[22;24;102;97m/\u001b[22;24;102;97m/\u001b[22;24;103;97m/\u001b[22;24;103;97m/\u001b[22;24;104;97m/\u001b[22;24;104;97m/\u001b[22;24;105;97m/\u001b[22;24;105;97m/\u001b[22;24;106;97m/\u001b[22;24;106;97m/\u001b[22;24;107;97m/\u001b[22;24;107;97m/\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n",
|
||||
"\u001b[22;24;40;97m/\u001b[22;24;40;97m/\u001b[22;24;41;97m/\u001b[22;24;41;97m/\u001b[22;24;42;97m/\u001b[22;24;42;97m/\u001b[22;24;43;97m/\u001b[22;24;43;97m/\u001b[22;24;44;97m/\u001b[22;24;44;97m/\u001b[22;24;45;97m/\u001b[22;24;45;97m/\u001b[22;24;46;97m/\u001b[22;24;46;97m/\u001b[22;24;47;97m/\u001b[22;24;47;97m/\u001b[22;24;40;37m \u001b[22;24;40;37m \u001b[22;24;100;37m/\u001b[22;24;100;37m/\u001b[22;24;101;37m/\u001b[22;24;101;37m/\u001b[22;24;102;37m/\u001b[22;24;102;37m/\u001b[22;24;103;37m/\u001b[22;24;103;37m/\u001b[22;24;104;37m/\u001b[22;24;104;37m/\u001b[22;24;105;37m/\u001b[22;24;105;37m/\u001b[22;24;106;37m/\u001b[22;24;106;37m/\u001b[22;24;107;37m/\u001b[22;24;107;37m/\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n",
|
||||
"\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n",
|
||||
"\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n",
|
||||
"\u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \u001b[22;24;40;30m \n"
|
||||
|
|
@ -247,8 +263,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 289,
|
||||
"id": "blessed-slide",
|
||||
"execution_count": 365,
|
||||
"id": "compressed-operator",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -257,8 +273,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 290,
|
||||
"id": "genetic-participation",
|
||||
"execution_count": 366,
|
||||
"id": "becoming-growth",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -279,8 +295,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 291,
|
||||
"id": "limiting-benefit",
|
||||
"execution_count": 367,
|
||||
"id": "sticky-novel",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
|
|
@ -289,8 +305,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 292,
|
||||
"id": "asian-internet",
|
||||
"execution_count": 368,
|
||||
"id": "endless-lecture",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -311,8 +327,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 293,
|
||||
"id": "tough-pillow",
|
||||
"execution_count": 369,
|
||||
"id": "latter-blowing",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -333,8 +349,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 294,
|
||||
"id": "appropriate-collect",
|
||||
"execution_count": 370,
|
||||
"id": "criminal-documentation",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -355,8 +371,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 295,
|
||||
"id": "norwegian-warren",
|
||||
"execution_count": 371,
|
||||
"id": "colored-assumption",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -377,8 +393,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 296,
|
||||
"id": "civic-elder",
|
||||
"execution_count": 372,
|
||||
"id": "quiet-mailing",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -399,8 +415,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 297,
|
||||
"id": "gentle-mount",
|
||||
"execution_count": 373,
|
||||
"id": "proved-madagascar",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
@ -421,8 +437,8 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 298,
|
||||
"id": "complete-fellow",
|
||||
"execution_count": 374,
|
||||
"id": "original-zimbabwe",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -46,7 +46,16 @@ if __name__ == '__main__':
|
|||
'complex',
|
||||
'reset',
|
||||
'fg_newline',
|
||||
'color_palette']:
|
||||
'color_palette',
|
||||
'cur_u',
|
||||
'cur_d',
|
||||
'cur_l',
|
||||
'cur_r',
|
||||
'cur_n',
|
||||
'cur_p',
|
||||
'cur_hh',
|
||||
'cur_h',
|
||||
]:
|
||||
print()
|
||||
print(f'\033[0m=== Testcase {tc} ===')
|
||||
show_tc(tc)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue