MCPcopy Create free account
hub / github.com/sql-js/sql.js / processModeInfo

Function processModeInfo

documentation/javascript/application.js:489–530  ·  view source on GitHub ↗
(buffer, lexem, end)

Source from the content-addressed store, hash-verified

487 }
488
489 function processModeInfo(buffer, lexem, end) {
490 var current_mode = modes[modes.length - 1];
491 if (end) {
492 result += processBuffer(current_mode.buffer + buffer, current_mode);
493 return false;
494 }
495
496 var new_mode = subMode(lexem, current_mode);
497 if (new_mode) {
498 result += processBuffer(current_mode.buffer + buffer, current_mode);
499 startNewMode(new_mode, lexem);
500 return new_mode.returnBegin;
501 }
502
503 var end_level = endOfMode(modes.length - 1, lexem);
504 if (end_level) {
505 var markup = current_mode.className?'</span>':'';
506 if (current_mode.returnEnd) {
507 result += processBuffer(current_mode.buffer + buffer, current_mode) + markup;
508 } else if (current_mode.excludeEnd) {
509 result += processBuffer(current_mode.buffer + buffer, current_mode) + markup + escape(lexem);
510 } else {
511 result += processBuffer(current_mode.buffer + buffer + lexem, current_mode) + markup;
512 }
513 while (end_level > 1) {
514 markup = modes[modes.length - 2].className?'</span>':'';
515 result += markup;
516 end_level--;
517 modes.length--;
518 }
519 var last_ended_mode = modes[modes.length - 1];
520 modes.length--;
521 modes[modes.length - 1].buffer = '';
522 if (last_ended_mode.starts) {
523 startNewMode(last_ended_mode.starts, '');
524 }
525 return current_mode.returnEnd;
526 }
527
528 if (isIllegal(lexem, current_mode))
529 throw 'Illegal';
530 }
531
532 var language = languages[language_name];
533 var modes = [language.defaultMode];

Callers 1

highlightFunction · 0.85

Calls 6

processBufferFunction · 0.85
subModeFunction · 0.85
startNewModeFunction · 0.85
endOfModeFunction · 0.85
escapeFunction · 0.85
isIllegalFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…