in                 77 lib/widget/input.c #define should_show_history_button(in)                                                             \
in                 78 lib/widget/input.c     (in->history.list != NULL && WIDGET (in)->rect.cols > HISTORY_BUTTON_WIDTH * 2 + 1             \
in                 79 lib/widget/input.c      && WIDGET (in)->owner != NULL)
in                109 lib/widget/input.c draw_history_button (WInput *in)
in                114 lib/widget/input.c     if (g_list_next (in->history.current) == NULL)
in                116 lib/widget/input.c     else if (g_list_previous (in->history.current) == NULL)
in                121 lib/widget/input.c     widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH);
in                122 lib/widget/input.c     disabled = widget_get_state (WIDGET (in), WST_DISABLED);
in                123 lib/widget/input.c     tty_setcolor (disabled ? CORE_DISABLED_COLOR : in->color[INPUT_COLOR_HISTORY]);
in                127 lib/widget/input.c     widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH + 1);
in                136 lib/widget/input.c input_mark_cmd (WInput *in, gboolean mark)
in                138 lib/widget/input.c     in->mark = mark ? in->point : -1;
in                144 lib/widget/input.c input_eval_marks (WInput *in, long *start_mark, long *end_mark)
in                146 lib/widget/input.c     if (in->mark >= 0)
in                148 lib/widget/input.c         *start_mark = MIN (in->mark, in->point);
in                149 lib/widget/input.c         *end_mark = MAX (in->mark, in->point);
in                160 lib/widget/input.c do_show_hist (WInput *in)
in                165 lib/widget/input.c     len = get_history_length (in->history.list);
in                167 lib/widget/input.c     history_descriptor_init (&hd, WIDGET (in)->rect.y, WIDGET (in)->rect.x, in->history.list,
in                168 lib/widget/input.c                              g_list_position (in->history.list, in->history.list));
in                173 lib/widget/input.c     in->history.list = hd.list;
in                174 lib/widget/input.c     in->history.current = in->history.list;
in                177 lib/widget/input.c         input_assign_text (in, hd.text);
in                182 lib/widget/input.c     if (len != get_history_length (in->history.list))
in                183 lib/widget/input.c         in->history.changed = TRUE;
in                226 lib/widget/input.c input_push_history (WInput *in)
in                231 lib/widget/input.c     t = g_strstrip (input_get_text (in));
in                236 lib/widget/input.c         t = input_get_text (in);
in                238 lib/widget/input.c         if (in->history.name != NULL && in->strip_password)
in                253 lib/widget/input.c     if (in->history.list == NULL || in->history.list->data == NULL
in                254 lib/widget/input.c         || strcmp (in->history.list->data, t) != 0 || in->history.changed)
in                256 lib/widget/input.c         in->history.list = list_append_unique (in->history.list, t);
in                257 lib/widget/input.c         in->history.current = in->history.list;
in                258 lib/widget/input.c         in->history.changed = TRUE;
in                263 lib/widget/input.c     in->need_push = FALSE;
in                269 lib/widget/input.c move_buffer_backward (WInput *in, int start, int end)
in                273 lib/widget/input.c     str_len = str_length (in->buffer->str);
in                277 lib/widget/input.c     start = str_offset_to_pos (in->buffer->str, start);
in                278 lib/widget/input.c     end = str_offset_to_pos (in->buffer->str, end);
in                279 lib/widget/input.c     g_string_erase (in->buffer, start, end - start);
in                285 lib/widget/input.c beginning_of_line (WInput *in)
in                287 lib/widget/input.c     in->point = 0;
in                288 lib/widget/input.c     in->charpoint = 0;
in                294 lib/widget/input.c end_of_line (WInput *in)
in                296 lib/widget/input.c     in->point = str_length (in->buffer->str);
in                297 lib/widget/input.c     in->charpoint = 0;
in                303 lib/widget/input.c backward_char (WInput *in)
in                305 lib/widget/input.c     if (in->point > 0)
in                309 lib/widget/input.c         act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                310 lib/widget/input.c         in->point -= str_cprev_noncomb_char (&act, in->buffer->str);
in                313 lib/widget/input.c     in->charpoint = 0;
in                319 lib/widget/input.c forward_char (WInput *in)
in                323 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                325 lib/widget/input.c         in->point += str_cnext_noncomb_char (&act);
in                326 lib/widget/input.c     in->charpoint = 0;
in                332 lib/widget/input.c forward_word (WInput *in)
in                336 lib/widget/input.c     p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                338 lib/widget/input.c     for (; p[0] != '\0' && (str_isspace (p) || str_ispunct (p)); in->point++)
in                341 lib/widget/input.c     for (; p[0] != '\0' && !str_isspace (p) && !str_ispunct (p); in->point++)
in                348 lib/widget/input.c backward_word (WInput *in)
in                352 lib/widget/input.c     p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                354 lib/widget/input.c     for (; p != in->buffer->str; in->point--)
in                367 lib/widget/input.c     for (; p != in->buffer->str; in->point--)
in                378 lib/widget/input.c backward_delete (WInput *in)
in                383 lib/widget/input.c     if (in->point == 0)
in                386 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                387 lib/widget/input.c     start = in->point - str_cprev_noncomb_char (&act, in->buffer->str);
in                388 lib/widget/input.c     move_buffer_backward (in, start, in->point);
in                389 lib/widget/input.c     in->charpoint = 0;
in                390 lib/widget/input.c     in->need_push = TRUE;
in                391 lib/widget/input.c     in->point = start;
in                397 lib/widget/input.c copy_region (WInput *in, int start, int end)
in                413 lib/widget/input.c     first = str_offset_to_pos (in->buffer->str, first);
in                414 lib/widget/input.c     last = str_offset_to_pos (in->buffer->str, last);
in                416 lib/widget/input.c     kill_buffer = g_strndup (in->buffer->str + first, last - first);
in                426 lib/widget/input.c delete_region (WInput *in, int start, int end)
in                431 lib/widget/input.c     input_mark_cmd (in, FALSE);
in                432 lib/widget/input.c     in->point = first;
in                433 lib/widget/input.c     move_buffer_backward (in, first, last);
in                434 lib/widget/input.c     in->charpoint = 0;
in                435 lib/widget/input.c     in->need_push = TRUE;
in                441 lib/widget/input.c insert_char (WInput *in, int c_code)
in                447 lib/widget/input.c     if (input_eval_marks (in, &m1, &m2))
in                448 lib/widget/input.c         delete_region (in, m1, m2);
in                453 lib/widget/input.c     if (in->charpoint >= MB_LEN_MAX)
in                456 lib/widget/input.c     in->charbuf[in->charpoint] = c_code;
in                457 lib/widget/input.c     in->charpoint++;
in                459 lib/widget/input.c     res = str_is_valid_char (in->charbuf, in->charpoint);
in                463 lib/widget/input.c             in->charpoint = 0;  // broken multibyte char, skip
in                467 lib/widget/input.c     in->need_push = TRUE;
in                468 lib/widget/input.c     ins_point = str_offset_to_pos (in->buffer->str, in->point);
in                469 lib/widget/input.c     g_string_insert_len (in->buffer, ins_point, in->charbuf, in->charpoint);
in                470 lib/widget/input.c     in->point++;
in                471 lib/widget/input.c     in->charpoint = 0;
in                479 lib/widget/input.c delete_char (WInput *in)
in                484 lib/widget/input.c     act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point);
in                485 lib/widget/input.c     end = in->point + str_cnext_noncomb_char (&act);
in                486 lib/widget/input.c     move_buffer_backward (in, in->point, end);
in                487 lib/widget/input.c     in->charpoint = 0;
in                488 lib/widget/input.c     in->need_push = TRUE;
in                494 lib/widget/input.c kill_word (WInput *in)
in                496 lib/widget/input.c     int old_point = in->point;
in                499 lib/widget/input.c     forward_word (in);
in                500 lib/widget/input.c     new_point = in->point;
in                501 lib/widget/input.c     in->point = old_point;
in                503 lib/widget/input.c     delete_region (in, old_point, new_point);
in                504 lib/widget/input.c     in->need_push = TRUE;
in                505 lib/widget/input.c     in->charpoint = 0;
in                511 lib/widget/input.c back_kill_word (WInput *in)
in                513 lib/widget/input.c     int old_point = in->point;
in                516 lib/widget/input.c     backward_word (in);
in                517 lib/widget/input.c     new_point = in->point;
in                518 lib/widget/input.c     in->point = old_point;
in                520 lib/widget/input.c     delete_region (in, old_point, new_point);
in                521 lib/widget/input.c     in->need_push = TRUE;
in                527 lib/widget/input.c yank (WInput *in)
in                533 lib/widget/input.c         in->charpoint = 0;
in                535 lib/widget/input.c             insert_char (in, *p);
in                536 lib/widget/input.c         in->charpoint = 0;
in                543 lib/widget/input.c kill_line (WInput *in)
in                547 lib/widget/input.c     chp = str_offset_to_pos (in->buffer->str, in->point);
in                549 lib/widget/input.c     kill_buffer = g_strndup (in->buffer->str + chp, in->buffer->len - chp);
in                550 lib/widget/input.c     g_string_set_size (in->buffer, chp);
in                551 lib/widget/input.c     in->charpoint = 0;
in                557 lib/widget/input.c clear_line (WInput *in)
in                559 lib/widget/input.c     in->need_push = TRUE;
in                560 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in                561 lib/widget/input.c     in->point = 0;
in                562 lib/widget/input.c     in->mark = -1;
in                563 lib/widget/input.c     in->charpoint = 0;
in                569 lib/widget/input.c ins_from_clip (WInput *in)
in                584 lib/widget/input.c             insert_char (in, *pp);
in                593 lib/widget/input.c hist_prev (WInput *in)
in                597 lib/widget/input.c     if (in->history.list == NULL)
in                600 lib/widget/input.c     if (in->need_push)
in                601 lib/widget/input.c         input_push_history (in);
in                603 lib/widget/input.c     prev = g_list_previous (in->history.current);
in                606 lib/widget/input.c         input_assign_text (in, (char *) prev->data);
in                607 lib/widget/input.c         in->history.current = prev;
in                608 lib/widget/input.c         in->history.changed = TRUE;
in                609 lib/widget/input.c         in->need_push = FALSE;
in                616 lib/widget/input.c hist_next (WInput *in)
in                620 lib/widget/input.c     if (in->need_push)
in                622 lib/widget/input.c         input_push_history (in);
in                623 lib/widget/input.c         input_assign_text (in, "");
in                627 lib/widget/input.c     if (in->history.list == NULL)
in                630 lib/widget/input.c     next = g_list_next (in->history.current);
in                633 lib/widget/input.c         input_assign_text (in, "");
in                634 lib/widget/input.c         in->history.current = in->history.list;
in                638 lib/widget/input.c         input_assign_text (in, (char *) next->data);
in                639 lib/widget/input.c         in->history.current = next;
in                640 lib/widget/input.c         in->history.changed = TRUE;
in                641 lib/widget/input.c         in->need_push = FALSE;
in                648 lib/widget/input.c port_region_marked_for_delete (WInput *in)
in                650 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in                651 lib/widget/input.c     in->point = 0;
in                652 lib/widget/input.c     in->first = FALSE;
in                653 lib/widget/input.c     in->charpoint = 0;
in                659 lib/widget/input.c input_execute_cmd (WInput *in, long command)
in                672 lib/widget/input.c         if (in->mark < 0)
in                674 lib/widget/input.c             input_mark_cmd (in, FALSE);  // clear
in                675 lib/widget/input.c             input_mark_cmd (in, TRUE);   // marking on
in                682 lib/widget/input.c         if (in->mark >= 0)
in                683 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                693 lib/widget/input.c         beginning_of_line (in);
in                697 lib/widget/input.c         end_of_line (in);
in                701 lib/widget/input.c         backward_char (in);
in                705 lib/widget/input.c         backward_word (in);
in                709 lib/widget/input.c         forward_char (in);
in                713 lib/widget/input.c         forward_word (in);
in                719 lib/widget/input.c         if (input_eval_marks (in, &m1, &m2))
in                720 lib/widget/input.c             delete_region (in, m1, m2);
in                722 lib/widget/input.c             backward_delete (in);
in                726 lib/widget/input.c         if (in->first)
in                727 lib/widget/input.c             port_region_marked_for_delete (in);
in                732 lib/widget/input.c             if (input_eval_marks (in, &m1, &m2))
in                733 lib/widget/input.c                 delete_region (in, m1, m2);
in                735 lib/widget/input.c                 delete_char (in);
in                739 lib/widget/input.c         kill_word (in);
in                742 lib/widget/input.c         back_kill_word (in);
in                745 lib/widget/input.c         input_mark_cmd (in, TRUE);
in                748 lib/widget/input.c         delete_region (in, in->point, MAX (in->mark, 0));
in                751 lib/widget/input.c         kill_line (in);
in                754 lib/widget/input.c         clear_line (in);
in                757 lib/widget/input.c         copy_region (in, MAX (in->mark, 0), in->point);
in                763 lib/widget/input.c         m = MAX (in->mark, 0);
in                764 lib/widget/input.c         copy_region (in, m, in->point);
in                765 lib/widget/input.c         delete_region (in, in->point, m);
in                769 lib/widget/input.c         yank (in);
in                772 lib/widget/input.c         ins_from_clip (in);
in                775 lib/widget/input.c         hist_prev (in);
in                778 lib/widget/input.c         hist_next (in);
in                781 lib/widget/input.c         do_show_hist (in);
in                784 lib/widget/input.c         input_complete (in);
in                801 lib/widget/input.c         in->mark = -1;
in                815 lib/widget/input.c     WInput *in = INPUT (init_data);
in                821 lib/widget/input.c     in->history.list = mc_config_history_load (ev->cfg, in->history.name);
in                822 lib/widget/input.c     in->history.current = in->history.list;
in                824 lib/widget/input.c     if (in->init_from_history)
in                828 lib/widget/input.c         if (in->history.list != NULL && in->history.list->data != NULL)
in                829 lib/widget/input.c             def_text = (const char *) in->history.list->data;
in                831 lib/widget/input.c         input_assign_text (in, def_text);
in                844 lib/widget/input.c     WInput *in = INPUT (init_data);
in                849 lib/widget/input.c     if (!in->is_password && (DIALOG (WIDGET (in)->owner)->ret_value != B_CANCEL))
in                850 lib/widget/input.c         input_push_history (in);
in                853 lib/widget/input.c     if (in->history.changed)
in                857 lib/widget/input.c         mc_config_history_save (ev->cfg, in->history.name, in->history.list);
in                860 lib/widget/input.c     in->history.changed = FALSE;
in                868 lib/widget/input.c input_destroy (WInput *in)
in                870 lib/widget/input.c     input_complete_free (in);
in                873 lib/widget/input.c     if (in->history.list != NULL)
in                876 lib/widget/input.c         in->history.list = g_list_first (in->history.list);
in                877 lib/widget/input.c         g_list_free_full (in->history.list, g_free);
in                879 lib/widget/input.c     g_free (in->history.name);
in                880 lib/widget/input.c     g_string_free (in->buffer, TRUE);
in                890 lib/widget/input.c input_screen_to_point (const WInput *in, int x)
in                892 lib/widget/input.c     x += in->term_first_shown;
in                897 lib/widget/input.c     if (x < str_term_width1 (in->buffer->str))
in                898 lib/widget/input.c         return str_column_to_pos (in->buffer->str, x);
in                900 lib/widget/input.c     return str_length (in->buffer->str);
in                910 lib/widget/input.c     WInput *in = INPUT (w);
in                917 lib/widget/input.c         if (event->x >= w->rect.cols - HISTORY_BUTTON_WIDTH && should_show_history_button (in))
in                918 lib/widget/input.c             do_show_hist (in);
in                921 lib/widget/input.c             in->first = FALSE;
in                922 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                923 lib/widget/input.c             input_set_point (in, input_screen_to_point (in, event->x));
in                925 lib/widget/input.c             prev_point = in->point;
in                931 lib/widget/input.c         if (in->mark < 0)
in                932 lib/widget/input.c             in->mark = prev_point;
in                934 lib/widget/input.c         input_set_point (in, input_screen_to_point (in, event->x));
in                939 lib/widget/input.c         if (in->mark == in->point)
in                940 lib/widget/input.c             input_mark_cmd (in, FALSE);
in                964 lib/widget/input.c     WInput *in;
in                967 lib/widget/input.c     in = g_new (WInput, 1);
in                968 lib/widget/input.c     w = WIDGET (in);
in                973 lib/widget/input.c     in->color = colors;
in                974 lib/widget/input.c     in->first = TRUE;
in                975 lib/widget/input.c     in->mark = -1;
in                976 lib/widget/input.c     in->term_first_shown = 0;
in                977 lib/widget/input.c     in->disable_update = 0;
in                978 lib/widget/input.c     in->is_password = FALSE;
in                979 lib/widget/input.c     in->strip_password = FALSE;
in                982 lib/widget/input.c     in->buffer = g_string_sized_new (width);
in                985 lib/widget/input.c     in->completions = NULL;
in                986 lib/widget/input.c     in->completion_flags = completion_flags;
in                988 lib/widget/input.c     in->init_from_history = (def_text == INPUT_LAST_TEXT);
in                990 lib/widget/input.c     if (in->init_from_history || def_text == NULL)
in                993 lib/widget/input.c     input_assign_text (in, def_text);
in                996 lib/widget/input.c     in->history.list = NULL;
in                997 lib/widget/input.c     in->history.current = NULL;
in                998 lib/widget/input.c     in->history.changed = FALSE;
in                999 lib/widget/input.c     in->history.name = NULL;
in               1001 lib/widget/input.c         in->history.name = g_strdup (histname);
in               1004 lib/widget/input.c     in->label = NULL;
in               1006 lib/widget/input.c     return in;
in               1014 lib/widget/input.c     WInput *in = INPUT (w);
in               1025 lib/widget/input.c         if (in->label != NULL)
in               1026 lib/widget/input.c             widget_set_state (WIDGET (in->label), WST_DISABLED, widget_get_state (w, WST_DISABLED));
in               1033 lib/widget/input.c             v = input_handle_char (in, ascii_alpha_to_cntrl (tty_getch ()));
in               1047 lib/widget/input.c             v = input_handle_char (in, '\n');
in               1052 lib/widget/input.c         return input_handle_char (in, parm);
in               1055 lib/widget/input.c         return input_execute_cmd (in, parm);
in               1058 lib/widget/input.c         input_update (in, FALSE);
in               1063 lib/widget/input.c         if (in->label != NULL)
in               1064 lib/widget/input.c             widget_set_state (WIDGET (in->label), WST_DISABLED, msg == MSG_DISABLE);
in               1068 lib/widget/input.c         widget_gotoyx (in, 0, str_term_width2 (in->buffer->str, in->point) - in->term_first_shown);
in               1076 lib/widget/input.c         input_destroy (in);
in               1087 lib/widget/input.c input_handle_char (WInput *in, int key)
in               1094 lib/widget/input.c         input_complete_free (in);
in               1095 lib/widget/input.c         v = insert_char (in, key);
in               1096 lib/widget/input.c         input_update (in, TRUE);
in               1101 lib/widget/input.c     command = widget_lookup_key (WIDGET (in), key);
in               1106 lib/widget/input.c         if (in->first)
in               1107 lib/widget/input.c             port_region_marked_for_delete (in);
in               1108 lib/widget/input.c         input_complete_free (in);
in               1109 lib/widget/input.c         v = insert_char (in, key);
in               1110 lib/widget/input.c         input_update (in, TRUE);
in               1117 lib/widget/input.c             input_complete_free (in);
in               1118 lib/widget/input.c         input_execute_cmd (in, command);
in               1122 lib/widget/input.c         keep_first = in->first && (command == CK_History || command == CK_Complete);
in               1123 lib/widget/input.c         input_update (in, !keep_first);
in               1132 lib/widget/input.c input_assign_text (WInput *in, const char *text)
in               1137 lib/widget/input.c     input_complete_free (in);
in               1138 lib/widget/input.c     in->mark = -1;
in               1139 lib/widget/input.c     in->need_push = TRUE;
in               1140 lib/widget/input.c     in->charpoint = 0;
in               1141 lib/widget/input.c     g_string_assign (in->buffer, text);
in               1142 lib/widget/input.c     in->point = str_length (in->buffer->str);
in               1143 lib/widget/input.c     input_update (in, TRUE);
in               1150 lib/widget/input.c input_insert (WInput *in, const char *text, gboolean insert_extra_space)
in               1152 lib/widget/input.c     input_disable_update (in);
in               1154 lib/widget/input.c         input_handle_char (in, (unsigned char) *text++);  // unsigned extension char->int
in               1156 lib/widget/input.c         input_handle_char (in, ' ');
in               1157 lib/widget/input.c     input_enable_update (in);
in               1158 lib/widget/input.c     input_update (in, TRUE);
in               1164 lib/widget/input.c input_set_point (WInput *in, int pos)
in               1168 lib/widget/input.c     max_pos = str_length (in->buffer->str);
in               1170 lib/widget/input.c     if (pos != in->point)
in               1171 lib/widget/input.c         input_complete_free (in);
in               1172 lib/widget/input.c     in->point = pos;
in               1173 lib/widget/input.c     in->charpoint = 0;
in               1174 lib/widget/input.c     input_update (in, TRUE);
in               1180 lib/widget/input.c input_update (WInput *in, gboolean clear_first)
in               1182 lib/widget/input.c     Widget *wi = WIDGET (in);
in               1189 lib/widget/input.c     if (in->disable_update != 0)
in               1197 lib/widget/input.c         in->first = FALSE;
in               1199 lib/widget/input.c     if (should_show_history_button (in))
in               1202 lib/widget/input.c     buf_len = str_length (in->buffer->str);
in               1205 lib/widget/input.c     in->mark = MIN (in->mark, buf_len);
in               1207 lib/widget/input.c     pw = str_term_width2 (in->buffer->str, in->point);
in               1210 lib/widget/input.c     if ((pw < in->term_first_shown) || (pw >= in->term_first_shown + w->cols - has_history))
in               1212 lib/widget/input.c         in->term_first_shown = pw - (w->cols / 3);
in               1213 lib/widget/input.c         if (in->term_first_shown < 0)
in               1214 lib/widget/input.c             in->term_first_shown = 0;
in               1218 lib/widget/input.c         draw_history_button (in);
in               1222 lib/widget/input.c     else if (in->first)
in               1223 lib/widget/input.c         tty_setcolor (in->color[INPUT_COLOR_UNCHANGED]);
in               1225 lib/widget/input.c         tty_setcolor (in->color[INPUT_COLOR_MAIN]);
in               1227 lib/widget/input.c     widget_gotoyx (in, 0, 0);
in               1229 lib/widget/input.c     if (!in->is_password)
in               1231 lib/widget/input.c         if (in->mark < 0)
in               1233 lib/widget/input.c                 str_term_substring (in->buffer->str, in->term_first_shown, w->cols - has_history));
in               1238 lib/widget/input.c             if (input_eval_marks (in, &m1, &m2))
in               1240 lib/widget/input.c                 tty_setcolor (in->color[INPUT_COLOR_MAIN]);
in               1241 lib/widget/input.c                 cp = str_term_substring (in->buffer->str, in->term_first_shown,
in               1244 lib/widget/input.c                 tty_setcolor (in->color[INPUT_COLOR_MARK]);
in               1245 lib/widget/input.c                 if (m1 < in->term_first_shown)
in               1247 lib/widget/input.c                     widget_gotoyx (in, 0, 0);
in               1248 lib/widget/input.c                     m1 = in->term_first_shown;
in               1255 lib/widget/input.c                     widget_gotoyx (in, 0, m1 - in->term_first_shown);
in               1256 lib/widget/input.c                     buf_width = str_term_width2 (in->buffer->str, m1);
in               1258 lib/widget/input.c                         MIN (m2 - m1, (w->cols - has_history) - (buf_width - in->term_first_shown));
in               1261 lib/widget/input.c                 tty_print_string (str_term_substring (in->buffer->str, m1, m2));
in               1269 lib/widget/input.c         cp = str_term_substring (in->buffer->str, in->term_first_shown, w->cols - has_history);
in               1270 lib/widget/input.c         tty_setcolor (in->color[INPUT_COLOR_MAIN]);
in               1273 lib/widget/input.c             if (i < (buf_len - in->term_first_shown) && cp[0] != '\0')
in               1286 lib/widget/input.c input_enable_update (WInput *in)
in               1288 lib/widget/input.c     in->disable_update--;
in               1289 lib/widget/input.c     input_update (in, FALSE);
in               1295 lib/widget/input.c input_disable_update (WInput *in)
in               1297 lib/widget/input.c     in->disable_update++;
in               1308 lib/widget/input.c input_clean (WInput *in)
in               1310 lib/widget/input.c     input_push_history (in);
in               1311 lib/widget/input.c     in->need_push = TRUE;
in               1312 lib/widget/input.c     g_string_set_size (in->buffer, 0);
in               1313 lib/widget/input.c     in->point = 0;
in               1314 lib/widget/input.c     in->charpoint = 0;
in               1315 lib/widget/input.c     in->mark = -1;
in               1316 lib/widget/input.c     input_complete_free (in);
in               1317 lib/widget/input.c     input_update (in, FALSE);
in                 90 lib/widget/input.h cb_ret_t input_handle_char (WInput *in, int key);
in                 91 lib/widget/input.h void input_assign_text (WInput *in, const char *text);
in                 92 lib/widget/input.h void input_insert (WInput *in, const char *text, gboolean insert_extra_space);
in                 93 lib/widget/input.h void input_set_point (WInput *in, int pos);
in                 94 lib/widget/input.h void input_update (WInput *in, gboolean clear_first);
in                 95 lib/widget/input.h void input_enable_update (WInput *in);
in                 96 lib/widget/input.h void input_disable_update (WInput *in);
in                 97 lib/widget/input.h void input_clean (WInput *in);
in                100 lib/widget/input.h void input_complete (WInput *in);
in                101 lib/widget/input.h void input_complete_free (WInput *in);
in                115 lib/widget/input.h input_get_text (const WInput *in)
in                117 lib/widget/input.h     return g_strndup (in->buffer->str, in->buffer->len);
in                130 lib/widget/input.h input_get_ctext (const WInput *in)
in                132 lib/widget/input.h     return in->buffer->str;
in                145 lib/widget/input.h input_is_empty (const WInput *in)
in                147 lib/widget/input.h     return (in->buffer->len == 0);
in                 92 lib/widget/input_complete.c void complete_engine_fill_completions (WInput *in);
in                935 lib/widget/input_complete.c insert_text (WInput *in, const char *text, ssize_t size)
in                942 lib/widget/input_complete.c     buff_len = str_length (in->buffer->str);
in                955 lib/widget/input_complete.c         tail_len = in->buffer->len - end;
in                961 lib/widget/input_complete.c             tail = g_strndup (in->buffer->str + end, tail_len);
in                964 lib/widget/input_complete.c             if (in->buffer->len < hole_end)
in                965 lib/widget/input_complete.c                 g_string_set_size (in->buffer, hole_end + tail_len);
in                967 lib/widget/input_complete.c             g_string_overwrite_len (in->buffer, hole_end, tail, tail_len);
in                973 lib/widget/input_complete.c     g_string_overwrite_len (in->buffer, start, text, size);
in                975 lib/widget/input_complete.c     in->point += str_length (in->buffer->str) - buff_len;
in                976 lib/widget/input_complete.c     input_update (in, TRUE);
in               1165 lib/widget/input_complete.c complete_engine (WInput *in, int what_to_do)
in               1167 lib/widget/input_complete.c     if (in->completions != NULL && str_offset_to_pos (in->buffer->str, in->point) != end)
in               1168 lib/widget/input_complete.c         input_complete_free (in);
in               1170 lib/widget/input_complete.c     if (in->completions == NULL)
in               1171 lib/widget/input_complete.c         complete_engine_fill_completions (in);
in               1173 lib/widget/input_complete.c     if (in->completions == NULL)
in               1178 lib/widget/input_complete.c             || ((what_to_do & DO_QUERY) != 0 && in->completions->len == 1))
in               1182 lib/widget/input_complete.c             lc_complete = g_ptr_array_index (in->completions, 0);
in               1183 lib/widget/input_complete.c             if (!insert_text (in, lc_complete, -1) || in->completions->len > 1)
in               1186 lib/widget/input_complete.c                 input_complete_free (in);
in               1189 lib/widget/input_complete.c         if ((what_to_do & DO_QUERY) != 0 && in->completions != NULL && in->completions->len > 1)
in               1201 lib/widget/input_complete.c             for (k = 1; k < in->completions->len; k++)
in               1203 lib/widget/input_complete.c                 q = g_ptr_array_index (in->completions, k);
in               1208 lib/widget/input_complete.c             count = in->completions->len - 1;
in               1209 lib/widget/input_complete.c             start_x = WIDGET (in)->rect.x;
in               1210 lib/widget/input_complete.c             start_y = WIDGET (in)->rect.y;
in               1226 lib/widget/input_complete.c             x = start - in->term_first_shown - 2 + start_x;
in               1235 lib/widget/input_complete.c             input = in;
in               1243 lib/widget/input_complete.c             for (k = 1; k < in->completions->len; k++)
in               1245 lib/widget/input_complete.c                 q = g_ptr_array_index (in->completions, k);
in               1255 lib/widget/input_complete.c                     insert_text (in, q, -1);
in               1258 lib/widget/input_complete.c                 input_complete_free (in);
in               1374 lib/widget/input_complete.c complete_engine_fill_completions (WInput *in)
in               1379 lib/widget/input_complete.c     word_separators = (in->completion_flags & INPUT_COMPLETE_SHELL_ESC) ? " \t;|<>" : "\t;|<>";
in               1381 lib/widget/input_complete.c     end = str_offset_to_pos (in->buffer->str, in->point);
in               1383 lib/widget/input_complete.c     s = in->buffer->str;
in               1384 lib/widget/input_complete.c     if (in->point != 0)
in               1389 lib/widget/input_complete.c         for (i = in->point - 1; i > 0; i--)
in               1393 lib/widget/input_complete.c     for (; s >= in->buffer->str; str_prev_char (&s))
in               1395 lib/widget/input_complete.c         start = s - in->buffer->str;
in               1396 lib/widget/input_complete.c         if (strchr (word_separators, *s) != NULL && !str_is_char_escaped (in->buffer->str, s))
in               1403 lib/widget/input_complete.c         start = s - in->buffer->str;
in               1406 lib/widget/input_complete.c     in->completions = try_complete (in->buffer->str, &start, &end, in->completion_flags);
in               1413 lib/widget/input_complete.c input_complete (WInput *in)
in               1417 lib/widget/input_complete.c     if (!str_is_valid_string (in->buffer->str))
in               1420 lib/widget/input_complete.c     if (in->completions != NULL)
in               1430 lib/widget/input_complete.c     while (complete_engine (in, engine_flags))
in               1437 lib/widget/input_complete.c input_complete_free (WInput *in)
in               1439 lib/widget/input_complete.c     if (in->completions != NULL)
in               1441 lib/widget/input_complete.c         g_ptr_array_free (in->completions, TRUE);
in               1442 lib/widget/input_complete.c         in->completions = NULL;
in                 67 lib/widget/quick.c     WInput *in;
in                 69 lib/widget/quick.c     in = input_new (y, x, input_colors, 8, qw->u.input.text, qw->u.input.histname,
in                 72 lib/widget/quick.c     in->is_password = qw->u.input.is_passwd;
in                 73 lib/widget/quick.c     in->strip_password = qw->u.input.strip_passwd;
in                 75 lib/widget/quick.c     return in;
in                 84 lib/widget/quick.c     quick_widget_item_t in, label;
in                100 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (++(*y), x, quick_widget));
in                101 lib/widget/quick.c         in.quick_widget = quick_widget;
in                102 lib/widget/quick.c         g_array_append_val (widgets, in);
in                104 lib/widget/quick.c         *width = MAX (label.widget->rect.cols, in.widget->rect.cols);
in                111 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x + label.widget->rect.cols + 1, quick_widget));
in                112 lib/widget/quick.c         in.quick_widget = quick_widget;
in                113 lib/widget/quick.c         g_array_append_val (widgets, in);
in                115 lib/widget/quick.c         *width = label.widget->rect.cols + in.widget->rect.cols + 1;
in                119 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x, quick_widget));
in                120 lib/widget/quick.c         in.quick_widget = quick_widget;
in                121 lib/widget/quick.c         g_array_append_val (widgets, in);
in                124 lib/widget/quick.c             WIDGET (label_new (*y, x + in.widget->rect.cols + 1, quick_widget->u.input.label_text));
in                127 lib/widget/quick.c         *width = label.widget->rect.cols + in.widget->rect.cols + 1;
in                131 lib/widget/quick.c         in.widget = WIDGET (quick_create_input (*y, x, quick_widget));
in                132 lib/widget/quick.c         in.quick_widget = quick_widget;
in                133 lib/widget/quick.c         g_array_append_val (widgets, in);
in                139 lib/widget/quick.c         *width = MAX (label.widget->rect.cols, in.widget->rect.cols);
in                147 lib/widget/quick.c     INPUT (in.widget)->label = LABEL (label.widget);
in                149 lib/widget/quick.c     label.quick_widget->u.label.input = in.quick_widget;
in                150 lib/widget/quick.c     in.quick_widget->u.input.label = label.quick_widget;
in                326 src/filemanager/boxes.c             WInput *in;
in                328 src/filemanager/boxes.c             in = INPUT (widget_find_by_id (w, mini_user_format_id));
in                332 src/filemanager/boxes.c                 widget_disable (WIDGET (in), FALSE);
in                333 src/filemanager/boxes.c                 input_assign_text (in, status_format[3]);
in                340 src/filemanager/boxes.c                 widget_disable (WIDGET (in), TRUE);
in                341 src/filemanager/boxes.c                 input_assign_text (in, status_format[r->sel]);
in                240 src/filemanager/command.c command_insert (WInput *in, const char *text, gboolean insert_extra_space)
in                247 src/filemanager/command.c         input_insert (in, quoted_text, insert_extra_space);
in                 23 src/filemanager/command.h void command_insert (WInput *in, const char *text, gboolean insert_extra_space);
in                 35 tests/lib/widget/complete_engine.c void complete_engine_fill_completions (WInput *in);