function filterModules (searchText) {
      let results;
      // Optimization: Limit number of results to ensure UI is responsive.
      // To benchmark typeahead responsiveness, use /demos/q4000-qunit.html.
      if (searchText === '') {
        // Improve on-boarding experience by having an immediate display of
        // module names, indicating how the interface works. This also makes
        // for a quicker interaction in the common case of small projects.
        // Don't mandate typing just to get the menu.
        results = dropdownData.options.slice(0, 100).map(obj => {
          // Fake empty results. https://github.com/farzher/fuzzysort/issues/41
          return { obj: obj };
        });
      } else {
        results = fuzzysort.go(searchText, dropdownData.options, {
          limit: 100,
          key: 'name',
          allowTypo: true
        });
      }

      return moduleListHtml(results);
    }
@param {string} searchText
@return {string} HTML