Skip to content

Commit

Permalink
doc pages: add the ability to search unknown types
Browse files Browse the repository at this point in the history
This enables `*` in all type positions in doc searches, which I often
want in order to find functions that create or convert specific
types (e.g. `* -> vec`) but I don't actually know what kinds of input
they expect.

I actually started working on this because of #31598, but I've wanted it
several times when exploring new crates.
  • Loading branch information
quodlibetor authored and Manishearth committed Feb 15, 2016
1 parent 3e1a6c7 commit 17691af
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/librustdoc/html/layout.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ r##"<!DOCTYPE html>
<p>
Search functions by type signature (e.g.
<code>vec -> usize</code>)
<code>vec -> usize</code> or <code>* -> vec</code>)
</p>
</div>
</div>
Expand Down
6 changes: 3 additions & 3 deletions src/librustdoc/html/static/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@
var parts = val.split("->").map(trimmer);
var input = parts[0];
// sort inputs so that order does not matter
var inputs = input.split(",").map(trimmer).sort();
var inputs = input.split(",").map(trimmer).sort().toString();
var output = parts[1];

for (var i = 0; i < nSearchWords; ++i) {
Expand All @@ -296,8 +296,8 @@

// allow searching for void (no output) functions as well
var typeOutput = type.output ? type.output.name : "";
if (inputs.toString() === typeInputs.toString() &&
output == typeOutput) {
if ((inputs === "*" || inputs === typeInputs.toString()) &&
(output === "*" || output == typeOutput)) {
results.push({id: i, index: -1, dontValidate: true});
}
}
Expand Down

0 comments on commit 17691af

Please sign in to comment.