| 1 |
!function(e){if("object"==typeof module&&"object"==typeof module.exports){var n=e(require,exports);void 0!==n&&(module.exports=n)}else"function"==typeof define&&define.amd&&define(["require","exports","./scanner"],e)}((function(e,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isEOL=n.format=void 0;const t=e("./scanner");function s(e,n){let t="";for(let s=0;s<n;s++)t+=e;return t}function r(e,n){return-1!=="\r\n".indexOf(e.charAt(n))}n.format=function(e,n,i){let o,f,c,a,l;if(n){for(a=n.offset,l=a+n.length,c=a;c>0&&!r(e,c-1);)c--;let t=l;for(;t<e.length&&!r(e,t);)t++;f=e.substring(c,t),o=function(e,n){let t=0,s=0;const r=n.tabSize||4;for(;t<e.length;){let n=e.charAt(t);if(" "===n)s++;else{if("\t"!==n)break;s+=r}t++}return Math.floor(s/r)}(f,i)}else f=e,o=0,c=0,a=0,l=e.length;const k=function(e,n){for(let e=0;e<n.length;e++){const t=n.charAt(e);if("\r"===t)return e+1<n.length&&"\n"===n.charAt(e+1)?"\r\n":"\r";if("\n"===t)return"\n"}return e&&e.eol||"\n"}(i,e);let u,p=0,L=0;u=i.insertSpaces?s(" ",i.tabSize||4):"\t";let g=(0,t.createScanner)(f,!1),h=!1;function b(){return p>1?s(k,p)+s(u,o+L):k+s(u,o+L)}function d(){let e=g.scan();for(p=0;15===e||14===e;)14===e&&i.keepLines?p+=1:14===e&&(p=1),e=g.scan();return h=16===e||0!==g.getTokenError(),e}const O=[];function T(t,s,r){h||n&&!(s<l&&r>a)||e.substring(s,r)===t||O.push({offset:s,length:r-s,content:t})}let m=d();if(i.keepLines&&p>0&&T(s(k,p),0,0),17!==m){let e=g.getTokenOffset()+c;T(s(u,o),c,e)}for(;17!==m;){let e=g.getTokenOffset()+g.getTokenLength()+c,n=d(),t="",s=!1;for(;0===p&&(12===n||13===n);)T(" ",e,g.getTokenOffset()+c),e=g.getTokenOffset()+g.getTokenLength()+c,s=12===n,t=s?b():"",n=d();if(2===n)1!==m&&L--,i.keepLines&&p>0||!i.keepLines&&1!==m?t=b():i.keepLines&&(t=" ");else if(4===n)3!==m&&L--,i.keepLines&&p>0||!i.keepLines&&3!==m?t=b():i.keepLines&&(t=" ");else{switch(m){case 3:case 1:L++,t=i.keepLines&&p>0||!i.keepLines?b():" ";break;case 5:t=i.keepLines&&p>0||!i.keepLines?b():" ";break;case 12:t=b();break;case 13:p>0?t=b():s||(t=" ");break;case 6:i.keepLines&&p>0?t=b():s||(t=" ");break;case 10:i.keepLines&&p>0?t=b():6!==n||s||(t="");break;case 7:case 8:case 9:case 11:case 2:case 4:i.keepLines&&p>0?t=b():12!==n&&13!==n||s?5!==n&&17!==n&&(h=!0):t=" ";break;case 16:h=!0}p>0&&(12===n||13===n)&&(t=b())}17===n&&(t=i.keepLines&&p>0?b():i.insertFinalNewline?k:""),T(t,e,g.getTokenOffset()+c),m=n}return O},n.isEOL=r})); |