mirror of
https://github.com/troglobit/editline.git
synced 2025-05-06 04:21:24 +08:00
excallback: show off the multibyte stuff
This commit is contained in:
parent
8fd71febc6
commit
df887418a4
@ -89,9 +89,12 @@ Jeff
|
|||||||
void process_line(char *line);
|
void process_line(char *line);
|
||||||
int change_prompt(void);
|
int change_prompt(void);
|
||||||
char *get_prompt(void);
|
char *get_prompt(void);
|
||||||
|
#ifdef EDITLINE_LIBRARY
|
||||||
|
el_status_t change_prompt_wrap(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
int prompt = 1;
|
int prompt = 1;
|
||||||
char prompt_buf[40], line_buf[256];
|
char prompt_buf[64], line_buf[256];
|
||||||
tcflag_t old_lflag;
|
tcflag_t old_lflag;
|
||||||
cc_t old_vtime;
|
cc_t old_vtime;
|
||||||
struct termios term;
|
struct termios term;
|
||||||
@ -119,7 +122,12 @@ main()
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// rl_add_defun("change-prompt", change_prompt, CTRL('t'));
|
#ifdef EDITLINE_LIBRARY
|
||||||
|
el_bind_key(CTRL('t'), change_prompt_wrap);
|
||||||
|
#else
|
||||||
|
rl_add_defun("change-prompt", change_prompt, CTRL('t'));
|
||||||
|
#endif
|
||||||
|
|
||||||
rl_callback_handler_install(get_prompt(), process_line);
|
rl_callback_handler_install(get_prompt(), process_line);
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
@ -164,6 +172,15 @@ process_line(char *line)
|
|||||||
free (line);
|
free (line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef EDITLINE_LIBRARY
|
||||||
|
el_status_t
|
||||||
|
change_prompt_wrap(void)
|
||||||
|
{
|
||||||
|
change_prompt();
|
||||||
|
return CSstay;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int
|
int
|
||||||
change_prompt(void)
|
change_prompt(void)
|
||||||
{
|
{
|
||||||
@ -190,7 +207,8 @@ char *
|
|||||||
get_prompt(void)
|
get_prompt(void)
|
||||||
{
|
{
|
||||||
/* The prompts can even be different lengths! */
|
/* The prompts can even be different lengths! */
|
||||||
sprintf(prompt_buf, "%s",
|
sprintf(prompt_buf, "%s", prompt ?
|
||||||
prompt ? "Hit ctrl-t to toggle prompt> " : "Pretty cool huh?> ");
|
"Hit \1\033[1;31m\2ctrl-t\1\033[0m\2 to toggle prompt> " :
|
||||||
|
"Pretty cool huh 😉?> ");
|
||||||
return prompt_buf;
|
return prompt_buf;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user