Current File : /home/pacjaorg/public_html/kmm/media/vendor/codemirror/addon/fold/brace-fold.min.js
(function(t){typeof exports=="object"&&typeof module=="object"?t(require("../../lib/codemirror")):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],t):t(CodeMirror)})(function(t){"use strict";function A(r){return function(u,i){var n=i.line,s=u.getLine(n);function v(l){for(var a,g=i.ch,h=0;;){var c=g<=0?-1:s.lastIndexOf(l[0],g-1);if(c==-1){if(h==1)break;h=1,g=s.length;continue}if(h==1&&c<i.ch)break;if(a=u.getTokenTypeAt(t.Pos(n,c+1)),!/^(comment|string)/.test(a))return{ch:c+1,tokenType:a,pair:l};g=c-1}}function P(l){var a=1,g=u.lastLine(),h,c=l.ch,d;e:for(var p=n;p<=g;++p)for(var L=u.getLine(p),k=p==n?c:0;;){var T=L.indexOf(l.pair[0],k),y=L.indexOf(l.pair[1],k);if(T<0&&(T=L.length),y<0&&(y=L.length),k=Math.min(T,y),k==L.length)break;if(u.getTokenTypeAt(t.Pos(p,k+1))==l.tokenType){if(k==T)++a;else if(!--a){h=p,d=k;break e}}++k}return h==null||n==h?null:{from:t.Pos(n,c),to:t.Pos(h,d)}}for(var f=[],e=0;e<r.length;e++){var o=v(r[e]);o&&f.push(o)}f.sort(function(l,a){return l.ch-a.ch});for(var e=0;e<f.length;e++){var b=P(f[e]);if(b)return b}return null}}t.registerHelper("fold","brace",A([["{","}"],["[","]"]])),t.registerHelper("fold","brace-paren",A([["{","}"],["[","]"],["(",")"]])),t.registerHelper("fold","import",function(r,u){function i(e){if(e<r.firstLine()||e>r.lastLine())return null;var o=r.getTokenAt(t.Pos(e,1));if(/\S/.test(o.string)||(o=r.getTokenAt(t.Pos(e,o.end+1))),o.type!="keyword"||o.string!="import")return null;for(var b=e,l=Math.min(r.lastLine(),e+10);b<=l;++b){var a=r.getLine(b),g=a.indexOf(";");if(g!=-1)return{startCh:o.end,end:t.Pos(b,g)}}}var n=u.line,s=i(n),v;if(!s||i(n-1)||(v=i(n-2))&&v.end.line==n-1)return null;for(var P=s.end;;){var f=i(P.line+1);if(f==null)break;P=f.end}return{from:r.clipPos(t.Pos(n,s.startCh+1)),to:P}}),t.registerHelper("fold","include",function(r,u){function i(f){if(f<r.firstLine()||f>r.lastLine())return null;var e=r.getTokenAt(t.Pos(f,1));if(/\S/.test(e.string)||(e=r.getTokenAt(t.Pos(f,e.end+1))),e.type=="meta"&&e.string.slice(0,8)=="#include")return e.start+8}var n=u.line,s=i(n);if(s==null||i(n-1)!=null)return null;for(var v=n;;){var P=i(v+1);if(P==null)break;++v}return{from:t.Pos(n,s+1),to:r.clipPos(t.Pos(v))}})});
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!