docs/_static/searchtools.js
function(object, otherterms) {
    var filenames = this._index.filenames;
    var docnames = this._index.docnames;
    var objects = this._index.objects;
    var objnames = this._index.objnames;
    var titles = this._index.titles;

    var i;
    var results = [];

    for (var prefix in objects) {
      for (var name in objects[prefix]) {
        var fullname = (prefix ? prefix + '.' : '') + name;
        if (fullname.toLowerCase().indexOf(object) > -1) {
          var score = 0;
          var parts = fullname.split('.');
          // check for different match types: exact matches of full name or
          // "last name" (i.e. last dotted part)
          if (fullname == object || parts[parts.length - 1] == object) {
            score += Scorer.objNameMatch;
          // matches in last name
          } else if (parts[parts.length - 1].indexOf(object) > -1) {
            score += Scorer.objPartialMatch;
          }
          var match = objects[prefix][name];
          var objname = objnames[match[1]][2];
          var title = titles[match[0]];
          // If more than one term searched for, we require other words to be
          // found in the name/title/description
          if (otherterms.length > 0) {
            var haystack = (prefix + ' ' + name + ' ' +
                            objname + ' ' + title).toLowerCase();
            var allfound = true;
            for (i = 0; i < otherterms.length; i++) {
              if (haystack.indexOf(otherterms[i]) == -1) {
                allfound = false;
                break;
              }
            }
            if (!allfound) {
              continue;
            }
          }
          var descr = objname + _(', in ') + title;

          var anchor = match[3];
          if (anchor === '')
            anchor = fullname;
          else if (anchor == '-')
            anchor = objnames[match[1]][1] + '-' + fullname;
          // add custom score for some objects according to scorer
          if (Scorer.objPrio.hasOwnProperty(match[2])) {
            score += Scorer.objPrio[match[2]];
          } else {
            score += Scorer.objPrioDefault;
          }
          results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
        }
      }
    }

    return results;
  }
function(object, otherterms) {
    var filenames = this._index.filenames;
    var docnames = this._index.docnames;
    var objects = this._index.objects;
    var objnames = this._index.objnames;
    var titles = this._index.titles;

    var i;
    var results = [];

    for (var prefix in objects) {
      for (var name in objects[prefix]) {
        var fullname = (prefix ? prefix + '.' : '') + name;
        if (fullname.toLowerCase().indexOf(object) > -1) {
          var score = 0;
          var parts = fullname.split('.');
          // check for different match types: exact matches of full name or
          // "last name" (i.e. last dotted part)
          if (fullname == object || parts[parts.length - 1] == object) {
            score += Scorer.objNameMatch;
          // matches in last name
          } else if (parts[parts.length - 1].indexOf(object) > -1) {
            score += Scorer.objPartialMatch;
          }
          var match = objects[prefix][name];
          var objname = objnames[match[1]][2];
          var title = titles[match[0]];
          // If more than one term searched for, we require other words to be
          // found in the name/title/description
          if (otherterms.length > 0) {
            var haystack = (prefix + ' ' + name + ' ' +
                            objname + ' ' + title).toLowerCase();
            var allfound = true;
            for (i = 0; i < otherterms.length; i++) {
              if (haystack.indexOf(otherterms[i]) == -1) {
                allfound = false;
                break;
              }
            }
            if (!allfound) {
              continue;
            }
          }
          var descr = objname + _(', in ') + title;

          var anchor = match[3];
          if (anchor === '')
            anchor = fullname;
          else if (anchor == '-')
            anchor = objnames[match[1]][1] + '-' + fullname;
          // add custom score for some objects according to scorer
          if (Scorer.objPrio.hasOwnProperty(match[2])) {
            score += Scorer.objPrio[match[2]];
          } else {
            score += Scorer.objPrioDefault;
          }
          results.push([docnames[match[0]], fullname, '#'+anchor, descr, score, filenames[match[0]]]);
        }
      }
    }

    return results;
  }
function ( object , otherterms ) { var filenames = this . _index . filenames ; var docnames = this . _index . docnames ; var objects = this . _index . objects ; var objnames = this . _index . objnames ; var titles = this . _index . titles ; var i ; var results = [ ] ; for ( var prefix in objects ) { for ( var name in objects [ prefix ] ) { var fullname = ( prefix ? prefix + '.' : '' ) + name ; if ( fullname . toLowerCase ( ) . indexOf ( object ) > - 1 ) { var score = 0 ; var parts = fullname . split ( '.' ) ; // check for different match types: exact matches of full name or // "last name" (i.e. last dotted part) if ( fullname == object || parts [ parts . length - 1 ] == object ) { score += Scorer . objNameMatch ; // matches in last name } else if ( parts [ parts . length - 1 ] . indexOf ( object ) > - 1 ) { score += Scorer . objPartialMatch ; } var match = objects [ prefix ] [ name ] ; var objname = objnames [ match [ 1 ] ] [ 2 ] ; var title = titles [ match [ 0 ] ] ; // If more than one term searched for, we require other words to be // found in the name/title/description if ( otherterms . length > 0 ) { var haystack = ( prefix + ' ' + name + ' ' + objname + ' ' + title ) . toLowerCase ( ) ; var allfound = true ; for ( i = 0 ; i < otherterms . length ; i ++ ) { if ( haystack . indexOf ( otherterms [ i ] ) == - 1 ) { allfound = false ; break ; } } if ( ! allfound ) { continue ; } } var descr = objname + _ ( ', in ' ) + title ; var anchor = match [ 3 ] ; if ( anchor === '' ) anchor = fullname ; else if ( anchor == '-' ) anchor = objnames [ match [ 1 ] ] [ 1 ] + '-' + fullname ; // add custom score for some objects according to scorer if ( Scorer . objPrio . hasOwnProperty ( match [ 2 ] ) ) { score += Scorer . objPrio [ match [ 2 ] ] ; } else { score += Scorer . objPrioDefault ; } results . push ( [ docnames [ match [ 0 ] ] , fullname , '#' + anchor , descr , score , filenames [ match [ 0 ] ] ] ) ; } } } return results ; }
search for object names
search for object names