c9-core/plugins/c9.ide.language.javascript/jumptodef.js

31 wiersze
934 B
JavaScript
Czysty Zwykły widok Historia

2017-01-06 10:47:08 +00:00
/**
* JavaScript jump to definition.
*
* @copyright 2013, Ajax.org B.V.
*/
define(function(require, exports, module) {
var baseLanguageHandler = require('plugins/c9.ide.language/base_handler');
var handler = module.exports = Object.create(baseLanguageHandler);
var scopes = require("plugins/c9.ide.language.javascript/scope_analyzer");
handler.handlesLanguage = function(language) {
return language === "javascript" || language === "jsx";
};
handler.jumpToDefinition = function(doc, ast, pos, options, callback) {
if (!ast || !options.node)
return callback();
scopes.analyze(doc.getValue(), ast, function() {
scopes.getRenamePositions(doc, ast, pos, options, function (data) {
if (!data || !data.declarations || data.declarations.length === 0) {
return callback(null);
}
callback(data.declarations);
});
}, true);
};
});