control-freak-ide/Code/client/build/xwire/xace/views/_AceMultiDocs.js
plastic-hub-dev-node-saturn 538369cff7 latest
2021-05-12 18:35:18 +02:00

6 lines
1.9 KiB
JavaScript

//>>built
define("xace/views/_AceMultiDocs",["dcl/dcl","xdojo/declare","module","xace/base_handler","xace/complete_util"],function(n,w,u,v,q){function r(a,c,b,d){c=c.split(/[^a-zA-Z_0-9\$]+/);for(var e=0;e<c.length;e++){var f=c[e];f&&(Object.prototype.hasOwnProperty.call(b,f)?b[f]++:(b[f]=1,d[f]={}),d[f][a]=!0)}return b}function t(a){var c=e[a];if(c){for(var b in c)k[b]-=c[b],delete l[b][a],0===k[b]&&(delete k[b],delete l[b]);delete e[a]}}function p(a,c){e[a]||(8E5<c.size?delete e[a]:(e[a]=r(a,c,{},{}),r(a,
c,k,l)))}var e={},k={},l={},g,m,d=u.exports=Object.create(v);d.handlesLanguage=function(a){return!0};d.handlesEditor=function(){return this.HANDLES_ANY};d.getMaxFileSizeSupported=function(){return 1E6};d.onDocumentOpen=function(a,c,b,d){e[a]||p(a,c.getValue());d()};d.addDocument=function(a,c){e[a]||p(a,c)};d.onDocumentClose=function(a,c){t(a);a==g&&(m=null);c()};d.analyze=function(a,c,b,d){m&&this.path!==g&&(t(g),p(g,m),m=null);g=this.path;m=a;b()};d.complete=function(a,c,b,d,e){a=a.getSession().getLine(b.row);
b=q.retrievePrecedingIdentifier(a,b.column,this.$getIdentifierRegex());var f=k;a=[];for(var h in f)a.push(h);h=q.findCompletions(b,a);var g=this.path;h=h.filter(function(a){return!l[a][g]});h=h.slice(0,100);e(h.filter(function(a){return!a.match(/^[0-9$_\/]/)}).map(function(a){var b=(Object.keys(l[a])[0]||"[unknown]").split("/");return{name:a,value:a,icon:null,score:f[a],meta:b[b.length-1],priority:0,isGeneric:!0}}))};d.getCompletions=function(a,c,b,e,g){var f=null;d.complete(a,null,b,null,function(a){f=
a});g(null,f)};n=n(null,{declaredClass:"xide.views._AceMultiDocs",didAddMCompleter:!1,multiFileCompleter:null,addFileCompleter:function(){var a=null;this.didAddMCompleter||(this.multiFileCompleter=a=d,ace.require("ace/ext/language_tools").addCompleter(a),this.didAddMCompleter=!0);return a}});n.completer=d;return n});
//# sourceMappingURL=_AceMultiDocs.js.map