comparison src/libvterm/src/parser.c @ 13770:2449b6ce1456 v8.0.1757

patch 8.0.1757: unnecessary changes in libvterm commit https://github.com/vim/vim/commit/b691de05f69905fe417f583083d7e3cc16eb865e Author: Bram Moolenaar <Bram@vim.org> Date: Tue Apr 24 18:39:14 2018 +0200 patch 8.0.1757: unnecessary changes in libvterm Problem: Unnecessary changes in libvterm. Solution: Bring back // comments and trailing comma in enums.
author Christian Brabandt <cb@256bit.org>
date Tue, 24 Apr 2018 18:45:07 +0200
parents 5a3146ceb318
children 811a12a78164
comparison
equal deleted inserted replaced
13769:804c3b21ce59 13770:2449b6ce1456
146 #define ENTER_NORMAL_STATE() ENTER_STATE(NORMAL) 146 #define ENTER_NORMAL_STATE() ENTER_STATE(NORMAL)
147 147
148 for( ; pos < len; pos++) { 148 for( ; pos < len; pos++) {
149 unsigned char c = bytes[pos]; 149 unsigned char c = bytes[pos];
150 150
151 if(c == 0x00 || c == 0x7f) { /* NUL, DEL */ 151 if(c == 0x00 || c == 0x7f) { // NUL, DEL
152 if(vt->parser.state >= STRING) { 152 if(vt->parser.state >= STRING) {
153 more_string(vt, string_start, bytes + pos - string_start); 153 more_string(vt, string_start, bytes + pos - string_start);
154 string_start = bytes + pos + 1; 154 string_start = bytes + pos + 1;
155 } 155 }
156 continue; 156 continue;
157 } 157 }
158 if(c == 0x18 || c == 0x1a) { /* CAN, SUB */ 158 if(c == 0x18 || c == 0x1a) { // CAN, SUB
159 ENTER_NORMAL_STATE(); 159 ENTER_NORMAL_STATE();
160 continue; 160 continue;
161 } 161 }
162 else if(c == 0x1b) { /* ESC */ 162 else if(c == 0x1b) { // ESC
163 vt->parser.intermedlen = 0; 163 vt->parser.intermedlen = 0;
164 if(vt->parser.state == STRING) 164 if(vt->parser.state == STRING)
165 vt->parser.state = ESC_IN_STRING; 165 vt->parser.state = ESC_IN_STRING;
166 else 166 else
167 ENTER_STATE(ESC); 167 ENTER_STATE(ESC);
168 continue; 168 continue;
169 } 169 }
170 else if(c == 0x07 && /* BEL, can stand for ST in OSC or DCS state */ 170 else if(c == 0x07 && // BEL, can stand for ST in OSC or DCS state
171 vt->parser.state == STRING) { 171 vt->parser.state == STRING) {
172 /* fallthrough */ 172 // fallthrough
173 } 173 }
174 else if(c < 0x20) { /* other C0 */ 174 else if(c < 0x20) { // other C0
175 if(vt->parser.state >= STRING) 175 if(vt->parser.state >= STRING)
176 more_string(vt, string_start, bytes + pos - string_start); 176 more_string(vt, string_start, bytes + pos - string_start);
177 do_control(vt, c); 177 do_control(vt, c);
178 if(vt->parser.state >= STRING) 178 if(vt->parser.state >= STRING)
179 string_start = bytes + pos + 1; 179 string_start = bytes + pos + 1;
180 continue; 180 continue;
181 } 181 }
182 /* else fallthrough */ 182 // else fallthrough
183 183
184 switch(vt->parser.state) { 184 switch(vt->parser.state) {
185 case ESC_IN_STRING: 185 case ESC_IN_STRING:
186 if(c == 0x5c) { /* ST */ 186 if(c == 0x5c) { // ST
187 vt->parser.state = STRING; 187 vt->parser.state = STRING;
188 done_string(vt, string_start, bytes + pos - string_start - 1); 188 done_string(vt, string_start, bytes + pos - string_start - 1);
189 ENTER_NORMAL_STATE(); 189 ENTER_NORMAL_STATE();
190 break; 190 break;
191 } 191 }
192 vt->parser.state = ESC; 192 vt->parser.state = ESC;
193 /* else fallthrough */ 193 // else fallthrough
194 194
195 case ESC: 195 case ESC:
196 switch(c) { 196 switch(c) {
197 case 0x50: /* DCS */ 197 case 0x50: // DCS
198 start_string(vt, VTERM_PARSER_DCS); 198 start_string(vt, VTERM_PARSER_DCS);
199 ENTER_STRING_STATE(); 199 ENTER_STRING_STATE();
200 break; 200 break;
201 case 0x5b: /* CSI */ 201 case 0x5b: // CSI
202 vt->parser.csi_leaderlen = 0; 202 vt->parser.csi_leaderlen = 0;
203 ENTER_STATE(CSI_LEADER); 203 ENTER_STATE(CSI_LEADER);
204 break; 204 break;
205 case 0x5d: /* OSC */ 205 case 0x5d: // OSC
206 start_string(vt, VTERM_PARSER_OSC); 206 start_string(vt, VTERM_PARSER_OSC);
207 ENTER_STRING_STATE(); 207 ENTER_STRING_STATE();
208 break; 208 break;
209 default: 209 default:
210 if(is_intermed(c)) { 210 if(is_intermed(c)) {
296 break; 296 break;
297 297
298 case NORMAL: 298 case NORMAL:
299 if(c >= 0x80 && c < 0xa0 && !vt->mode.utf8) { 299 if(c >= 0x80 && c < 0xa0 && !vt->mode.utf8) {
300 switch(c) { 300 switch(c) {
301 case 0x90: /* DCS */ 301 case 0x90: // DCS
302 start_string(vt, VTERM_PARSER_DCS); 302 start_string(vt, VTERM_PARSER_DCS);
303 ENTER_STRING_STATE(); 303 ENTER_STRING_STATE();
304 break; 304 break;
305 case 0x9b: /* CSI */ 305 case 0x9b: // CSI
306 ENTER_STATE(CSI_LEADER); 306 ENTER_STATE(CSI_LEADER);
307 break; 307 break;
308 case 0x9d: /* OSC */ 308 case 0x9d: // OSC
309 start_string(vt, VTERM_PARSER_OSC); 309 start_string(vt, VTERM_PARSER_OSC);
310 ENTER_STRING_STATE(); 310 ENTER_STRING_STATE();
311 break; 311 break;
312 default: 312 default:
313 do_control(vt, c); 313 do_control(vt, c);
323 DEBUG_LOG("libvterm: Text callback did not consume any input\n"); 323 DEBUG_LOG("libvterm: Text callback did not consume any input\n");
324 /* force it to make progress */ 324 /* force it to make progress */
325 eaten = 1; 325 eaten = 1;
326 } 326 }
327 327
328 pos += (eaten - 1); /* we'll ++ it again in a moment */ 328 pos += (eaten - 1); // we'll ++ it again in a moment
329 } 329 }
330 break; 330 break;
331 } 331 }
332 } 332 }
333 333