mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-04-30 06:46:45 -04:00
url-mode: use same heuristics for <> as for [] and ()
This commit is contained in:
parent
ee07628291
commit
9970c2adba
1 changed files with 13 additions and 1 deletions
14
url-mode.c
14
url-mode.c
|
|
@ -230,6 +230,7 @@ auto_detected(const struct terminal *term, enum url_action action,
|
||||||
|
|
||||||
ssize_t parenthesis = 0;
|
ssize_t parenthesis = 0;
|
||||||
ssize_t brackets = 0;
|
ssize_t brackets = 0;
|
||||||
|
ssize_t ltgts = 0;
|
||||||
|
|
||||||
for (int r = 0; r < term->rows; r++) {
|
for (int r = 0; r < term->rows; r++) {
|
||||||
const struct row *row = grid_row_in_view(term->grid, r);
|
const struct row *row = grid_row_in_view(term->grid, r);
|
||||||
|
|
@ -288,7 +289,6 @@ auto_detected(const struct terminal *term, enum url_action action,
|
||||||
case L'/': case L'?': case L'#': case L'@': case L'!':
|
case L'/': case L'?': case L'#': case L'@': case L'!':
|
||||||
case L'$': case L'&': case L'\'': case L'*': case L'+':
|
case L'$': case L'&': case L'\'': case L'*': case L'+':
|
||||||
case L',': case L';': case L'=': case L'"': case L'%':
|
case L',': case L';': case L'=': case L'"': case L'%':
|
||||||
case L'<': case L'>':
|
|
||||||
url[len++] = wc;
|
url[len++] = wc;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -302,6 +302,11 @@ auto_detected(const struct terminal *term, enum url_action action,
|
||||||
url[len++] = wc;
|
url[len++] = wc;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case L'<':
|
||||||
|
ltgts++;
|
||||||
|
url[len++] = wc;
|
||||||
|
break;
|
||||||
|
|
||||||
case L')':
|
case L')':
|
||||||
if (--parenthesis < 0)
|
if (--parenthesis < 0)
|
||||||
emit_url = true;
|
emit_url = true;
|
||||||
|
|
@ -316,6 +321,13 @@ auto_detected(const struct terminal *term, enum url_action action,
|
||||||
url[len++] = wc;
|
url[len++] = wc;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case L'>':
|
||||||
|
if (--ltgts < 0)
|
||||||
|
emit_url = true;
|
||||||
|
else
|
||||||
|
url[len++] = wc;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
emit_url = true;
|
emit_url = true;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue