// Array shuffling code from Underscore.js.
_.shuffle = function(obj) {
var shuffled = [], rand;
each(obj, function(value, index, list) {
rand = Math.floor(Math.random() * (index + 1));
shuffled[index] = shuffled[rand];
shuffled[rand] = value;
});
return shuffled;
};
When the cursor is placed on a variable or a function, changing the name will also rename all other identical references.
Identifier declaration is indicated by the sign
on the left-side gutter.
For scope analysis and reference lookup, two libraries escope and esrefactor are being used.
Esprima is created and mantained by Ariya Hidayat.