@parcel/codeframe 2.8.3 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/codeframe.js +47 -54
 - package/lib/codeframe.js.map +1 -1
 - package/package.json +3 -4
 
    
        package/lib/codeframe.js
    CHANGED
    
    | 
         @@ -35740,9 +35740,9 @@ $5f04f11630a6945d$exports = ({ onlyFirst: onlyFirst = false  } = {})=>{ 
     | 
|
| 
       35740 
35740 
     | 
    
         
             
            $5e2cf9f740fe0527$exports = (string)=>typeof string === "string" ? string.replace($5f04f11630a6945d$exports(), "") : string;
         
     | 
| 
       35741 
35741 
     | 
    
         | 
| 
       35742 
35742 
     | 
    
         | 
| 
       35743 
     | 
    
         
            -
            var $ 
     | 
| 
      
 35743 
     | 
    
         
            +
            var $55a95b67e18839c0$exports = {};
         
     | 
| 
       35744 
35744 
     | 
    
         
             
            /* eslint-disable yoda */ "use strict";
         
     | 
| 
       35745 
     | 
    
         
            -
            const $ 
     | 
| 
      
 35745 
     | 
    
         
            +
            const $55a95b67e18839c0$var$isFullwidthCodePoint = (codePoint)=>{
         
     | 
| 
       35746 
35746 
     | 
    
         
             
                if (Number.isNaN(codePoint)) return false;
         
     | 
| 
       35747 
35747 
     | 
    
         
             
                // Code points are derived from:
         
     | 
| 
       35748 
35748 
     | 
    
         
             
                // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
         
     | 
| 
         @@ -35764,8 +35764,8 @@ const $e19c725c5553b196$var$isFullwidthCodePoint = (codePoint)=>{ 
     | 
|
| 
       35764 
35764 
     | 
    
         
             
                0x20000 <= codePoint && codePoint <= 0x3FFFD)) return true;
         
     | 
| 
       35765 
35765 
     | 
    
         
             
                return false;
         
     | 
| 
       35766 
35766 
     | 
    
         
             
            };
         
     | 
| 
       35767 
     | 
    
         
            -
            $ 
     | 
| 
       35768 
     | 
    
         
            -
            $ 
     | 
| 
      
 35767 
     | 
    
         
            +
            $55a95b67e18839c0$exports = $55a95b67e18839c0$var$isFullwidthCodePoint;
         
     | 
| 
      
 35768 
     | 
    
         
            +
            $55a95b67e18839c0$exports.default = $55a95b67e18839c0$var$isFullwidthCodePoint;
         
     | 
| 
       35769 
35769 
     | 
    
         | 
| 
       35770 
35770 
     | 
    
         | 
| 
       35771 
35771 
     | 
    
         
             
            var $aaafc2d9fc2c7f45$exports = {};
         
     | 
| 
         @@ -35777,9 +35777,10 @@ $aaafc2d9fc2c7f45$exports = function() { 
     | 
|
| 
       35777 
35777 
     | 
    
         | 
| 
       35778 
35778 
     | 
    
         | 
| 
       35779 
35779 
     | 
    
         
             
            const $ae1b0396e51a6d8c$var$stringWidth = (string)=>{
         
     | 
| 
       35780 
     | 
    
         
            -
                string = string.replace($aaafc2d9fc2c7f45$exports(), "  ");
         
     | 
| 
       35781 
35780 
     | 
    
         
             
                if (typeof string !== "string" || string.length === 0) return 0;
         
     | 
| 
       35782 
35781 
     | 
    
         
             
                string = $5e2cf9f740fe0527$exports(string);
         
     | 
| 
      
 35782 
     | 
    
         
            +
                if (string.length === 0) return 0;
         
     | 
| 
      
 35783 
     | 
    
         
            +
                string = string.replace($aaafc2d9fc2c7f45$exports(), "  ");
         
     | 
| 
       35783 
35784 
     | 
    
         
             
                let width = 0;
         
     | 
| 
       35784 
35785 
     | 
    
         
             
                for(let i = 0; i < string.length; i++){
         
     | 
| 
       35785 
35786 
     | 
    
         
             
                    const code = string.codePointAt(i);
         
     | 
| 
         @@ -35789,7 +35790,7 @@ const $ae1b0396e51a6d8c$var$stringWidth = (string)=>{ 
     | 
|
| 
       35789 
35790 
     | 
    
         
             
                    if (code >= 0x300 && code <= 0x36F) continue;
         
     | 
| 
       35790 
35791 
     | 
    
         
             
                    // Surrogates
         
     | 
| 
       35791 
35792 
     | 
    
         
             
                    if (code > 0xFFFF) i++;
         
     | 
| 
       35792 
     | 
    
         
            -
                    width += $ 
     | 
| 
      
 35793 
     | 
    
         
            +
                    width += $55a95b67e18839c0$exports(code) ? 2 : 1;
         
     | 
| 
       35793 
35794 
     | 
    
         
             
                }
         
     | 
| 
       35794 
35795 
     | 
    
         
             
                return width;
         
     | 
| 
       35795 
35796 
     | 
    
         
             
            };
         
     | 
| 
         @@ -35800,33 +35801,6 @@ $ae1b0396e51a6d8c$exports.default = $ae1b0396e51a6d8c$var$stringWidth; 
     | 
|
| 
       35800 
35801 
     | 
    
         | 
| 
       35801 
35802 
     | 
    
         
             
            var $0ae586f9cf7cb410$exports = {};
         
     | 
| 
       35802 
35803 
     | 
    
         
             
            "use strict";
         
     | 
| 
       35803 
     | 
    
         
            -
            var $0926ce0154f25409$exports = {};
         
     | 
| 
       35804 
     | 
    
         
            -
            /* eslint-disable yoda */ "use strict";
         
     | 
| 
       35805 
     | 
    
         
            -
            const $0926ce0154f25409$var$isFullwidthCodePoint = (codePoint)=>{
         
     | 
| 
       35806 
     | 
    
         
            -
                if (Number.isNaN(codePoint)) return false;
         
     | 
| 
       35807 
     | 
    
         
            -
                // Code points are derived from:
         
     | 
| 
       35808 
     | 
    
         
            -
                // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
         
     | 
| 
       35809 
     | 
    
         
            -
                if (codePoint >= 0x1100 && (codePoint <= 0x115F || // Hangul Jamo
         
     | 
| 
       35810 
     | 
    
         
            -
                codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET
         
     | 
| 
       35811 
     | 
    
         
            -
                codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET
         
     | 
| 
       35812 
     | 
    
         
            -
                // CJK Radicals Supplement .. Enclosed CJK Letters and Months
         
     | 
| 
       35813 
     | 
    
         
            -
                0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
         
     | 
| 
       35814 
     | 
    
         
            -
                0x3250 <= codePoint && codePoint <= 0x4DBF || // CJK Unified Ideographs .. Yi Radicals
         
     | 
| 
       35815 
     | 
    
         
            -
                0x4E00 <= codePoint && codePoint <= 0xA4C6 || // Hangul Jamo Extended-A
         
     | 
| 
       35816 
     | 
    
         
            -
                0xA960 <= codePoint && codePoint <= 0xA97C || // Hangul Syllables
         
     | 
| 
       35817 
     | 
    
         
            -
                0xAC00 <= codePoint && codePoint <= 0xD7A3 || // CJK Compatibility Ideographs
         
     | 
| 
       35818 
     | 
    
         
            -
                0xF900 <= codePoint && codePoint <= 0xFAFF || // Vertical Forms
         
     | 
| 
       35819 
     | 
    
         
            -
                0xFE10 <= codePoint && codePoint <= 0xFE19 || // CJK Compatibility Forms .. Small Form Variants
         
     | 
| 
       35820 
     | 
    
         
            -
                0xFE30 <= codePoint && codePoint <= 0xFE6B || // Halfwidth and Fullwidth Forms
         
     | 
| 
       35821 
     | 
    
         
            -
                0xFF01 <= codePoint && codePoint <= 0xFF60 || 0xFFE0 <= codePoint && codePoint <= 0xFFE6 || // Kana Supplement
         
     | 
| 
       35822 
     | 
    
         
            -
                0x1B000 <= codePoint && codePoint <= 0x1B001 || // Enclosed Ideographic Supplement
         
     | 
| 
       35823 
     | 
    
         
            -
                0x1F200 <= codePoint && codePoint <= 0x1F251 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
         
     | 
| 
       35824 
     | 
    
         
            -
                0x20000 <= codePoint && codePoint <= 0x3FFFD)) return true;
         
     | 
| 
       35825 
     | 
    
         
            -
                return false;
         
     | 
| 
       35826 
     | 
    
         
            -
            };
         
     | 
| 
       35827 
     | 
    
         
            -
            $0926ce0154f25409$exports = $0926ce0154f25409$var$isFullwidthCodePoint;
         
     | 
| 
       35828 
     | 
    
         
            -
            $0926ce0154f25409$exports.default = $0926ce0154f25409$var$isFullwidthCodePoint;
         
     | 
| 
       35829 
     | 
    
         
            -
             
     | 
| 
       35830 
35804 
     | 
    
         | 
| 
       35831 
35805 
     | 
    
         
             
            var $84440f8e6725c936$exports = {};
         
     | 
| 
       35832 
35806 
     | 
    
         
             
            "use strict";
         
     | 
| 
         @@ -35901,7 +35875,7 @@ $0ae586f9cf7cb410$exports = (string, begin, end)=>{ 
     | 
|
| 
       35901 
35875 
     | 
    
         
             
                    if (!isInsideEscape && !leftEscape) visible++;
         
     | 
| 
       35902 
35876 
     | 
    
         
             
                    if (!$84440f8e6725c936$exports({
         
     | 
| 
       35903 
35877 
     | 
    
         
             
                        exact: true
         
     | 
| 
       35904 
     | 
    
         
            -
                    }).test(character) && $ 
     | 
| 
      
 35878 
     | 
    
         
            +
                    }).test(character) && $55a95b67e18839c0$exports(character.codePointAt())) {
         
     | 
| 
       35905 
35879 
     | 
    
         
             
                        visible++;
         
     | 
| 
       35906 
35880 
     | 
    
         
             
                        if (typeof end !== "number") stringEnd++;
         
     | 
| 
       35907 
35881 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -35923,7 +35897,9 @@ const $796233c1fee0ccb8$var$DEFAULT_TERMINAL_WIDTH = 80; 
     | 
|
| 
       35923 
35897 
     | 
    
         
             
            const $796233c1fee0ccb8$var$highlightSyntax = (txt, lang)=>{
         
     | 
| 
       35924 
35898 
     | 
    
         
             
                if (lang) try {
         
     | 
| 
       35925 
35899 
     | 
    
         
             
                    return (0, (/*@__PURE__*/$parcel$interopDefault($9786466eb6148e3d$exports))).highlight(lang, txt).value;
         
     | 
| 
       35926 
     | 
    
         
            -
                } catch (e) { 
     | 
| 
      
 35900 
     | 
    
         
            +
                } catch (e) {
         
     | 
| 
      
 35901 
     | 
    
         
            +
                // fallback for unknown languages...
         
     | 
| 
      
 35902 
     | 
    
         
            +
                }
         
     | 
| 
       35927 
35903 
     | 
    
         
             
                return (0, (/*@__PURE__*/$parcel$interopDefault($9786466eb6148e3d$exports))).highlightAuto(txt).value;
         
     | 
| 
       35928 
35904 
     | 
    
         
             
            };
         
     | 
| 
       35929 
35905 
     | 
    
         
             
            function $796233c1fee0ccb8$export$2e2bcd8739ae039(code, highlights, inputOpts = {}) {
         
     | 
| 
         @@ -35939,18 +35915,21 @@ function $796233c1fee0ccb8$export$2e2bcd8739ae039(code, highlights, inputOpts = 
     | 
|
| 
       35939 
35915 
     | 
    
         
             
                        before: 1,
         
     | 
| 
       35940 
35916 
     | 
    
         
             
                        after: 2
         
     | 
| 
       35941 
35917 
     | 
    
         
             
                    }
         
     | 
| 
       35942 
     | 
    
         
            -
                }; 
     | 
| 
      
 35918 
     | 
    
         
            +
                };
         
     | 
| 
      
 35919 
     | 
    
         
            +
                // Highlights messages and prefixes when colors are enabled
         
     | 
| 
       35943 
35920 
     | 
    
         
             
                const highlighter = (s, bold)=>{
         
     | 
| 
       35944 
35921 
     | 
    
         
             
                    if (opts.useColor) {
         
     | 
| 
       35945 
35922 
     | 
    
         
             
                        let redString = (0, ($parcel$interopDefault($dGKPK$chalk))).red(s);
         
     | 
| 
       35946 
35923 
     | 
    
         
             
                        return bold ? (0, ($parcel$interopDefault($dGKPK$chalk))).bold(redString) : redString;
         
     | 
| 
       35947 
35924 
     | 
    
         
             
                    }
         
     | 
| 
       35948 
35925 
     | 
    
         
             
                    return s;
         
     | 
| 
       35949 
     | 
    
         
            -
                }; 
     | 
| 
      
 35926 
     | 
    
         
            +
                };
         
     | 
| 
      
 35927 
     | 
    
         
            +
                // Prefix lines with the line number
         
     | 
| 
       35950 
35928 
     | 
    
         
             
                const lineNumberPrefixer = (params)=>{
         
     | 
| 
       35951 
35929 
     | 
    
         
             
                    let { lineNumber: lineNumber , lineNumberLength: lineNumberLength , isHighlighted: isHighlighted  } = params;
         
     | 
| 
       35952 
35930 
     | 
    
         
             
                    return `${isHighlighted ? highlighter(">") : " "} ${lineNumber ? lineNumber.padStart(lineNumberLength, " ") : " ".repeat(lineNumberLength)} | `;
         
     | 
| 
       35953 
     | 
    
         
            -
                }; 
     | 
| 
      
 35931 
     | 
    
         
            +
                };
         
     | 
| 
      
 35932 
     | 
    
         
            +
                // Make columns/lines start at 1
         
     | 
| 
       35954 
35933 
     | 
    
         
             
                let originalHighlights = highlights;
         
     | 
| 
       35955 
35934 
     | 
    
         
             
                highlights = highlights.map((h)=>{
         
     | 
| 
       35956 
35935 
     | 
    
         
             
                    return {
         
     | 
| 
         @@ -35964,9 +35943,11 @@ function $796233c1fee0ccb8$export$2e2bcd8739ae039(code, highlights, inputOpts = 
     | 
|
| 
       35964 
35943 
     | 
    
         
             
                        },
         
     | 
| 
       35965 
35944 
     | 
    
         
             
                        message: h.message
         
     | 
| 
       35966 
35945 
     | 
    
         
             
                    };
         
     | 
| 
       35967 
     | 
    
         
            -
                }); 
     | 
| 
      
 35946 
     | 
    
         
            +
                });
         
     | 
| 
      
 35947 
     | 
    
         
            +
                // Find first and last highlight
         
     | 
| 
       35968 
35948 
     | 
    
         
             
                let firstHighlight = highlights.length > 1 ? highlights.sort((a, b)=>a.start.line - b.start.line)[0] : highlights[0];
         
     | 
| 
       35969 
     | 
    
         
            -
                let lastHighlight = highlights.length > 1 ? highlights.sort((a, b)=>b.end.line - a.end.line)[0] : highlights[0]; 
     | 
| 
      
 35949 
     | 
    
         
            +
                let lastHighlight = highlights.length > 1 ? highlights.sort((a, b)=>b.end.line - a.end.line)[0] : highlights[0];
         
     | 
| 
      
 35950 
     | 
    
         
            +
                // Calculate first and last line index of codeframe
         
     | 
| 
       35970 
35951 
     | 
    
         
             
                let startLine = firstHighlight.start.line - opts.padding.before;
         
     | 
| 
       35971 
35952 
     | 
    
         
             
                startLine = startLine < 0 ? 0 : startLine;
         
     | 
| 
       35972 
35953 
     | 
    
         
             
                let endLineIndex = lastHighlight.end.line + opts.padding.after;
         
     | 
| 
         @@ -35978,16 +35959,21 @@ function $796233c1fee0ccb8$export$2e2bcd8739ae039(code, highlights, inputOpts = 
     | 
|
| 
       35978 
35959 
     | 
    
         
             
                    endLineIndex = Math.min(maxLine, lastHighlight.end.line + opts.padding.after);
         
     | 
| 
       35979 
35960 
     | 
    
         
             
                    tail = originalHighlights.filter((h)=>h.start.line > endLineIndex);
         
     | 
| 
       35980 
35961 
     | 
    
         
             
                }
         
     | 
| 
       35981 
     | 
    
         
            -
                let lineNumberLength = (endLineIndex + 1).toString(10).length; 
     | 
| 
      
 35962 
     | 
    
         
            +
                let lineNumberLength = (endLineIndex + 1).toString(10).length;
         
     | 
| 
      
 35963 
     | 
    
         
            +
                // Split input into lines and highlight syntax
         
     | 
| 
       35982 
35964 
     | 
    
         
             
                let lines = code.split($796233c1fee0ccb8$var$NEWLINE);
         
     | 
| 
       35983 
     | 
    
         
            -
                let syntaxHighlightedLines = (opts.syntaxHighlighting ? $796233c1fee0ccb8$var$highlightSyntax(code, opts.language) : code).replace($796233c1fee0ccb8$var$TAB_REPLACE_REGEX, $796233c1fee0ccb8$var$TAB_REPLACEMENT).split($796233c1fee0ccb8$var$NEWLINE); 
     | 
| 
      
 35965 
     | 
    
         
            +
                let syntaxHighlightedLines = (opts.syntaxHighlighting ? $796233c1fee0ccb8$var$highlightSyntax(code, opts.language) : code).replace($796233c1fee0ccb8$var$TAB_REPLACE_REGEX, $796233c1fee0ccb8$var$TAB_REPLACEMENT).split($796233c1fee0ccb8$var$NEWLINE);
         
     | 
| 
      
 35966 
     | 
    
         
            +
                // Loop over all lines and create codeframe
         
     | 
| 
       35984 
35967 
     | 
    
         
             
                let resultLines = [];
         
     | 
| 
       35985 
35968 
     | 
    
         
             
                for(let currentLineIndex = startLine; currentLineIndex < syntaxHighlightedLines.length; currentLineIndex++){
         
     | 
| 
       35986 
35969 
     | 
    
         
             
                    if (currentLineIndex > endLineIndex) break;
         
     | 
| 
       35987 
     | 
    
         
            -
                    if (currentLineIndex > syntaxHighlightedLines.length - 1) break; 
     | 
| 
       35988 
     | 
    
         
            -
                     
     | 
| 
      
 35970 
     | 
    
         
            +
                    if (currentLineIndex > syntaxHighlightedLines.length - 1) break;
         
     | 
| 
      
 35971 
     | 
    
         
            +
                    // Find highlights that need to get rendered on the current line
         
     | 
| 
      
 35972 
     | 
    
         
            +
                    let lineHighlights = highlights.filter((highlight)=>highlight.start.line <= currentLineIndex && highlight.end.line >= currentLineIndex).sort((a, b)=>(a.start.line < currentLineIndex ? 0 : a.start.column) - (b.start.line < currentLineIndex ? 0 : b.start.column));
         
     | 
| 
      
 35973 
     | 
    
         
            +
                    // Check if this line has a full line highlight
         
     | 
| 
       35989 
35974 
     | 
    
         
             
                    let isWholeLine = lineHighlights.length && !!lineHighlights.find((h)=>h.start.line < currentLineIndex && h.end.line > currentLineIndex);
         
     | 
| 
       35990 
     | 
    
         
            -
                    let lineLengthLimit = opts.terminalWidth > lineNumberLength + 7 ? opts.terminalWidth - (lineNumberLength + 5) : 10; 
     | 
| 
      
 35975 
     | 
    
         
            +
                    let lineLengthLimit = opts.terminalWidth > lineNumberLength + 7 ? opts.terminalWidth - (lineNumberLength + 5) : 10;
         
     | 
| 
      
 35976 
     | 
    
         
            +
                    // Split the line into line parts that will fit the provided terminal width
         
     | 
| 
       35991 
35977 
     | 
    
         
             
                    let colOffset = 0;
         
     | 
| 
       35992 
35978 
     | 
    
         
             
                    let lineEndCol = lineLengthLimit;
         
     | 
| 
       35993 
35979 
     | 
    
         
             
                    let syntaxHighlightedLine = syntaxHighlightedLines[currentLineIndex];
         
     | 
| 
         @@ -35999,7 +35985,8 @@ function $796233c1fee0ccb8$export$2e2bcd8739ae039(code, highlights, inputOpts = 
     | 
|
| 
       35999 
35985 
     | 
    
         
             
                        colOffset = colOffset > 0 ? colOffset : 0;
         
     | 
| 
       36000 
35986 
     | 
    
         
             
                        lineEndCol = colOffset + lineLengthLimit;
         
     | 
| 
       36001 
35987 
     | 
    
         
             
                        syntaxHighlightedLine = (0, (/*@__PURE__*/$parcel$interopDefault($0ae586f9cf7cb410$exports)))(syntaxHighlightedLine, colOffset, lineEndCol);
         
     | 
| 
       36002 
     | 
    
         
            -
                    } 
     | 
| 
      
 35988 
     | 
    
         
            +
                    }
         
     | 
| 
      
 35989 
     | 
    
         
            +
                    // Write the syntax highlighted line part
         
     | 
| 
       36003 
35990 
     | 
    
         
             
                    resultLines.push(lineNumberPrefixer({
         
     | 
| 
       36004 
35991 
     | 
    
         
             
                        lineNumber: (currentLineIndex + 1).toString(10),
         
     | 
| 
       36005 
35992 
     | 
    
         
             
                        lineNumberLength: lineNumberLength,
         
     | 
| 
         @@ -36015,18 +36002,21 @@ function $796233c1fee0ccb8$export$2e2bcd8739ae039(code, highlights, inputOpts = 
     | 
|
| 
       36015 
36002 
     | 
    
         
             
                        for(let highlightIndex = 0; highlightIndex < lineHighlights.length; highlightIndex++){
         
     | 
| 
       36016 
36003 
     | 
    
         
             
                            // Set highlight to current highlight
         
     | 
| 
       36017 
36004 
     | 
    
         
             
                            highlight = lineHighlights[highlightIndex];
         
     | 
| 
       36018 
     | 
    
         
            -
                            highlightHasEnded = false; 
     | 
| 
      
 36005 
     | 
    
         
            +
                            highlightHasEnded = false;
         
     | 
| 
      
 36006 
     | 
    
         
            +
                            // Calculate the startColumn and get the real width by doing a substring of the original
         
     | 
| 
       36019 
36007 
     | 
    
         
             
                            // line and replacing tabs with our tab replacement to support tab handling
         
     | 
| 
       36020 
36008 
     | 
    
         
             
                            let startCol = 0;
         
     | 
| 
       36021 
36009 
     | 
    
         
             
                            if (highlight.start.line === currentLineIndex && highlight.start.column > colOffset) startCol = lines[currentLineIndex].substring(colOffset, highlight.start.column).replace($796233c1fee0ccb8$var$TAB_REPLACE_REGEX, $796233c1fee0ccb8$var$TAB_REPLACEMENT).length;
         
     | 
| 
       36022 
     | 
    
         
            -
             
     | 
| 
      
 36010 
     | 
    
         
            +
                            // Calculate the endColumn and get the real width by doing a substring of the original
         
     | 
| 
       36023 
36011 
     | 
    
         
             
                            // line and replacing tabs with our tab replacement to support tab handling
         
     | 
| 
       36024 
36012 
     | 
    
         
             
                            let endCol = lineWidth - 1;
         
     | 
| 
       36025 
36013 
     | 
    
         
             
                            if (highlight.end.line === currentLineIndex) {
         
     | 
| 
       36026 
     | 
    
         
            -
                                endCol = lines[currentLineIndex].substring(colOffset, highlight.end.column).replace($796233c1fee0ccb8$var$TAB_REPLACE_REGEX, $796233c1fee0ccb8$var$TAB_REPLACEMENT).length; 
     | 
| 
      
 36014 
     | 
    
         
            +
                                endCol = lines[currentLineIndex].substring(colOffset, highlight.end.column).replace($796233c1fee0ccb8$var$TAB_REPLACE_REGEX, $796233c1fee0ccb8$var$TAB_REPLACEMENT).length;
         
     | 
| 
      
 36015 
     | 
    
         
            +
                                // If the endCol is too big for this line part, trim it so we can handle it in the next one
         
     | 
| 
       36027 
36016 
     | 
    
         
             
                                if (endCol > lineWidth) endCol = lineWidth - 1;
         
     | 
| 
       36028 
36017 
     | 
    
         
             
                                highlightHasEnded = true;
         
     | 
| 
       36029 
     | 
    
         
            -
                            } 
     | 
| 
      
 36018 
     | 
    
         
            +
                            }
         
     | 
| 
      
 36019 
     | 
    
         
            +
                            // If endcol is smaller than lastCol it overlaps with another highlight and is no longer visible, we can skip those
         
     | 
| 
       36030 
36020 
     | 
    
         
             
                            if (endCol >= lastCol) {
         
     | 
| 
       36031 
36021 
     | 
    
         
             
                                let characters = endCol - startCol + 1;
         
     | 
| 
       36032 
36022 
     | 
    
         
             
                                if (startCol > lastCol) // startCol is before lastCol, so add spaces as padding before the highlight indicators
         
     | 
| 
         @@ -36034,12 +36024,15 @@ function $796233c1fee0ccb8$export$2e2bcd8739ae039(code, highlights, inputOpts = 
     | 
|
| 
       36034 
36024 
     | 
    
         
             
                                else if (lastCol > startCol) // If last column is larger than the start, there's overlap in highlights
         
     | 
| 
       36035 
36025 
     | 
    
         
             
                                // This line adjusts the characters count to ensure we don't add too many characters
         
     | 
| 
       36036 
36026 
     | 
    
         
             
                                characters += startCol - lastCol;
         
     | 
| 
       36037 
     | 
    
         
            -
             
     | 
| 
       36038 
     | 
    
         
            -
                                highlightLine += highlighter("^".repeat(characters)); 
     | 
| 
      
 36027 
     | 
    
         
            +
                                // Append the highlight indicators
         
     | 
| 
      
 36028 
     | 
    
         
            +
                                highlightLine += highlighter("^".repeat(characters));
         
     | 
| 
      
 36029 
     | 
    
         
            +
                                // Set the lastCol equal to character count between start of line part and highlight end-column
         
     | 
| 
       36039 
36030 
     | 
    
         
             
                                lastCol = endCol + 1;
         
     | 
| 
       36040 
     | 
    
         
            -
                            } 
     | 
| 
      
 36031 
     | 
    
         
            +
                            }
         
     | 
| 
      
 36032 
     | 
    
         
            +
                            // There's no point in processing more highlights if we reached the end of the line
         
     | 
| 
       36041 
36033 
     | 
    
         
             
                            if (endCol >= lineEndCol - 1) break;
         
     | 
| 
       36042 
     | 
    
         
            -
                        } 
     | 
| 
      
 36034 
     | 
    
         
            +
                        }
         
     | 
| 
      
 36035 
     | 
    
         
            +
                        // Append the highlight message if the current highlights ends on this line part
         
     | 
| 
       36043 
36036 
     | 
    
         
             
                        if (highlight && highlight.message && highlightHasEnded) highlightLine += " " + highlighter(highlight.message, true);
         
     | 
| 
       36044 
36037 
     | 
    
         
             
                    }
         
     | 
| 
       36045 
36038 
     | 
    
         
             
                    if (highlightLine) resultLines.push(lineNumberPrefixer({
         
     |