MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / fxParseJSString

Function fxParseJSString

modules/piu/PC/Code/piuCodeJS.c:411–457  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

409}
410
411void fxParseJSString(PiuCodeParser parser)
412{
413 int32_t c = parser->character;
414 PiuCodeParserAdvance(parser);
415 for (;;) {
416 if (parser->character == 0) {
417 break;
418 }
419 else if (parser->character == 9) {
420 PiuCodeParserTab(parser);
421 }
422 else if ((parser->character == 10) || (parser->character == 13)) {
423 PiuCodeParserReturn(parser);
424 if (c != '`') {
425 PiuCodeParserColorAt(parser, 0, parser->input);
426 break;
427 }
428 }
429 else if (parser->character == c) {
430 PiuCodeParserAdvance(parser);
431 PiuCodeParserColorAt(parser, 0, parser->input);
432 break;
433 }
434 else if (parser->character == '$') {
435 PiuCodeParserAdvance(parser);
436 if ((c == '`') && (parser->character == '{')) {
437 PiuCodeParserAdvance(parser);
438 PiuCodeParserColorAt(parser, 0, parser->input);
439 fxParseJSCode(parser, 1);
440 }
441 }
442 else if (parser->character == '\\') {
443 PiuCodeParserAdvance(parser);
444 if (parser->character == 9) {
445 PiuCodeParserTab(parser);
446 }
447 else if ((parser->character == 10) || (parser->character == 13)) {
448 PiuCodeParserReturn(parser);
449 }
450 else {
451 PiuCodeParserAdvance(parser);
452 }
453 }
454 else
455 PiuCodeParserAdvance(parser);
456 }
457}

Callers 1

fxParseJSCodeFunction · 0.85

Calls 5

PiuCodeParserAdvanceFunction · 0.85
PiuCodeParserTabFunction · 0.85
PiuCodeParserReturnFunction · 0.85
PiuCodeParserColorAtFunction · 0.85
fxParseJSCodeFunction · 0.85

Tested by

no test coverage detected