static/js/helpers.js
function (lineNum, attributeName){
        var _ = require('ep_etherpad-lite/static/js/underscore');
        if(!_.isArray(attributeName)){
            attributeName = [attributeName];
        }
        var allAttribs = this.getAllAttributesOnLine(lineNum);
        return _.filter(allAttribs, function(a){
            return _.contains(attributeName, a.name);
        });
    }
function (lineNum, attributeName){
        var _ = require('ep_etherpad-lite/static/js/underscore');
        if(!_.isArray(attributeName)){
            attributeName = [attributeName];
        }
        var allAttribs = this.getAllAttributesOnLine(lineNum);
        return _.filter(allAttribs, function(a){
            return _.contains(attributeName, a.name);
        });
    }
Returns attributes filtered out by name of attribute on selected line
TIP: It should be called from stack callWithAce (inside)
@example: You can use Cristo.callWithAce(function(ace){Cristo.getAttributesOnLineByRange()},'myCall')
@param lineNum {Number}
@param attributeName {String}
@see Cristo.getAllAttributesOnLine
@returns {Array} name, value, offset, limit, charStart, charEnd, remove(), changeValue()