comparison src/libvterm/bin/unterm.c @ 13531:9f857e6310b6 v8.0.1639

patch 8.0.1639: libvterm code lags behind master commit https://github.com/vim/vim/commit/b5b49a3b430ea0aaf8cce6b7bc0e444f0211ddfb Author: Bram Moolenaar <Bram@vim.org> Date: Sun Mar 25 16:20:37 2018 +0200 patch 8.0.1639: libvterm code lags behind master Problem: Libvterm code lags behind master. Solution: Sync to head, solve merge problems.
author Christian Brabandt <cb@256bit.org>
date Sun, 25 Mar 2018 16:30:06 +0200
parents c76b672df584
children 2449b6ce1456
comparison
equal deleted inserted replaced
13530:28031e9f0da4 13531:9f857e6310b6
93 sgr[sgri++] = 30 + index; 93 sgr[sgri++] = 30 + index;
94 else if(index < 16) 94 else if(index < 16)
95 sgr[sgri++] = 90 + (index - 8); 95 sgr[sgri++] = 90 + (index - 8);
96 else { 96 else {
97 sgr[sgri++] = 38; 97 sgr[sgri++] = 38;
98 sgr[sgri++] = 5 | (1<<31); 98 sgr[sgri++] = 5 | CSI_ARG_FLAG_MORE;
99 sgr[sgri++] = index | (1<<31); 99 sgr[sgri++] = index | CSI_ARG_FLAG_MORE;
100 } 100 }
101 } 101 }
102 102
103 if(prevcell->bg.red != cell->bg.red || 103 if(prevcell->bg.red != cell->bg.red ||
104 prevcell->bg.green != cell->bg.green || 104 prevcell->bg.green != cell->bg.green ||
110 sgr[sgri++] = 40 + index; 110 sgr[sgri++] = 40 + index;
111 else if(index < 16) 111 else if(index < 16)
112 sgr[sgri++] = 100 + (index - 8); 112 sgr[sgri++] = 100 + (index - 8);
113 else { 113 else {
114 sgr[sgri++] = 48; 114 sgr[sgri++] = 48;
115 sgr[sgri++] = 5 | (1<<31); 115 sgr[sgri++] = 5 | CSI_ARG_FLAG_MORE;
116 sgr[sgri++] = index | (1<<31); 116 sgr[sgri++] = index | CSI_ARG_FLAG_MORE;
117 } 117 }
118 } 118 }
119 119
120 if(!sgri) 120 if(!sgri)
121 break; 121 break;
123 printf("\x1b["); 123 printf("\x1b[");
124 { 124 {
125 int i; 125 int i;
126 for(i = 0; i < sgri; i++) 126 for(i = 0; i < sgri; i++)
127 printf(!i ? "%d" : 127 printf(!i ? "%d" :
128 sgr[i] & (1<<31) ? ":%d" : 128 CSI_ARG_HAS_MORE(sgr[i]) ? ":%d" :
129 ";%d", 129 ";%d",
130 sgr[i] & ~(1<<31)); 130 CSI_ARG(sgr[i]));
131 } 131 }
132 printf("m"); 132 printf("m");
133 } 133 }
134 break; 134 break;
135 } 135 }
281 } 281 }
282 282
283 close(fd); 283 close(fd);
284 284
285 vterm_free(vt); 285 vterm_free(vt);
286
286 return 0; 287 return 0;
287 } 288 }