mirror of
https://github.com/tmate-io/tmate.git
synced 2025-02-17 02:41:07 +01:00
Now that a UTF-8-capable puts function exists, use it for printing strings in
choice/more modes - lines with UTF-8 now display properly in find-window results.
This commit is contained in:
parent
3db2433448
commit
23326e40cf
@ -285,10 +285,12 @@ window_choose_write_line(
|
||||
struct window_choose_mode_item *item;
|
||||
struct screen *s = &data->screen;
|
||||
struct grid_cell gc;
|
||||
int utf8flag;
|
||||
|
||||
if (data->callback == NULL)
|
||||
fatalx("called before callback assigned");
|
||||
|
||||
utf8flag = options_get_number(&wp->window->options, "utf8");
|
||||
memcpy(&gc, &grid_default_cell, sizeof gc);
|
||||
if (data->selected == data->top + py) {
|
||||
gc.fg = options_get_number(&wp->window->options, "mode-bg");
|
||||
@ -299,12 +301,11 @@ window_choose_write_line(
|
||||
screen_write_cursormove(ctx, 0, py);
|
||||
if (data->top + py < ARRAY_LENGTH(&data->list)) {
|
||||
item = &ARRAY_ITEM(&data->list, data->top + py);
|
||||
screen_write_puts(
|
||||
ctx, &gc, "%.*s", (int) screen_size_x(s), item->name);
|
||||
screen_write_nputs(
|
||||
ctx, screen_size_x(s) - 1, &gc, utf8flag, "%s", item->name);
|
||||
}
|
||||
while (s->cx < screen_size_x(s))
|
||||
screen_write_putc(ctx, &gc, ' ');
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -175,7 +175,9 @@ window_more_write_line(
|
||||
struct grid_cell gc;
|
||||
char *msg, hdr[32];
|
||||
size_t size;
|
||||
int utf8flag;
|
||||
|
||||
utf8flag = options_get_number(&wp->window->options, "utf8");
|
||||
memcpy(&gc, &grid_default_cell, sizeof gc);
|
||||
|
||||
if (py == 0) {
|
||||
@ -193,8 +195,8 @@ window_more_write_line(
|
||||
screen_write_cursormove(ctx, 0, py);
|
||||
if (data->top + py < ARRAY_LENGTH(&data->list)) {
|
||||
msg = ARRAY_ITEM(&data->list, data->top + py);
|
||||
screen_write_puts(
|
||||
ctx, &gc, "%.*s", (int) (screen_size_x(s) - size), msg);
|
||||
screen_write_nputs(
|
||||
ctx, screen_size_x(s) - 1 - size, &gc, utf8flag, "%s", msg);
|
||||
}
|
||||
while (s->cx < screen_size_x(s) - size)
|
||||
screen_write_putc(ctx, &gc, ' ');
|
||||
|
Loading…
Reference in New Issue
Block a user