Skip to content

Commit ae9845f

Browse files
committed
add special formatting for displaying raw pointers in signatures
1 parent 4b730a2 commit ae9845f

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

src/librustdoc/html/static/js/search.js

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,8 @@ function getNextElem(query, parserState, elems, isInGenerics) {
606606
c = parserState.userQuery[parserState.pos];
607607
}
608608
const generics = [];
609-
if (parserState.userQuery.slice(parserState.pos, parserState.pos + 3) === "mut") {
609+
const pos = parserState.pos;
610+
if (parserState.userQuery.slice(pos, pos + 3) === "mut") {
610611
generics.push(makePrimitiveElement("mut", { typeFilter: "keyword" }));
611612
parserState.pos += 3;
612613
c = parserState.userQuery[parserState.pos];
@@ -623,7 +624,7 @@ function getNextElem(query, parserState, elems, isInGenerics) {
623624
getFilteredNextElem(query, parserState, generics, isInGenerics);
624625
}
625626
elems.push(makePrimitiveElement(name, { generics }));
626-
}
627+
};
627628

628629
skipWhitespace(parserState);
629630
let start = parserState.pos;
@@ -2324,6 +2325,25 @@ class DocSearch {
23242325
}, result),
23252326
);
23262327
return true;
2328+
} else if (fnType.id === this.typeNameIdOfPointer) {
2329+
pushText({ name: "*", highlighted: fnType.highlighted }, result);
2330+
if (fnType.generics.length < 2) {
2331+
pushText({ name: "const ", highlighted: fnType.highlighted }, result);
2332+
}
2333+
let prevHighlighted = false;
2334+
await onEachBtwnAsync(
2335+
fnType.generics,
2336+
async value => {
2337+
prevHighlighted = !!value.highlighted;
2338+
await writeFn(value, result);
2339+
},
2340+
// @ts-expect-error
2341+
value => pushText({
2342+
name: " ",
2343+
highlighted: prevHighlighted && value.highlighted,
2344+
}, result),
2345+
);
2346+
return true;
23272347
} else if (
23282348
fnType.id === this.typeNameIdOfFn ||
23292349
fnType.id === this.typeNameIdOfFnMut ||

0 commit comments

Comments
 (0)