parent
8ea881a097
commit
8d56311314
18
ui.c
18
ui.c
|
@ -689,7 +689,7 @@ static void windowList(const struct Window *window) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void inputAdd(struct Style *style, const char *str) {
|
static void inputAdd(struct Style reset, struct Style *style, const char *str) {
|
||||||
while (*str) {
|
while (*str) {
|
||||||
const char *code = str;
|
const char *code = str;
|
||||||
size_t len = styleParse(style, &str);
|
size_t len = styleParse(style, &str);
|
||||||
|
@ -705,6 +705,7 @@ static void inputAdd(struct Style *style, const char *str) {
|
||||||
}
|
}
|
||||||
if (str - code > 1) waddnstr(input, &code[1], str - &code[1]);
|
if (str - code > 1) waddnstr(input, &code[1], str - &code[1]);
|
||||||
if (str[0] == '\n') {
|
if (str[0] == '\n') {
|
||||||
|
*style = reset;
|
||||||
str++;
|
str++;
|
||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
|
@ -716,10 +717,13 @@ static void inputAdd(struct Style *style, const char *str) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *inputStop(struct Style *style, const char *str, char *stop) {
|
static char *inputStop(
|
||||||
|
struct Style reset, struct Style *style,
|
||||||
|
const char *str, char *stop
|
||||||
|
) {
|
||||||
char ch = *stop;
|
char ch = *stop;
|
||||||
*stop = '\0';
|
*stop = '\0';
|
||||||
inputAdd(style, str);
|
inputAdd(reset, style, str);
|
||||||
*stop = ch;
|
*stop = ch;
|
||||||
return stop;
|
return stop;
|
||||||
}
|
}
|
||||||
|
@ -777,18 +781,18 @@ static void inputUpdate(void) {
|
||||||
const char *ptr = skip;
|
const char *ptr = skip;
|
||||||
struct Style style = styleInput;
|
struct Style style = styleInput;
|
||||||
if (split && split < pos) {
|
if (split && split < pos) {
|
||||||
ptr = inputStop(&style, ptr, &buf[split]);
|
ptr = inputStop(styleInput, &style, ptr, &buf[split]);
|
||||||
style = styleInput;
|
style = styleInput;
|
||||||
style.bg = Red;
|
style.bg = Red;
|
||||||
}
|
}
|
||||||
ptr = inputStop(&style, ptr, &buf[pos]);
|
ptr = inputStop(styleInput, &style, ptr, &buf[pos]);
|
||||||
getyx(input, y, x);
|
getyx(input, y, x);
|
||||||
if (split && split >= pos) {
|
if (split && split >= pos) {
|
||||||
ptr = inputStop(&style, ptr, &buf[split]);
|
ptr = inputStop(styleInput, &style, ptr, &buf[split]);
|
||||||
style = styleInput;
|
style = styleInput;
|
||||||
style.bg = Red;
|
style.bg = Red;
|
||||||
}
|
}
|
||||||
inputAdd(&style, ptr);
|
inputAdd(styleInput, &style, ptr);
|
||||||
wclrtoeol(input);
|
wclrtoeol(input);
|
||||||
wmove(input, y, x);
|
wmove(input, y, x);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue