diff --git a/lib/docs/index.html b/lib/docs/index.html
index dbcb54288a..4d2fda7f1c 100644
--- a/lib/docs/index.html
+++ b/lib/docs/index.html
@@ -647,6 +647,7 @@
No Results Found
diff --git a/lib/docs/main.js b/lib/docs/main.js
index 2b6417c015..ebbe137979 100644
--- a/lib/docs/main.js
+++ b/lib/docs/main.js
@@ -40,7 +40,8 @@ var zigAnalysis;
let domDeclNoRef = document.getElementById("declNoRef");
let domSearch = document.getElementById("search");
let domSectSearchResults = document.getElementById("sectSearchResults");
-
+ let domSectSearchAllResultsLink = document.getElementById("sectSearchAllResultsLink");
+
let domListSearchResults = document.getElementById("listSearchResults");
let domSectSearchNoResults = document.getElementById("sectSearchNoResults");
let domSectInfo = document.getElementById("sectInfo");
@@ -51,6 +52,7 @@ var zigAnalysis;
let domHelpModal = document.getElementById("helpDialog");
let searchTimer = null;
+ let searchTrimResults = true;
let escapeHtmlReplacements = {
"&": "&",
@@ -103,6 +105,14 @@ var zigAnalysis;
// let nodesToCallsMap = indexNodesToCalls();
domSearch.addEventListener("keydown", onSearchKeyDown, false);
+ domSectSearchAllResultsLink.addEventListener('click', onClickSearchShowAllResults, false);
+ function onClickSearchShowAllResults(ev) {
+ ev.preventDefault();
+ ev.stopPropagation();
+ searchTrimResults = false;
+ onHashChange();
+ }
+
domPrivDeclsBox.addEventListener(
"change",
function () {
@@ -355,6 +365,7 @@ var zigAnalysis;
domSectFns.classList.add("hidden");
domSectFields.classList.add("hidden");
domSectSearchResults.classList.add("hidden");
+ domSectSearchAllResultsLink.classList.add("hidden");
domSectSearchNoResults.classList.add("hidden");
domSectInfo.classList.add("hidden");
domHdrName.classList.add("hidden");
@@ -3261,6 +3272,7 @@ var zigAnalysis;
list.sort();
return list;
}
+
function renderSearch() {
let matchedItems = [];
let ignoreCase = curNavSearch.toLowerCase() === curNavSearch;
@@ -3332,6 +3344,14 @@ var zigAnalysis;
return operatorCompare(a.decl.name, b.decl.name);
});
+
+ var searchTrimmed = false
+ var searchTrimResultsMaxItems = 200
+ if (searchTrimResults && matchedItems.length > searchTrimResultsMaxItems) {
+ matchedItems = matchedItems.slice(0, searchTrimResultsMaxItems)
+ searchTrimmed = true
+ }
+
// Build up the list of search results
let matchedItemsHTML = "";
@@ -3342,12 +3362,14 @@ var zigAnalysis;
const text = lastPkgName + "." + match.path.declNames.join(".");
const href = navLink(match.path.pkgNames, match.path.declNames);
- matchedItemsHTML += `
${text}`;
+ matchedItemsHTML += "
"+ text + "";
}
// Replace the search results using our newly constructed HTML string
domListSearchResults.innerHTML = matchedItemsHTML;
-
+ if (searchTrimmed) {
+ domSectSearchAllResultsLink.classList.remove("hidden");
+ }
renderSearchCursor();
domSectSearchResults.classList.remove("hidden");