mirror of
https://github.com/tmux/tmux.git
synced 2026-10-12 05:34:24 +00:00
Replace two-value prompt_mode enum with a flag.
This commit is contained in:
17
status.c
17
status.c
@@ -726,7 +726,6 @@ status_prompt_set(struct client *c, struct cmd_find_state *fs,
|
|||||||
|
|
||||||
c->prompt_flags = flags;
|
c->prompt_flags = flags;
|
||||||
c->prompt_type = prompt_type;
|
c->prompt_type = prompt_type;
|
||||||
c->prompt_mode = PROMPT_ENTRY;
|
|
||||||
|
|
||||||
if ((~flags & PROMPT_INCREMENTAL) && (~flags & PROMPT_NOFREEZE))
|
if ((~flags & PROMPT_INCREMENTAL) && (~flags & PROMPT_NOFREEZE))
|
||||||
c->tty.flags |= TTY_FREEZE;
|
c->tty.flags |= TTY_FREEZE;
|
||||||
@@ -882,7 +881,7 @@ status_prompt_redraw(struct client *c)
|
|||||||
|
|
||||||
n = options_get_number(s->options, "prompt-cursor-colour");
|
n = options_get_number(s->options, "prompt-cursor-colour");
|
||||||
sl->active->default_ccolour = n;
|
sl->active->default_ccolour = n;
|
||||||
if (c->prompt_mode == PROMPT_COMMAND)
|
if (c->prompt_flags & PROMPT_COMMANDMODE)
|
||||||
n = options_get_number(oo, "prompt-command-cursor-style");
|
n = options_get_number(oo, "prompt-command-cursor-style");
|
||||||
else
|
else
|
||||||
n = options_get_number(oo, "prompt-cursor-style");
|
n = options_get_number(oo, "prompt-cursor-style");
|
||||||
@@ -893,7 +892,7 @@ status_prompt_redraw(struct client *c)
|
|||||||
if (promptline > lines - 1)
|
if (promptline > lines - 1)
|
||||||
promptline = lines - 1;
|
promptline = lines - 1;
|
||||||
|
|
||||||
if (c->prompt_mode == PROMPT_COMMAND)
|
if (c->prompt_flags & PROMPT_COMMANDMODE)
|
||||||
style_apply(&gc, oo, "message-command-style", NULL);
|
style_apply(&gc, oo, "message-command-style", NULL);
|
||||||
else
|
else
|
||||||
style_apply(&gc, oo, "message-style", NULL);
|
style_apply(&gc, oo, "message-style", NULL);
|
||||||
@@ -911,7 +910,7 @@ status_prompt_redraw(struct client *c)
|
|||||||
*/
|
*/
|
||||||
format_add(ft, "message", "%s", prompt);
|
format_add(ft, "message", "%s", prompt);
|
||||||
format_add(ft, "command_prompt", "%d",
|
format_add(ft, "command_prompt", "%d",
|
||||||
c->prompt_mode == PROMPT_COMMAND);
|
!!(c->prompt_flags & PROMPT_COMMANDMODE));
|
||||||
msgfmt = options_get_string(oo, "message-format");
|
msgfmt = options_get_string(oo, "message-format");
|
||||||
expanded = format_expand_time(ft, msgfmt);
|
expanded = format_expand_time(ft, msgfmt);
|
||||||
free(prompt);
|
free(prompt);
|
||||||
@@ -1040,7 +1039,7 @@ status_prompt_keypad_key(key_code key)
|
|||||||
static int
|
static int
|
||||||
status_prompt_translate_key(struct client *c, key_code key, key_code *new_key)
|
status_prompt_translate_key(struct client *c, key_code key, key_code *new_key)
|
||||||
{
|
{
|
||||||
if (c->prompt_mode == PROMPT_ENTRY) {
|
if (~c->prompt_flags & PROMPT_COMMANDMODE) {
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case 'a'|KEYC_CTRL:
|
case 'a'|KEYC_CTRL:
|
||||||
case 'c'|KEYC_CTRL:
|
case 'c'|KEYC_CTRL:
|
||||||
@@ -1072,7 +1071,7 @@ status_prompt_translate_key(struct client *c, key_code key, key_code *new_key)
|
|||||||
return (1);
|
return (1);
|
||||||
case '\033': /* Escape */
|
case '\033': /* Escape */
|
||||||
case '['|KEYC_CTRL:
|
case '['|KEYC_CTRL:
|
||||||
c->prompt_mode = PROMPT_COMMAND;
|
c->prompt_flags |= PROMPT_COMMANDMODE;
|
||||||
if (c->prompt_index != 0)
|
if (c->prompt_index != 0)
|
||||||
c->prompt_index--;
|
c->prompt_index--;
|
||||||
c->flags |= CLIENT_REDRAWSTATUS;
|
c->flags |= CLIENT_REDRAWSTATUS;
|
||||||
@@ -1091,16 +1090,16 @@ status_prompt_translate_key(struct client *c, key_code key, key_code *new_key)
|
|||||||
case 'C':
|
case 'C':
|
||||||
case 's':
|
case 's':
|
||||||
case 'a':
|
case 'a':
|
||||||
c->prompt_mode = PROMPT_ENTRY;
|
c->prompt_flags &= ~PROMPT_COMMANDMODE;
|
||||||
c->flags |= CLIENT_REDRAWSTATUS;
|
c->flags |= CLIENT_REDRAWSTATUS;
|
||||||
break; /* switch mode and... */
|
break; /* switch mode and... */
|
||||||
case 'S':
|
case 'S':
|
||||||
c->prompt_mode = PROMPT_ENTRY;
|
c->prompt_flags &= ~PROMPT_COMMANDMODE;
|
||||||
c->flags |= CLIENT_REDRAWSTATUS;
|
c->flags |= CLIENT_REDRAWSTATUS;
|
||||||
*new_key = 'u'|KEYC_CTRL;
|
*new_key = 'u'|KEYC_CTRL;
|
||||||
return (1);
|
return (1);
|
||||||
case 'i':
|
case 'i':
|
||||||
c->prompt_mode = PROMPT_ENTRY;
|
c->prompt_flags &= ~PROMPT_COMMANDMODE;
|
||||||
c->flags |= CLIENT_REDRAWSTATUS;
|
c->flags |= CLIENT_REDRAWSTATUS;
|
||||||
return (0);
|
return (0);
|
||||||
case '\033': /* Escape */
|
case '\033': /* Escape */
|
||||||
|
|||||||
5
tmux.h
5
tmux.h
@@ -2163,10 +2163,6 @@ struct client {
|
|||||||
prompt_free_cb prompt_freecb;
|
prompt_free_cb prompt_freecb;
|
||||||
void *prompt_data;
|
void *prompt_data;
|
||||||
u_int prompt_hindex[PROMPT_NTYPES];
|
u_int prompt_hindex[PROMPT_NTYPES];
|
||||||
enum {
|
|
||||||
PROMPT_ENTRY,
|
|
||||||
PROMPT_COMMAND
|
|
||||||
} prompt_mode;
|
|
||||||
struct utf8_data *prompt_saved;
|
struct utf8_data *prompt_saved;
|
||||||
#define PROMPT_SINGLE 0x1
|
#define PROMPT_SINGLE 0x1
|
||||||
#define PROMPT_NUMERIC 0x2
|
#define PROMPT_NUMERIC 0x2
|
||||||
@@ -2177,6 +2173,7 @@ struct client {
|
|||||||
#define PROMPT_QUOTENEXT 0x40
|
#define PROMPT_QUOTENEXT 0x40
|
||||||
#define PROMPT_BSPACE_EXIT 0x80
|
#define PROMPT_BSPACE_EXIT 0x80
|
||||||
#define PROMPT_NOFREEZE 0x100
|
#define PROMPT_NOFREEZE 0x100
|
||||||
|
#define PROMPT_COMMANDMODE 0x200
|
||||||
int prompt_flags;
|
int prompt_flags;
|
||||||
enum prompt_type prompt_type;
|
enum prompt_type prompt_type;
|
||||||
int prompt_cursor;
|
int prompt_cursor;
|
||||||
|
|||||||
Reference in New Issue
Block a user