termiolink: handle tabs in (color) links
This commit is contained in:
parent
f23467407c
commit
2f040f9532
|
@ -234,6 +234,13 @@ _txt_at(Termpty *ty, int *x, int *y, char *txt, int *txtlenp, int *codepointp)
|
||||||
cell = cells[*x];
|
cell = cells[*x];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cell.att.tab_inserted)
|
||||||
|
{
|
||||||
|
*txtlenp = 1;
|
||||||
|
*codepointp = '\t';
|
||||||
|
txt[0] = '\t';
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if ((cell.codepoint == 0) || (cell.att.link_id))
|
if ((cell.codepoint == 0) || (cell.att.link_id))
|
||||||
goto empty;
|
goto empty;
|
||||||
|
|
||||||
|
@ -298,6 +305,17 @@ _txt_prev_at(Termpty *ty, int *x, int *y, char *txt, int *txtlenp,
|
||||||
cell = cells[*x];
|
cell = cells[*x];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cell.att.tab_last)
|
||||||
|
{
|
||||||
|
while (*x >= 0 && !cells[*x].att.tab_inserted)
|
||||||
|
(*x)--;
|
||||||
|
if (*x < 0)
|
||||||
|
goto bad;
|
||||||
|
*txtlenp = 1;
|
||||||
|
*codepointp = '\t';
|
||||||
|
txt[0] = '\t';
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if ((cell.codepoint == 0) || (cell.att.link_id))
|
if ((cell.codepoint == 0) || (cell.att.link_id))
|
||||||
goto empty;
|
goto empty;
|
||||||
|
|
||||||
|
@ -313,8 +331,8 @@ empty:
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
bad:
|
bad:
|
||||||
*txtlenp = 0;
|
|
||||||
txt[0] = '\0';
|
txt[0] = '\0';
|
||||||
|
*txtlenp = 0;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -365,6 +383,17 @@ _txt_next_at(Termpty *ty, int *x, int *y, char *txt, int *txtlenp,
|
||||||
}
|
}
|
||||||
|
|
||||||
cell = cells[*x];
|
cell = cells[*x];
|
||||||
|
if (cell.att.tab_inserted)
|
||||||
|
{
|
||||||
|
while (*x < w && !cells[*x].att.tab_last)
|
||||||
|
(*x)++;
|
||||||
|
if (*x >= w)
|
||||||
|
goto bad;
|
||||||
|
*txtlenp = 1;
|
||||||
|
*codepointp = '\t';
|
||||||
|
txt[0] = '\t';
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
if ((cell.codepoint == 0) || (cell.att.link_id))
|
if ((cell.codepoint == 0) || (cell.att.link_id))
|
||||||
goto empty;
|
goto empty;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue