// 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 maintained by Ariya Hidayat.