示例#1
0
enum e_prompt_status	prompt_move_last_word(char *buf)
{
	t_sh		*sh;
	t_list		*cur;

	sh = t_sh_recover();
	if (!SHIFT_LEFT)
		return (TRYING);
	while (sh->c_prompt->cursor_index > 0)
	{
		cur = ft_lstget_at(sh->c_prompt->chars, sh->c_prompt->cursor_index - 1);
		if (cur && ft_isspace(*(char *)cur->content))
			sh->c_prompt->cursor_index--;
		else
			break ;
	}
	while (sh->c_prompt->cursor_index > 0)
	{
		cur = ft_lstget_at(
			sh->c_prompt->chars, sh->c_prompt->cursor_index - 1);
		if (cur && !ft_isspace(*(char *)cur->content))
			sh->c_prompt->cursor_index--;
		else
			break ;
	}
	prompt_display(1);
	return (READING);
}
示例#2
0
void		ft_select_print(t_select *select, t_list *list)
{
	t_list				*cur;
	t_selector			*selector;
	int					y;
	int					x;
	int					index;

	y = 1;
	x = 0;
	index = 0;
	select->cols = 1;
	tputs(tgetstr("cl", NULL), 0, tputs_putchar);
	tputs(tgetstr("ho", NULL), 0, tputs_putchar);
	cur = ft_lstget_at(list, ft_selected_get_page_offset());
	if (ft_select_get_max_words_by_page() == 0)
		ft_putstr_fd("Window size is too small", select->tty);
	while (cur && index < ft_select_get_max_words_by_page())
	{
		selector = cur->content;
		ft_select_print_one(selector, index, &x, &y);
		y++;
		index++;
		cur = cur->next;
	}
	tputs(tgoto(tgetstr("cm", NULL), select->cursor_x, select->cursor_y), 1,
		tputs_putchar);
}
示例#3
0
static char	*symbol_type_sect(uint8_t sect)
{
	t_section	*sec;
	char		*ret;

	sec = (t_section *)(ft_lstget_at(g_env->current_group->sec_list,
		(int)sect - 1)->content);
	if (ft_strcmp(sec->sec_name, SECT_TEXT) == 0)
		ret = ft_strdup("T");
	else if (ft_strcmp(sec->sec_name, SECT_DATA) == 0)
		ret = ft_strdup("D");
	else if (ft_strcmp(sec->sec_name, SECT_BSS) == 0)
		ret = ft_strdup("B");
	else
		ret = ft_strdup("S");
	return (ret);
}