forked from aniani/vim
patch 8.0.1639: libvterm code lags behind master
Problem: Libvterm code lags behind master. Solution: Sync to head, solve merge problems.
This commit is contained in:
@@ -17,6 +17,12 @@ PUSH "\xC3\x81\xC3\xA9"
|
||||
putglyph 0xc1 1 0,0
|
||||
putglyph 0xe9 1 0,1
|
||||
|
||||
!UTF-8 split writes
|
||||
RESET
|
||||
PUSH "\xC3"
|
||||
PUSH "\x81"
|
||||
putglyph 0xc1 1 0,0
|
||||
|
||||
!UTF-8 wide char
|
||||
# U+FF10 = 0xEF 0xBC 0x90 name: FULLWIDTH DIGIT ZERO
|
||||
RESET
|
||||
|
||||
@@ -130,3 +130,14 @@ PASTE START
|
||||
output "\e[200~"
|
||||
PASTE END
|
||||
output "\e[201~"
|
||||
|
||||
!Focus reporting disabled
|
||||
FOCUS IN
|
||||
FOCUS OUT
|
||||
|
||||
!Focus reporting enabled
|
||||
PUSH "\e[?1004h"
|
||||
FOCUS IN
|
||||
output "\e[I"
|
||||
FOCUS OUT
|
||||
output "\e[O"
|
||||
|
||||
@@ -58,5 +58,5 @@ PUSH "\e[5n"
|
||||
PUSH "\e F"
|
||||
|
||||
!Truncation on attempted buffer overflow
|
||||
PUSH "\e[6n" x 20
|
||||
output "\e[10;10R" x 7
|
||||
PUSH "\e[6n" x 30
|
||||
output "\e[10;10R" x 24
|
||||
|
||||
@@ -233,6 +233,9 @@ static int settermprop(VTermProp prop, VTermValue *val, void *user)
|
||||
case VTERM_VALUETYPE_COLOR:
|
||||
printf("settermprop %d rgb(%d,%d,%d)\n", prop, val->color.red, val->color.green, val->color.blue);
|
||||
return 1;
|
||||
|
||||
case VTERM_N_VALUETYPES:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -316,6 +319,9 @@ static int state_setpenattr(VTermAttr attr, VTermValue *val, void *user)
|
||||
case VTERM_ATTR_BACKGROUND:
|
||||
state_pen.background = val->color;
|
||||
break;
|
||||
|
||||
case VTERM_N_ATTRS:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -651,6 +657,16 @@ int main(int argc, char **argv)
|
||||
goto abort_line;
|
||||
}
|
||||
|
||||
else if(strstartswith(line, "FOCUS ")) {
|
||||
char *linep = line + 6;
|
||||
if(streq(linep, "IN"))
|
||||
vterm_state_focus_in(state);
|
||||
else if(streq(linep, "OUT"))
|
||||
vterm_state_focus_out(state);
|
||||
else
|
||||
goto abort_line;
|
||||
}
|
||||
|
||||
else if(strstartswith(line, "MOUSEMOVE ")) {
|
||||
char *linep = line + 10;
|
||||
int row, col, len;
|
||||
|
||||
Reference in New Issue
Block a user