Current File : /home/pacjaorg/public_html/kmm/media/vendor/codemirror/addon/fold/xml-fold.min.js |
(function(l){typeof exports=="object"&&typeof module=="object"?l(require("../../lib/codemirror")):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],l):l(CodeMirror)})(function(l){"use strict";var o=l.Pos;function g(n,e){return n.line-e.line||n.ch-e.ch}var m="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",p=m+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",h=new RegExp("<(/?)(["+m+"]["+p+"]*)","g");function a(n,e,u,f){this.line=e,this.ch=u,this.cm=n,this.text=n.getLine(e),this.min=f?Math.max(f.from,n.firstLine()):n.firstLine(),this.max=f?Math.min(f.to-1,n.lastLine()):n.lastLine()}function s(n,e){var u=n.cm.getTokenTypeAt(o(n.line,e));return u&&/\btag\b/.test(u)}function d(n){if(!(n.line>=n.max))return n.ch=0,n.text=n.cm.getLine(++n.line),!0}function C(n){if(!(n.line<=n.min))return n.text=n.cm.getLine(--n.line),n.ch=n.text.length,!0}function x(n){for(;;){var e=n.text.indexOf(">",n.ch);if(e==-1){if(d(n))continue;return}if(!s(n,e+1)){n.ch=e+1;continue}var u=n.text.lastIndexOf("/",e),f=u>-1&&!/\S/.test(n.text.slice(u+1,e));return n.ch=e+1,f?"selfClose":"regular"}}function F(n){for(;;){var e=n.ch?n.text.lastIndexOf("<",n.ch-1):-1;if(e==-1){if(C(n))continue;return}if(!s(n,e+1)){n.ch=e;continue}h.lastIndex=e,n.ch=e;var u=h.exec(n.text);if(u&&u.index==e)return u}}function L(n){for(;;){h.lastIndex=n.ch;var e=h.exec(n.text);if(!e){if(d(n))continue;return}if(!s(n,e.index+1)){n.ch=e.index+1;continue}return n.ch=e.index+e[0].length,e}}function D(n){for(;;){var e=n.ch?n.text.lastIndexOf(">",n.ch-1):-1;if(e==-1){if(C(n))continue;return}if(!s(n,e+1)){n.ch=e;continue}var u=n.text.lastIndexOf("/",e),f=u>-1&&!/\S/.test(n.text.slice(u+1,e));return n.ch=e+1,f?"selfClose":"regular"}}function v(n,e){for(var u=[];;){var f=L(n),i,c=n.line,t=n.ch-(f?f[0].length:0);if(!f||!(i=x(n)))return;if(i!="selfClose")if(f[1]){for(var r=u.length-1;r>=0;--r)if(u[r]==f[2]){u.length=r;break}if(r<0&&(!e||e==f[2]))return{tag:f[2],from:o(c,t),to:o(n.line,n.ch)}}else u.push(f[2])}}function b(n,e){for(var u=[];;){var f=D(n);if(!f)return;if(f=="selfClose"){F(n);continue}var i=n.line,c=n.ch,t=F(n);if(!t)return;if(t[1])u.push(t[2]);else{for(var r=u.length-1;r>=0;--r)if(u[r]==t[2]){u.length=r;break}if(r<0&&(!e||e==t[2]))return{tag:t[2],from:o(n.line,n.ch),to:o(i,c)}}}}l.registerHelper("fold","xml",function(n,e){for(var u=new a(n,e.line,0);;){var f=L(u);if(!f||u.line!=e.line)return;var i=x(u);if(!i)return;if(!f[1]&&i!="selfClose"){var c=o(u.line,u.ch),t=v(u,f[2]);return t&&g(t.from,c)>0?{from:c,to:t.from}:null}}}),l.findMatchingTag=function(n,e,u){var f=new a(n,e.line,e.ch,u);if(!(f.text.indexOf(">")==-1&&f.text.indexOf("<")==-1)){var i=x(f),c=i&&o(f.line,f.ch),t=i&&F(f);if(!(!i||!t||g(f,e)>0)){var r={from:o(f.line,f.ch),to:c,tag:t[2]};return i=="selfClose"?{open:r,close:null,at:"open"}:t[1]?{open:b(f,t[2]),close:r,at:"close"}:(f=new a(n,c.line,c.ch,u),{open:r,close:v(f,t[2]),at:"open"})}}},l.findEnclosingTag=function(n,e,u,f){for(var i=new a(n,e.line,e.ch,u);;){var c=b(i,f);if(!c)break;var t=new a(n,e.line,e.ch,u),r=v(t,c.tag);if(r)return{open:c,close:r}}},l.scanForClosingTag=function(n,e,u,f){var i=new a(n,e.line,e.ch,f?{from:0,to:f}:null);return v(i,u)}});