Comparing version 0.3.1 to 0.3.2
{ | ||
"name": "indent.js", | ||
"version": "0.3.1", | ||
"version": "0.3.2", | ||
"description": "Fast, non-restrictive code formatting alternative to js-beautifier.", | ||
"homepage": "https://github.com/zebzhao/indent.js", | ||
@@ -12,7 +13,5 @@ "main": "lib/indent.js", | ||
"karma.conf.js", | ||
"package.json", | ||
"tests", | ||
"tools", | ||
"docs", | ||
"bower.json", | ||
".gitignore", | ||
@@ -19,0 +18,0 @@ ".travis.yml" |
@@ -1,1 +0,1 @@ | ||
!function(n,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():n.indent=e()}(this,function(){var n=function(n){function e(n,e,t){if(h[n])return h[n];var r=[];h[n]=r,t=t||"";for(var a=0;a<e.length;a++)e[a].a.indexOf(n.toLowerCase())!==-1&&t.indexOf(e[a].b)===-1&&r.push(e[a]);return r}function t(n,t,c){function u(n){Z=n.cursor;var t=n.rule,r=O+1+(t.c||0);n.line=r,z.push(n),t.d&&w[r]++,t.e&&(E=e(t.e,f)),t.f&&F.push(null),t.callback&&t.callback(n,w,A)}function h(){var n=z.pop(),e=n.line,t=n.rule;if(t.d){var r="function"==typeof t.g?t.g(g):t.g,a=r||0!==g.matchIndex?1:0;A[O+a]&&A[O+a].push(e)}t.e&&(E=null),t.f&&F.pop(),F[F.length-1]=n}function d(n,e,t){n=n.substring(t,n.length);for(var r,a,i,s=null,l=n.length,c=F[F.length-1],u=c?c.rule.b:"",h=0;h<e.length;h++)i=e[h],(!i.h||u&&i.h.indexOf(u)!==-1)&&(a=o(n,i.i,i),a.matchIndex!=-1&&a.matchIndex<l&&(!i.j||0===t)&&(l=a.matchIndex,r=a,s=i));return{rule:s,relativeIndex:s?l:-1,matchIndex:s?l+t:-1,cursor:s?t+r.cursor:-1,state:r?r.state:{},lastMatch:c}}function m(n,e,t,r){n=n.substr(t,n.length);var a=e.rule,i=o(n,a.k,a,e.state,r),s=a.l?i.cursor:i.matchIndex;return{endPatternIndex:i.endPatternIndex,matchIndex:i.matchIndex===-1?-1:i.matchIndex+t,cursor:s===-1?-1:s+t,state:i.state}}n=n||"";var g,b,x,k,v,p=void 0===c.tabString?"\t":c.tabString,j=n.split(/[\r]?\n/gi),I=j.length,y=a(I),w=a(I),A=r(I),z=[],F=[null],O=0,Z=0,E=null;for(c.debug={buffers:{ignore:y,indent:w,dedent:A,active:z}};O<I;){if(x=j[O].trim(),k=l(x)+"\r\n",v=z[z.length-1],b=d(k,E||t,Z),z.length)if(g=m(k,v,Z,b),g.matchIndex===-1){if(v.rule.m){y[O]=1,O++,Z=0;continue}}else if(v.rule.m||b.matchIndex===-1||g.matchIndex<=b.matchIndex){h(),Z=g.cursor;continue}b.matchIndex!==-1?u(b):(O++,Z=0)}var P,S,$,q,R,T,M=0,C=i(w),H=a(I),L=[];for(R=0;R<I;R++){for(S=A[R],q=0,T=0;T<S.length;T++)$=S[T],$<0?-$!==R&&(H[-$]++,q+=1):C[$]>0&&(C[$]--,q+=$!==R);P=C[R],H[R]=P>q?1:P<q?P-q:0,C[R]=P>0?1:0}for(R=0;R<I;R++)1===y[R-1]&&1===y[R]?L.push(j[R]):(M+=H[R]||0,L.push((M>0?s(p,M):"")+j[R].trim()));return L.join("\r\n")}function r(n){for(var e=new Array(n),t=0;t<n;t++)e[t]=[];return e}function a(e){if(n.Int16Array)return new Int16Array(e);for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t}function i(n){for(var e=a(n.length),t=0;t<n.length;t++)e[t]=n[t];return e}function s(n,e){return new Array(e+1).join(n)}function l(n){return n.replace(/\\(u[0-9A-Za-z]{4}|u\{[0-9A-Za-z]{1,6}]\}|x[0-9A-Za-z]{2}|.)/g,"0")}function c(n,e,t){var r=n.lastMatch;r&&"="===r.rule.b&&t[n.line].push(-r.line)}function u(n,e,t,r){var a;if(t.newline){if(a=n.search(/[;,=]?\r*\n/),a!==-1)return{matchIndex:a,length:1}}else a=n.search(/[^\s\r\n\{\(\[]/),t.newline=a!==-1&&(a<=r.relativeIndex||r.relativeIndex===-1);return null}function o(n,e,t,r,a){r=r||{};for(var i,s,l=-1,c=0,u=0;u<e.length;u++)if(s=e[u],"function"==typeof s){if(i=s(n,t,r,a)){l=i.matchIndex,c=i.length;break}}else if(i=n.match(s)){l=n.search(s),c=i[0].length;break}return{endPatternIndex:u,matchIndex:l,cursor:l+c,state:r}}var h={};String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var d=/\r*\n/,f=[{a:"html",b:"comment",i:[/\<\!\-\-/],k:[/\-\-\>/],m:!0,l:!0},{a:"html",b:"doctype",i:[/\<\!doctype html>/i],k:[d],m:!0,l:!0},{a:"html",b:"void-tags",i:[/\<(area|base|br|col|command|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)/i],k:[/>/],d:!0,l:!0},{a:"html",b:"mode switch js",i:[function(n){var e=/<script[\s>].*/i,t=/<\/script>/i,r=e.exec(n),a=t.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],k:[/<\/script>/i],e:"js",l:!0,d:!0,f:!0},{a:"html",b:"mode switch css",i:[function(n){var e=/<style[\s>].*/i,t=/<\/style>/i,r=e.exec(n),a=t.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],k:[/<\/style>/i],e:"css",l:!0,d:!0,f:!0},{a:"html",b:"html-tag",i:[/<html[^A-Za-z0-9]/i],k:[/<\/html>/i],l:!0},{a:"html",b:"tag",i:[function(n,e,t){var r=/<([A-Za-z0-9\-]+)/,a=n.match(r);return a?(t.openingTag=a[1],{matchIndex:a.index,length:a[0].length}):null}],k:[function(n,e,t){var r=new RegExp("</"+t.openingTag+">","i"),a=n.match(r);return a?{matchIndex:a.index,length:a[0].length}:null}],d:!0,l:!0},{a:"js",b:"line-comment",i:[/\/\//],k:[d],m:!0},{a:"js css",b:"block-comment",i:[/\/\*/],k:[/\*\//],m:!0,l:!0},{a:"js",b:"regex",i:[function(n,e){var t=/[(,=:[!&|?{};][\s]*\/[^\/]|^[\s]*\/[^\/]/,r=n.search(t);if(r!=-1){r=n.indexOf("/",r);var a=n.substring(r+1),i=o(a,e.k,e);if(i.matchIndex!=-1){a=a.substring(0,i.matchIndex);try{return new RegExp(a),{matchIndex:r,length:1}}catch(s){return null}}}return null}],k:[function(n){for(var e=0,t=n.indexOf("/");t!=-1;)try{new RegExp(n.substring(0,t));break}catch(r){t=n.indexOf("/",e),e=t+1}return t===-1?null:{matchIndex:t,length:1}}],m:!0,l:!0},{a:"html",b:"quotes",i:[/"/],k:[/"/,d],m:!0,l:!0},{a:"html",b:"quotes",i:[/'/],k:[/'/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/(''|""|``)/],k:[/./,d]},{a:"js css",b:"string",i:[/\"(?=[^"])/],k:[/[^\\]\"/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/\'(?=[^'])/],k:[/[^\\]\'/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/\`(?=[^`])/],k:[/[^\\]\`/],m:!0,l:!0},{a:"js",b:"if",i:[/^if\s*(?=\()/,/[\s]+if\s*(?=\()/],k:[/else[\s]+/,u,/[{;]/],d:!0},{a:"js",b:"for|while",i:[/^(for|while)\s*(?=\()/],k:[u,/[{;]/],d:!0},{a:"js",b:"else",i:[/else[\s]+/],k:[/if[^\w$]/,u,/[{;]/],d:!0},{a:"js css",b:"bracket",i:[/\(\s*(var|let|const)?\s*/],k:[/\)/],d:!0,l:!0,f:!0},{a:"js",b:"dot-chain",i:[/^\.[A-Za-z$_]/],k:[/[\.;]/,d],d:!0,j:!0,c:-1},{a:"js",b:"dot-chain",i:[/\.\s*\r*\n/],k:[/[\.;})\]]/,/[^\s]\s*\r*\n/],d:!0},{a:"js css",b:"array",i:[/\[/],k:[/\]/],d:!0,l:!0,f:!0},{a:"js css",b:"block",i:[/\{/],k:[/\}/],d:!0,l:!0,f:!0},{a:"js",b:"var/let/const",i:[/(var|let|const)[\s]*\r*\n/],k:[u],d:!0,g:!0},{a:"js",b:"var/let/const",i:[/(var|let|const)\s+(?=[\w$])/],k:[/[,;=]/,u],d:!0},{a:"js",b:"var/let/const",h:["var/let/const","="],i:[/,[\s]*\r*\n/],k:[/[,;]/,u],d:!0,callback:c},{a:"js",b:"var/let/const",h:["var/let/const","="],i:[/^,/],k:[/[,;]/,u],j:!0,d:!0,c:-1,callback:c},{a:"js",b:"equality",i:[/[=<>!]=(=)?/],k:[/./]},{a:"js",b:"=",i:[/=/],k:[/[,;\)\]}]/,d]},{a:"js",b:"?:",i:[/\?/],k:[/[:;]/],g:!0,d:!0},{a:"js",b:"case",i:[/^(case|default)[\s:]/],k:[/break[\s;\r\n]/,/^return[\s;\r\n]/,/^case[\s]+/,/^default[\s:]/,/}/],g:function(n){return n.endPatternIndex<=1},d:!0,f:!0},{a:"js",b:"semicolon",i:[/;/],k:[/./]}];return{css:function(n,r){return t(n,e("css",f),r)},js:function(n,r){return t(n,e("js",f),r)},ts:function(n,r){return t(n,e("js",f),r)},html:function(n,r){var a=r.indentHtmlTag?e("html",f,"html-tag"):e("html",f);return t(n,a,r)}}}(this);return n}); | ||
!function(n,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():n.indent=e()}(this,function(){var n=function(n){function e(n,e,t){if(h[n])return h[n];var r=[];h[n]=r,t=t||"";for(var a=0;a<e.length;a++)e[a].a.indexOf(n.toLowerCase())!==-1&&t.indexOf(e[a].b)===-1&&r.push(e[a]);return r}function t(n,t,c){function u(n){Z=n.cursor;var t=n.rule,r=O+1+(t.c||0);n.line=r,z.push(n),t.d&&w[r]++,t.e&&(E=e(t.e,f)),t.f&&F.push(null),t.callback&&t.callback(n,w,A)}function h(){var n=z.pop(),e=n.line,t=n.rule;if(t.d){var r="function"==typeof t.g?t.g(g):t.g,a=r||0!==g.matchIndex?1:0;A[O+a]&&A[O+a].push(e)}t.e&&(E=null),t.f&&F.pop(),F[F.length-1]=n}function d(n,e,t){n=n.substring(t,n.length);for(var r,a,i,s=null,l=n.length,c=F[F.length-1],u=c?c.rule.b:"",h=0;h<e.length;h++)i=e[h],(!i.h||u&&i.h.indexOf(u)!==-1)&&(a=o(n,i.i,i),a.matchIndex!=-1&&a.matchIndex<l&&(!i.j||0===t)&&(l=a.matchIndex,r=a,s=i));return{rule:s,relativeIndex:s?l:-1,matchIndex:s?l+t:-1,cursor:s?t+r.cursor:-1,state:r?r.state:{},lastMatch:c}}function m(n,e,t,r){n=n.substr(t,n.length);var a=e.rule,i=o(n,a.k,a,e.state,r),s=a.l?i.cursor:i.matchIndex;return{endPatternIndex:i.endPatternIndex,matchIndex:i.matchIndex===-1?-1:i.matchIndex+t,cursor:s===-1?-1:s+t,state:i.state}}n=n||"";var g,b,x,k,v,p=c&&null!=c.tabString?c.tabString:"\t",j=n.split(/[\r]?\n/gi),I=j.length,y=a(I),w=a(I),A=r(I),z=[],F=[null],O=0,Z=0,E=null;for(c&&(c.debug={buffers:{ignore:y,indent:w,dedent:A,active:z}});O<I;){if(x=j[O].trim(),k=l(x)+"\r\n",v=z[z.length-1],b=d(k,E||t,Z),z.length)if(g=m(k,v,Z,b),g.matchIndex===-1){if(v.rule.m){y[O]=1,O++,Z=0;continue}}else if(v.rule.m||b.matchIndex===-1||g.matchIndex<=b.matchIndex){h(),Z=g.cursor;continue}b.matchIndex!==-1?u(b):(O++,Z=0)}var P,S,$,q,R,T,M=0,C=i(w),H=a(I),L=[];for(R=0;R<I;R++){for(S=A[R],q=0,T=0;T<S.length;T++)$=S[T],$<0?-$!==R&&(H[-$]++,q+=1):C[$]>0&&(C[$]--,q+=$!==R);P=C[R],H[R]=P>q?1:P<q?P-q:0,C[R]=P>0?1:0}for(R=0;R<I;R++)1===y[R-1]&&1===y[R]?L.push(j[R]):(M+=H[R]||0,L.push((M>0?s(p,M):"")+j[R].trim()));return L.join("\r\n")}function r(n){for(var e=new Array(n),t=0;t<n;t++)e[t]=[];return e}function a(e){if(n.Int16Array)return new Int16Array(e);for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t}function i(n){for(var e=a(n.length),t=0;t<n.length;t++)e[t]=n[t];return e}function s(n,e){return new Array(e+1).join(n)}function l(n){return n.replace(/\\(u[0-9A-Za-z]{4}|u\{[0-9A-Za-z]{1,6}]\}|x[0-9A-Za-z]{2}|.)/g,"0")}function c(n,e,t){var r=n.lastMatch;r&&"="===r.rule.b&&t[n.line].push(-r.line)}function u(n,e,t,r){var a;if(t.newline){if(a=n.search(/[;,=]?\r*\n/),a!==-1)return{matchIndex:a,length:1}}else a=n.search(/[^\s\r\n\{\(\[]/),t.newline=a!==-1&&(a<=r.relativeIndex||r.relativeIndex===-1);return null}function o(n,e,t,r,a){r=r||{};for(var i,s,l=-1,c=0,u=0;u<e.length;u++)if(s=e[u],"function"==typeof s){if(i=s(n,t,r,a)){l=i.matchIndex,c=i.length;break}}else if(i=n.match(s)){l=n.search(s),c=i[0].length;break}return{endPatternIndex:u,matchIndex:l,cursor:l+c,state:r}}var h={};String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var d=/\r*\n/,f=[{a:"html",b:"comment",i:[/\<\!\-\-/],k:[/\-\-\>/],m:!0,l:!0},{a:"html",b:"doctype",i:[/\<\!doctype html>/i],k:[d],m:!0,l:!0},{a:"html",b:"void-tags",i:[/\<(area|base|br|col|command|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)/i],k:[/>/],d:!0,l:!0},{a:"html",b:"mode switch js",i:[function(n){var e=/<script[\s>].*/i,t=/<\/script>/i,r=e.exec(n),a=t.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],k:[/<\/script>/i],e:"js",l:!0,d:!0,f:!0},{a:"html",b:"mode switch css",i:[function(n){var e=/<style[\s>].*/i,t=/<\/style>/i,r=e.exec(n),a=t.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],k:[/<\/style>/i],e:"css",l:!0,d:!0,f:!0},{a:"html",b:"html-tag",i:[/<html[^A-Za-z0-9]/i],k:[/<\/html>/i],l:!0},{a:"html",b:"tag",i:[function(n,e,t){var r=/<([A-Za-z0-9\-]+)/,a=n.match(r);return a?(t.openingTag=a[1],{matchIndex:a.index,length:a[0].length}):null}],k:[function(n,e,t){var r=new RegExp("</"+t.openingTag+">","i"),a=n.match(r);return a?{matchIndex:a.index,length:a[0].length}:null}],d:!0,l:!0},{a:"js",b:"line-comment",i:[/\/\//],k:[d],m:!0},{a:"js css",b:"block-comment",i:[/\/\*/],k:[/\*\//],m:!0,l:!0},{a:"js",b:"regex",i:[function(n,e){var t=/[(,=:[!&|?{};][\s]*\/[^\/]|^[\s]*\/[^\/]/,r=n.search(t);if(r!=-1){r=n.indexOf("/",r);var a=n.substring(r+1),i=o(a,e.k,e);if(i.matchIndex!=-1){a=a.substring(0,i.matchIndex);try{return new RegExp(a),{matchIndex:r,length:1}}catch(s){return null}}}return null}],k:[function(n){for(var e=0,t=n.indexOf("/");t!=-1;)try{new RegExp(n.substring(0,t));break}catch(r){t=n.indexOf("/",e),e=t+1}return t===-1?null:{matchIndex:t,length:1}}],m:!0,l:!0},{a:"html",b:"quotes",i:[/"/],k:[/"/,d],m:!0,l:!0},{a:"html",b:"quotes",i:[/'/],k:[/'/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/(''|""|``)/],k:[/./,d]},{a:"js css",b:"string",i:[/\"(?=[^"])/],k:[/[^\\]\"/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/\'(?=[^'])/],k:[/[^\\]\'/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/\`(?=[^`])/],k:[/[^\\]\`/],m:!0,l:!0},{a:"js",b:"if",i:[/^if\s*(?=\()/,/[\s]+if\s*(?=\()/],k:[/else[\s]+/,u,/[{;]/],d:!0},{a:"js",b:"for|while",i:[/^(for|while)\s*(?=\()/],k:[u,/[{;]/],d:!0},{a:"js",b:"else",i:[/else[\s]+/],k:[/if[^\w$]/,u,/[{;]/],d:!0},{a:"js css",b:"bracket",i:[/\(\s*(var|let|const)?\s*/],k:[/\)/],d:!0,l:!0,f:!0},{a:"js",b:"dot-chain",i:[/^\.[A-Za-z$_]/],k:[/[\.;]/,d],d:!0,j:!0,c:-1},{a:"js",b:"dot-chain",i:[/\.\s*\r*\n/],k:[/[\.;})\]]/,/[^\s]\s*\r*\n/],d:!0},{a:"js css",b:"array",i:[/\[/],k:[/\]/],d:!0,l:!0,f:!0},{a:"js css",b:"block",i:[/\{/],k:[/\}/],d:!0,l:!0,f:!0},{a:"js",b:"var/let/const",i:[/(var|let|const)[\s]*\r*\n/],k:[u],d:!0,g:!0},{a:"js",b:"var/let/const",i:[/(var|let|const)\s+(?=[\w$])/],k:[/[,;=]/,u],d:!0},{a:"js",b:"var/let/const",h:["var/let/const","="],i:[/,[\s]*\r*\n/],k:[/[,;]/,u],d:!0,callback:c},{a:"js",b:"var/let/const",h:["var/let/const","="],i:[/^,/],k:[/[,;]/,u],j:!0,d:!0,c:-1,callback:c},{a:"js",b:"equality",i:[/[=<>!]=(=)?/],k:[/./]},{a:"js",b:"=",i:[/=/],k:[/[,;\)\]}]/,d]},{a:"js",b:"?:",i:[/\?/],k:[/[:;]/],g:!0,d:!0},{a:"js",b:"case",i:[/^(case|default)[\s:]/],k:[/break[\s;\r\n]/,/^return[\s;\r\n]/,/^case[\s]+/,/^default[\s:]/,/}/],g:function(n){return n.endPatternIndex<=1},d:!0,f:!0},{a:"js",b:"semicolon",i:[/;/],k:[/./]}];return{css:function(n,r){return t(n,e("css",f),r)},js:function(n,r){return t(n,e("js",f),r)},ts:function(n,r){return t(n,e("js",f),r)},html:function(n,r){var a=r&&r.indentHtmlTag?e("html",f,"html-tag"):e("html",f);return t(n,a,r)}}}(this);return n}); |
@@ -1,47 +0,4 @@ | ||
function changeExample(id) { | ||
mode = id.split(':')[0]; | ||
editorWindow.postMessage({ | ||
text: EXAMPLES[id], | ||
mode: mode | ||
}, origin); | ||
} | ||
function changeTabSize(size) { | ||
var tabSizeMap = { | ||
'2': 2, | ||
'4': 4, | ||
'tab': 4 | ||
}; | ||
tabSize = size; | ||
editorWindow.postMessage({ | ||
tabSize: tabSizeMap[size] | ||
}, origin); | ||
} | ||
function indentCode() { | ||
var channel = new MessageChannel(); | ||
channel.port1.onmessage = function (e) { | ||
var modeMap = { | ||
'less': 'css', | ||
'scss': 'css', | ||
'css': 'css', | ||
'tsx': 'ts', | ||
'jsx': 'js', | ||
'html': 'html' | ||
}; | ||
var tabStringMap = { | ||
'2': ' ', | ||
'4': ' ', | ||
'tab': '\t' | ||
}; | ||
editorWindow.postMessage({ | ||
text: indent[modeMap[mode]](e.data, {tabString: tabStringMap[tabSize]}) | ||
}, origin); | ||
}; | ||
editorWindow.postMessage('text', origin, [channel.port2]); | ||
} | ||
var mode; | ||
var origin = 'https://spck.io'; | ||
var editorWindow = document.getElementById('editor').contentWindow; | ||
var editor = new SpckEditor('#editor'); | ||
var tabSize = '2'; | ||
@@ -144,5 +101,5 @@ | ||
function init() { | ||
setTimeout(function () { | ||
editor.connect(function () { | ||
changeExample('jsx:class'); | ||
}, 1800); | ||
}); | ||
} | ||
@@ -155,2 +112,43 @@ | ||
.replace(/[\r]?\n/gi, '\r\n'); | ||
} | ||
} | ||
function changeExample(id) { | ||
mode = id.split(':')[0]; | ||
editor.configure({ | ||
text: EXAMPLES[id], | ||
mode: mode | ||
}, origin); | ||
} | ||
function changeTabSize(size) { | ||
var tabSizeMap = { | ||
'2': 2, | ||
'4': 4, | ||
'tab': 4 | ||
}; | ||
tabSize = size; | ||
editor.configure({ | ||
tabSize: tabSizeMap[size] | ||
}, origin); | ||
} | ||
function indentCode() { | ||
editor.getText(function (e) { | ||
var modeMap = { | ||
'less': 'css', | ||
'scss': 'css', | ||
'css': 'css', | ||
'tsx': 'ts', | ||
'jsx': 'js', | ||
'html': 'html' | ||
}; | ||
var tabStringMap = { | ||
'2': ' ', | ||
'4': ' ', | ||
'tab': '\t' | ||
}; | ||
editor.configure({ | ||
text: indent[modeMap[mode]](e.data, {tabString: tabStringMap[tabSize]}) | ||
}, origin); | ||
}); | ||
} |
@@ -425,3 +425,3 @@ ;(function(root, factory) { | ||
html: function (code, options) { | ||
var rules = options.indentHtmlTag ? | ||
var rules = options && options.indentHtmlTag ? | ||
filterRules('html', MASTER_RULES, 'html-tag') : filterRules('html', MASTER_RULES); | ||
@@ -448,3 +448,3 @@ return indent(code, rules, options); | ||
*/ | ||
var tabString = options.tabString === undefined ? '\t' : options.tabString; | ||
var tabString = options && options.tabString != null ? options.tabString : '\t'; | ||
var lines = code.split(/[\r]?\n/gi); | ||
@@ -463,10 +463,12 @@ var lineCount = lines.length; | ||
options.debug = { | ||
buffers: { | ||
ignore: ignoreBuffer, | ||
indent: indentBuffer, | ||
dedent: dedentBuffer, | ||
active: activeMatches | ||
} | ||
}; | ||
if (options) { | ||
options.debug = { | ||
buffers: { | ||
ignore: ignoreBuffer, | ||
indent: indentBuffer, | ||
dedent: dedentBuffer, | ||
active: activeMatches | ||
} | ||
}; | ||
} | ||
@@ -473,0 +475,0 @@ while (l < lineCount) { |
@@ -1,1 +0,1 @@ | ||
!function(n,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():n.indent=e()}(this,function(){var n=function(n){function e(n,e,t){if(h[n])return h[n];var r=[];h[n]=r,t=t||"";for(var a=0;a<e.length;a++)e[a].a.indexOf(n.toLowerCase())!==-1&&t.indexOf(e[a].b)===-1&&r.push(e[a]);return r}function t(n,t,c){function u(n){Z=n.cursor;var t=n.rule,r=O+1+(t.c||0);n.line=r,z.push(n),t.d&&w[r]++,t.e&&(E=e(t.e,f)),t.f&&F.push(null),t.callback&&t.callback(n,w,A)}function h(){var n=z.pop(),e=n.line,t=n.rule;if(t.d){var r="function"==typeof t.g?t.g(g):t.g,a=r||0!==g.matchIndex?1:0;A[O+a]&&A[O+a].push(e)}t.e&&(E=null),t.f&&F.pop(),F[F.length-1]=n}function d(n,e,t){n=n.substring(t,n.length);for(var r,a,i,s=null,l=n.length,c=F[F.length-1],u=c?c.rule.b:"",h=0;h<e.length;h++)i=e[h],(!i.h||u&&i.h.indexOf(u)!==-1)&&(a=o(n,i.i,i),a.matchIndex!=-1&&a.matchIndex<l&&(!i.j||0===t)&&(l=a.matchIndex,r=a,s=i));return{rule:s,relativeIndex:s?l:-1,matchIndex:s?l+t:-1,cursor:s?t+r.cursor:-1,state:r?r.state:{},lastMatch:c}}function m(n,e,t,r){n=n.substr(t,n.length);var a=e.rule,i=o(n,a.k,a,e.state,r),s=a.l?i.cursor:i.matchIndex;return{endPatternIndex:i.endPatternIndex,matchIndex:i.matchIndex===-1?-1:i.matchIndex+t,cursor:s===-1?-1:s+t,state:i.state}}n=n||"";var g,b,x,k,v,p=void 0===c.tabString?"\t":c.tabString,j=n.split(/[\r]?\n/gi),I=j.length,y=a(I),w=a(I),A=r(I),z=[],F=[null],O=0,Z=0,E=null;for(c.debug={buffers:{ignore:y,indent:w,dedent:A,active:z}};O<I;){if(x=j[O].trim(),k=l(x)+"\r\n",v=z[z.length-1],b=d(k,E||t,Z),z.length)if(g=m(k,v,Z,b),g.matchIndex===-1){if(v.rule.m){y[O]=1,O++,Z=0;continue}}else if(v.rule.m||b.matchIndex===-1||g.matchIndex<=b.matchIndex){h(),Z=g.cursor;continue}b.matchIndex!==-1?u(b):(O++,Z=0)}var P,S,$,q,R,T,M=0,C=i(w),H=a(I),L=[];for(R=0;R<I;R++){for(S=A[R],q=0,T=0;T<S.length;T++)$=S[T],$<0?-$!==R&&(H[-$]++,q+=1):C[$]>0&&(C[$]--,q+=$!==R);P=C[R],H[R]=P>q?1:P<q?P-q:0,C[R]=P>0?1:0}for(R=0;R<I;R++)1===y[R-1]&&1===y[R]?L.push(j[R]):(M+=H[R]||0,L.push((M>0?s(p,M):"")+j[R].trim()));return L.join("\r\n")}function r(n){for(var e=new Array(n),t=0;t<n;t++)e[t]=[];return e}function a(e){if(n.Int16Array)return new Int16Array(e);for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t}function i(n){for(var e=a(n.length),t=0;t<n.length;t++)e[t]=n[t];return e}function s(n,e){return new Array(e+1).join(n)}function l(n){return n.replace(/\\(u[0-9A-Za-z]{4}|u\{[0-9A-Za-z]{1,6}]\}|x[0-9A-Za-z]{2}|.)/g,"0")}function c(n,e,t){var r=n.lastMatch;r&&"="===r.rule.b&&t[n.line].push(-r.line)}function u(n,e,t,r){var a;if(t.newline){if(a=n.search(/[;,=]?\r*\n/),a!==-1)return{matchIndex:a,length:1}}else a=n.search(/[^\s\r\n\{\(\[]/),t.newline=a!==-1&&(a<=r.relativeIndex||r.relativeIndex===-1);return null}function o(n,e,t,r,a){r=r||{};for(var i,s,l=-1,c=0,u=0;u<e.length;u++)if(s=e[u],"function"==typeof s){if(i=s(n,t,r,a)){l=i.matchIndex,c=i.length;break}}else if(i=n.match(s)){l=n.search(s),c=i[0].length;break}return{endPatternIndex:u,matchIndex:l,cursor:l+c,state:r}}var h={};String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var d=/\r*\n/,f=[{a:"html",b:"comment",i:[/\<\!\-\-/],k:[/\-\-\>/],m:!0,l:!0},{a:"html",b:"doctype",i:[/\<\!doctype html>/i],k:[d],m:!0,l:!0},{a:"html",b:"void-tags",i:[/\<(area|base|br|col|command|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)/i],k:[/>/],d:!0,l:!0},{a:"html",b:"mode switch js",i:[function(n){var e=/<script[\s>].*/i,t=/<\/script>/i,r=e.exec(n),a=t.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],k:[/<\/script>/i],e:"js",l:!0,d:!0,f:!0},{a:"html",b:"mode switch css",i:[function(n){var e=/<style[\s>].*/i,t=/<\/style>/i,r=e.exec(n),a=t.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],k:[/<\/style>/i],e:"css",l:!0,d:!0,f:!0},{a:"html",b:"html-tag",i:[/<html[^A-Za-z0-9]/i],k:[/<\/html>/i],l:!0},{a:"html",b:"tag",i:[function(n,e,t){var r=/<([A-Za-z0-9\-]+)/,a=n.match(r);return a?(t.openingTag=a[1],{matchIndex:a.index,length:a[0].length}):null}],k:[function(n,e,t){var r=new RegExp("</"+t.openingTag+">","i"),a=n.match(r);return a?{matchIndex:a.index,length:a[0].length}:null}],d:!0,l:!0},{a:"js",b:"line-comment",i:[/\/\//],k:[d],m:!0},{a:"js css",b:"block-comment",i:[/\/\*/],k:[/\*\//],m:!0,l:!0},{a:"js",b:"regex",i:[function(n,e){var t=/[(,=:[!&|?{};][\s]*\/[^\/]|^[\s]*\/[^\/]/,r=n.search(t);if(r!=-1){r=n.indexOf("/",r);var a=n.substring(r+1),i=o(a,e.k,e);if(i.matchIndex!=-1){a=a.substring(0,i.matchIndex);try{return new RegExp(a),{matchIndex:r,length:1}}catch(s){return null}}}return null}],k:[function(n){for(var e=0,t=n.indexOf("/");t!=-1;)try{new RegExp(n.substring(0,t));break}catch(r){t=n.indexOf("/",e),e=t+1}return t===-1?null:{matchIndex:t,length:1}}],m:!0,l:!0},{a:"html",b:"quotes",i:[/"/],k:[/"/,d],m:!0,l:!0},{a:"html",b:"quotes",i:[/'/],k:[/'/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/(''|""|``)/],k:[/./,d]},{a:"js css",b:"string",i:[/\"(?=[^"])/],k:[/[^\\]\"/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/\'(?=[^'])/],k:[/[^\\]\'/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/\`(?=[^`])/],k:[/[^\\]\`/],m:!0,l:!0},{a:"js",b:"if",i:[/^if\s*(?=\()/,/[\s]+if\s*(?=\()/],k:[/else[\s]+/,u,/[{;]/],d:!0},{a:"js",b:"for|while",i:[/^(for|while)\s*(?=\()/],k:[u,/[{;]/],d:!0},{a:"js",b:"else",i:[/else[\s]+/],k:[/if[^\w$]/,u,/[{;]/],d:!0},{a:"js css",b:"bracket",i:[/\(\s*(var|let|const)?\s*/],k:[/\)/],d:!0,l:!0,f:!0},{a:"js",b:"dot-chain",i:[/^\.[A-Za-z$_]/],k:[/[\.;]/,d],d:!0,j:!0,c:-1},{a:"js",b:"dot-chain",i:[/\.\s*\r*\n/],k:[/[\.;})\]]/,/[^\s]\s*\r*\n/],d:!0},{a:"js css",b:"array",i:[/\[/],k:[/\]/],d:!0,l:!0,f:!0},{a:"js css",b:"block",i:[/\{/],k:[/\}/],d:!0,l:!0,f:!0},{a:"js",b:"var/let/const",i:[/(var|let|const)[\s]*\r*\n/],k:[u],d:!0,g:!0},{a:"js",b:"var/let/const",i:[/(var|let|const)\s+(?=[\w$])/],k:[/[,;=]/,u],d:!0},{a:"js",b:"var/let/const",h:["var/let/const","="],i:[/,[\s]*\r*\n/],k:[/[,;]/,u],d:!0,callback:c},{a:"js",b:"var/let/const",h:["var/let/const","="],i:[/^,/],k:[/[,;]/,u],j:!0,d:!0,c:-1,callback:c},{a:"js",b:"equality",i:[/[=<>!]=(=)?/],k:[/./]},{a:"js",b:"=",i:[/=/],k:[/[,;\)\]}]/,d]},{a:"js",b:"?:",i:[/\?/],k:[/[:;]/],g:!0,d:!0},{a:"js",b:"case",i:[/^(case|default)[\s:]/],k:[/break[\s;\r\n]/,/^return[\s;\r\n]/,/^case[\s]+/,/^default[\s:]/,/}/],g:function(n){return n.endPatternIndex<=1},d:!0,f:!0},{a:"js",b:"semicolon",i:[/;/],k:[/./]}];return{css:function(n,r){return t(n,e("css",f),r)},js:function(n,r){return t(n,e("js",f),r)},ts:function(n,r){return t(n,e("js",f),r)},html:function(n,r){var a=r.indentHtmlTag?e("html",f,"html-tag"):e("html",f);return t(n,a,r)}}}(this);return n}); | ||
!function(n,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():n.indent=e()}(this,function(){var n=function(n){function e(n,e,t){if(h[n])return h[n];var r=[];h[n]=r,t=t||"";for(var a=0;a<e.length;a++)e[a].a.indexOf(n.toLowerCase())!==-1&&t.indexOf(e[a].b)===-1&&r.push(e[a]);return r}function t(n,t,c){function u(n){Z=n.cursor;var t=n.rule,r=O+1+(t.c||0);n.line=r,z.push(n),t.d&&w[r]++,t.e&&(E=e(t.e,f)),t.f&&F.push(null),t.callback&&t.callback(n,w,A)}function h(){var n=z.pop(),e=n.line,t=n.rule;if(t.d){var r="function"==typeof t.g?t.g(g):t.g,a=r||0!==g.matchIndex?1:0;A[O+a]&&A[O+a].push(e)}t.e&&(E=null),t.f&&F.pop(),F[F.length-1]=n}function d(n,e,t){n=n.substring(t,n.length);for(var r,a,i,s=null,l=n.length,c=F[F.length-1],u=c?c.rule.b:"",h=0;h<e.length;h++)i=e[h],(!i.h||u&&i.h.indexOf(u)!==-1)&&(a=o(n,i.i,i),a.matchIndex!=-1&&a.matchIndex<l&&(!i.j||0===t)&&(l=a.matchIndex,r=a,s=i));return{rule:s,relativeIndex:s?l:-1,matchIndex:s?l+t:-1,cursor:s?t+r.cursor:-1,state:r?r.state:{},lastMatch:c}}function m(n,e,t,r){n=n.substr(t,n.length);var a=e.rule,i=o(n,a.k,a,e.state,r),s=a.l?i.cursor:i.matchIndex;return{endPatternIndex:i.endPatternIndex,matchIndex:i.matchIndex===-1?-1:i.matchIndex+t,cursor:s===-1?-1:s+t,state:i.state}}n=n||"";var g,b,x,k,v,p=c&&null!=c.tabString?c.tabString:"\t",j=n.split(/[\r]?\n/gi),I=j.length,y=a(I),w=a(I),A=r(I),z=[],F=[null],O=0,Z=0,E=null;for(c&&(c.debug={buffers:{ignore:y,indent:w,dedent:A,active:z}});O<I;){if(x=j[O].trim(),k=l(x)+"\r\n",v=z[z.length-1],b=d(k,E||t,Z),z.length)if(g=m(k,v,Z,b),g.matchIndex===-1){if(v.rule.m){y[O]=1,O++,Z=0;continue}}else if(v.rule.m||b.matchIndex===-1||g.matchIndex<=b.matchIndex){h(),Z=g.cursor;continue}b.matchIndex!==-1?u(b):(O++,Z=0)}var P,S,$,q,R,T,M=0,C=i(w),H=a(I),L=[];for(R=0;R<I;R++){for(S=A[R],q=0,T=0;T<S.length;T++)$=S[T],$<0?-$!==R&&(H[-$]++,q+=1):C[$]>0&&(C[$]--,q+=$!==R);P=C[R],H[R]=P>q?1:P<q?P-q:0,C[R]=P>0?1:0}for(R=0;R<I;R++)1===y[R-1]&&1===y[R]?L.push(j[R]):(M+=H[R]||0,L.push((M>0?s(p,M):"")+j[R].trim()));return L.join("\r\n")}function r(n){for(var e=new Array(n),t=0;t<n;t++)e[t]=[];return e}function a(e){if(n.Int16Array)return new Int16Array(e);for(var t=new Array(e),r=0;r<e;r++)t[r]=0;return t}function i(n){for(var e=a(n.length),t=0;t<n.length;t++)e[t]=n[t];return e}function s(n,e){return new Array(e+1).join(n)}function l(n){return n.replace(/\\(u[0-9A-Za-z]{4}|u\{[0-9A-Za-z]{1,6}]\}|x[0-9A-Za-z]{2}|.)/g,"0")}function c(n,e,t){var r=n.lastMatch;r&&"="===r.rule.b&&t[n.line].push(-r.line)}function u(n,e,t,r){var a;if(t.newline){if(a=n.search(/[;,=]?\r*\n/),a!==-1)return{matchIndex:a,length:1}}else a=n.search(/[^\s\r\n\{\(\[]/),t.newline=a!==-1&&(a<=r.relativeIndex||r.relativeIndex===-1);return null}function o(n,e,t,r,a){r=r||{};for(var i,s,l=-1,c=0,u=0;u<e.length;u++)if(s=e[u],"function"==typeof s){if(i=s(n,t,r,a)){l=i.matchIndex,c=i.length;break}}else if(i=n.match(s)){l=n.search(s),c=i[0].length;break}return{endPatternIndex:u,matchIndex:l,cursor:l+c,state:r}}var h={};String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var d=/\r*\n/,f=[{a:"html",b:"comment",i:[/\<\!\-\-/],k:[/\-\-\>/],m:!0,l:!0},{a:"html",b:"doctype",i:[/\<\!doctype html>/i],k:[d],m:!0,l:!0},{a:"html",b:"void-tags",i:[/\<(area|base|br|col|command|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)/i],k:[/>/],d:!0,l:!0},{a:"html",b:"mode switch js",i:[function(n){var e=/<script[\s>].*/i,t=/<\/script>/i,r=e.exec(n),a=t.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],k:[/<\/script>/i],e:"js",l:!0,d:!0,f:!0},{a:"html",b:"mode switch css",i:[function(n){var e=/<style[\s>].*/i,t=/<\/style>/i,r=e.exec(n),a=t.exec(n);return r&&(!a||a.index<r.index)?{matchIndex:r.index,length:r[0].length}:null}],k:[/<\/style>/i],e:"css",l:!0,d:!0,f:!0},{a:"html",b:"html-tag",i:[/<html[^A-Za-z0-9]/i],k:[/<\/html>/i],l:!0},{a:"html",b:"tag",i:[function(n,e,t){var r=/<([A-Za-z0-9\-]+)/,a=n.match(r);return a?(t.openingTag=a[1],{matchIndex:a.index,length:a[0].length}):null}],k:[function(n,e,t){var r=new RegExp("</"+t.openingTag+">","i"),a=n.match(r);return a?{matchIndex:a.index,length:a[0].length}:null}],d:!0,l:!0},{a:"js",b:"line-comment",i:[/\/\//],k:[d],m:!0},{a:"js css",b:"block-comment",i:[/\/\*/],k:[/\*\//],m:!0,l:!0},{a:"js",b:"regex",i:[function(n,e){var t=/[(,=:[!&|?{};][\s]*\/[^\/]|^[\s]*\/[^\/]/,r=n.search(t);if(r!=-1){r=n.indexOf("/",r);var a=n.substring(r+1),i=o(a,e.k,e);if(i.matchIndex!=-1){a=a.substring(0,i.matchIndex);try{return new RegExp(a),{matchIndex:r,length:1}}catch(s){return null}}}return null}],k:[function(n){for(var e=0,t=n.indexOf("/");t!=-1;)try{new RegExp(n.substring(0,t));break}catch(r){t=n.indexOf("/",e),e=t+1}return t===-1?null:{matchIndex:t,length:1}}],m:!0,l:!0},{a:"html",b:"quotes",i:[/"/],k:[/"/,d],m:!0,l:!0},{a:"html",b:"quotes",i:[/'/],k:[/'/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/(''|""|``)/],k:[/./,d]},{a:"js css",b:"string",i:[/\"(?=[^"])/],k:[/[^\\]\"/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/\'(?=[^'])/],k:[/[^\\]\'/,d],m:!0,l:!0},{a:"js css",b:"string",i:[/\`(?=[^`])/],k:[/[^\\]\`/],m:!0,l:!0},{a:"js",b:"if",i:[/^if\s*(?=\()/,/[\s]+if\s*(?=\()/],k:[/else[\s]+/,u,/[{;]/],d:!0},{a:"js",b:"for|while",i:[/^(for|while)\s*(?=\()/],k:[u,/[{;]/],d:!0},{a:"js",b:"else",i:[/else[\s]+/],k:[/if[^\w$]/,u,/[{;]/],d:!0},{a:"js css",b:"bracket",i:[/\(\s*(var|let|const)?\s*/],k:[/\)/],d:!0,l:!0,f:!0},{a:"js",b:"dot-chain",i:[/^\.[A-Za-z$_]/],k:[/[\.;]/,d],d:!0,j:!0,c:-1},{a:"js",b:"dot-chain",i:[/\.\s*\r*\n/],k:[/[\.;})\]]/,/[^\s]\s*\r*\n/],d:!0},{a:"js css",b:"array",i:[/\[/],k:[/\]/],d:!0,l:!0,f:!0},{a:"js css",b:"block",i:[/\{/],k:[/\}/],d:!0,l:!0,f:!0},{a:"js",b:"var/let/const",i:[/(var|let|const)[\s]*\r*\n/],k:[u],d:!0,g:!0},{a:"js",b:"var/let/const",i:[/(var|let|const)\s+(?=[\w$])/],k:[/[,;=]/,u],d:!0},{a:"js",b:"var/let/const",h:["var/let/const","="],i:[/,[\s]*\r*\n/],k:[/[,;]/,u],d:!0,callback:c},{a:"js",b:"var/let/const",h:["var/let/const","="],i:[/^,/],k:[/[,;]/,u],j:!0,d:!0,c:-1,callback:c},{a:"js",b:"equality",i:[/[=<>!]=(=)?/],k:[/./]},{a:"js",b:"=",i:[/=/],k:[/[,;\)\]}]/,d]},{a:"js",b:"?:",i:[/\?/],k:[/[:;]/],g:!0,d:!0},{a:"js",b:"case",i:[/^(case|default)[\s:]/],k:[/break[\s;\r\n]/,/^return[\s;\r\n]/,/^case[\s]+/,/^default[\s:]/,/}/],g:function(n){return n.endPatternIndex<=1},d:!0,f:!0},{a:"js",b:"semicolon",i:[/;/],k:[/./]}];return{css:function(n,r){return t(n,e("css",f),r)},js:function(n,r){return t(n,e("js",f),r)},ts:function(n,r){return t(n,e("js",f),r)},html:function(n,r){var a=r&&r.indentHtmlTag?e("html",f,"html-tag"):e("html",f);return t(n,a,r)}}}(this);return n}); |
{ | ||
"name": "indent.js", | ||
"version": "0.3.1", | ||
"version": "0.3.2", | ||
"description": "Fast minimalistic pure indentation of JavaScript, CSS, and HTML.", | ||
"main": "lib/indent.js", | ||
"module": "lib/index.js", | ||
"directories": { | ||
@@ -18,3 +19,4 @@ "test": "tests", | ||
"gulp-umd": "^0.2.0", | ||
"mocha": "^4.0.1" | ||
"mocha": "^4.0.1", | ||
"pump": "^3.0.0" | ||
}, | ||
@@ -21,0 +23,0 @@ "scripts": { |
@@ -26,3 +26,3 @@ # indent.js - pure code indentation for jsx, tsx, ts, js, html, css, less, scss | ||
```javascript | ||
var indented = indent.js(code, '\t'); | ||
var indented = indent.js(code, {tabString: '\t'}); | ||
console.log(indented); | ||
@@ -34,3 +34,3 @@ ``` | ||
define(['indent'] , function (indent) { | ||
var indented = indent.js(code, '\t'); | ||
var indented = indent.js(code, {tabString: '\t'}); | ||
console.log(indented); | ||
@@ -43,11 +43,38 @@ }); | ||
var indent = require('indent'); | ||
var indented = indent.js(code, ' '); | ||
var indented = indent.js(code, {tabString: ' '}); | ||
console.log(indented); | ||
``` | ||
ES6/ES2015 Modules | ||
```javascript | ||
import {indent} from 'indent.js'; | ||
var indentedJs = indent.js(code); // JSX as well | ||
var indentedTs = indent.ts(code); // TSX as well | ||
var indentedCss = indent.css(code); | ||
var indentedHtml = indent.html(code); | ||
``` | ||
## Projects using indent.js: | ||
1. [Spck.io - An offline web editor that keeps your data private](https://spck.io/) | ||
1. [Spck Editor - Full-fledged code editor for the web](https://spck.io/) | ||
## API Reference | ||
### Methods | ||
```javascript | ||
js(code: String, options: Object): String | ||
ts(code: String, options: Object): String | ||
css(code: String, options: Object): String | ||
html(code: String, options: Object): String | ||
``` | ||
#### Options | ||
|Field|Type|Description| | ||
|:--- |:--- |:--- | | ||
|`tabString`|`string`|String to indent the code with. Counts as 1 indent.| | ||
|`indentHtmlTag`|`bool`|Whether to indent contents inside `<html>` tag or not. Valid only for `html(...)`.| | ||
## Languages still not supported: | ||
@@ -60,4 +87,5 @@ | ||
1. Run `npm install` to install dependencies | ||
2. Run `npm test` to run tests in `tests` folder | ||
3. Run `npm run build` to build the project | ||
1. Clone the repo. | ||
2. Run `npm install` to install dependencies | ||
3. Run `npm test` to run tests in `tests` folder | ||
4. Run `npm run build` to build the project |
@@ -416,3 +416,3 @@ var indent = (function (root) { | ||
html: function (code, options) { | ||
var rules = options.indentHtmlTag ? | ||
var rules = options && options.indentHtmlTag ? | ||
filterRules('html', MASTER_RULES, 'html-tag') : filterRules('html', MASTER_RULES); | ||
@@ -439,3 +439,3 @@ return indent(code, rules, options); | ||
*/ | ||
var tabString = options.tabString === undefined ? '\t' : options.tabString; | ||
var tabString = options && options.tabString != null ? options.tabString : '\t'; | ||
var lines = code.split(/[\r]?\n/gi); | ||
@@ -454,10 +454,12 @@ var lineCount = lines.length; | ||
options.debug = { | ||
buffers: { | ||
ignore: ignoreBuffer, | ||
indent: indentBuffer, | ||
dedent: dedentBuffer, | ||
active: activeMatches | ||
} | ||
}; | ||
if (options) { | ||
options.debug = { | ||
buffers: { | ||
ignore: ignoreBuffer, | ||
indent: indentBuffer, | ||
dedent: dedentBuffer, | ||
active: activeMatches | ||
} | ||
}; | ||
} | ||
@@ -464,0 +466,0 @@ while (l < lineCount) { |
Sorry, the diff of this file is not supported yet
1358449
67
2492
88
7