search: new function: search_add_chars()

This function inserts a string into the search buffer, at the current
insertion point (i.e. where the cursor is).
This commit is contained in:
Daniel Eklöf 2020-12-05 11:49:32 +01:00
parent 7eea6f94ed
commit f51ce34753
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 5 additions and 4 deletions

View file

@ -332,8 +332,8 @@ search_find_next(struct terminal *term)
#undef ROW_DEC
}
static void
add_chars(struct terminal *term, const char *src, size_t count)
void
search_add_chars(struct terminal *term, const char *src, size_t count)
{
mbstate_t ps = {0};
size_t wchars = mbsnrtowcs(NULL, &src, count, 0, &ps);
@ -494,7 +494,7 @@ static void
from_clipboard_cb(char *text, size_t size, void *user)
{
struct terminal *term = user;
add_chars(term, text, size);
search_add_chars(term, text, size);
}
static void
@ -722,7 +722,7 @@ search_input(struct seat *seat, struct terminal *term, uint32_t key,
if (count == 0)
return;
add_chars(term, (const char *)buf, count);
search_add_chars(term, (const char *)buf, count);
update_search:
LOG_DBG("search: buffer: %ls", term->search.buf);

View file

@ -7,3 +7,4 @@ void search_begin(struct terminal *term);
void search_cancel(struct terminal *term);
void search_input(struct seat *seat, struct terminal *term, uint32_t key,
xkb_keysym_t sym, xkb_mod_mask_t mods, uint32_t serial);
void search_add_chars(struct terminal *term, const char *text, size_t len);