Fix eBNF and handling of whitespace characters when not in a path
This commit is contained in:
parent
4f0a9124bd
commit
e4ee329865
2 changed files with 116 additions and 3 deletions
|
@ -838,7 +838,13 @@ function initSearch(rawSearchIndex) {
|
|||
throw ["Unexpected ", c];
|
||||
} else if (c === ":" && !isPathStart(parserState)) {
|
||||
if (parserState.typeFilter !== null) {
|
||||
throw ["Unexpected ", ":"];
|
||||
throw [
|
||||
"Unexpected ",
|
||||
":",
|
||||
" (expected path after type filter ",
|
||||
parserState.typeFilter + ":",
|
||||
")",
|
||||
];
|
||||
} else if (query.elems.length === 0) {
|
||||
throw ["Expected type filter before ", ":"];
|
||||
} else if (query.literalSearch) {
|
||||
|
@ -853,6 +859,9 @@ function initSearch(rawSearchIndex) {
|
|||
query.literalSearch = false;
|
||||
foundStopChar = true;
|
||||
continue;
|
||||
} else if (isWhitespace(c)) {
|
||||
skipWhitespace(parserState);
|
||||
continue;
|
||||
}
|
||||
if (!foundStopChar) {
|
||||
let extra = "";
|
||||
|
@ -983,7 +992,7 @@ function initSearch(rawSearchIndex) {
|
|||
* path = ident *(DOUBLE-COLON/{WS} ident) [!]
|
||||
* slice = OPEN-SQUARE-BRACKET [ nonempty-arg-list ] CLOSE-SQUARE-BRACKET
|
||||
* arg = [type-filter *WS COLON *WS] (path [generics] / slice)
|
||||
* type-sep = COMMA *(COMMA)
|
||||
* type-sep = *WS COMMA *(COMMA)
|
||||
* nonempty-arg-list = *(type-sep) arg *(type-sep arg) *(type-sep)
|
||||
* generics = OPEN-ANGLE-BRACKET [ nonempty-arg-list ] *(type-sep)
|
||||
* CLOSE-ANGLE-BRACKET
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue