Rename Refactoring to assist search and replace

// 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;
};
Ready.

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.