kopia lustrzana https://github.com/c9/core
42 wiersze
1.3 KiB
JavaScript
42 wiersze
1.3 KiB
JavaScript
define(function(require, exports, module) {
|
|
|
|
var jsonalyzer = require("plugins/c9.ide.language.jsonalyzer/worker/jsonalyzer_worker");
|
|
var PluginBase = require("plugins/c9.ide.language.jsonalyzer/worker/jsonalyzer_base_handler");
|
|
var ctagsUtil = require("plugins/c9.ide.language.jsonalyzer/worker/ctags/ctags_util");
|
|
|
|
var CONFIG = {{CONFIG}};
|
|
var TAGS = CONFIG.tags;
|
|
var GUESS_FARGS = CONFIG.guess_fargs;
|
|
var EXTRACT_DOCS = CONFIG.extract_docs;
|
|
|
|
var handler = module.exports = Object.create(PluginBase);
|
|
|
|
handler.languages = CONFIG.languages;
|
|
|
|
handler.extensions = CONFIG.extensions;
|
|
|
|
handler.analyzeCurrent = function(path, doc, ast, options, callback) {
|
|
if (doc === "")
|
|
return callback(null, {});
|
|
|
|
if (doc.length > jsonalyzer.getMaxFileSizeSupported())
|
|
return callback(null, {});
|
|
|
|
var results = {};
|
|
TAGS.forEach(function(tag) {
|
|
if (tag.kind === "import")
|
|
return;
|
|
ctagsUtil.findMatchingTags(path, doc, tag, GUESS_FARGS, EXTRACT_DOCS, results);
|
|
});
|
|
|
|
callback(null, { properties: results });
|
|
};
|
|
|
|
handler.analyzeOthers = handler.analyzeCurrentAll;
|
|
|
|
handler.findImports = function(path, doc, ast, options, callback) {
|
|
// TODO: get open files + guess imports
|
|
callback(null, ctagsUtil.findMatchingOpenFiles(path));
|
|
};
|
|
|
|
}); |