rust/src/tools
Dylan DPC 976c6b2d19
Rollup merge of #90630 - GuillaumeGomez:improve-rustdoc-search, r=notriddle
Create real parser for search queries

You can test it [here](https://rustdoc.crud.net/imperio/improve-rustdoc-search/std/index.html).

This PR adds a real parser for the query engine in rustdoc. The parser is quite simple but it allows to makes query handling much easier. I added a new testsuite to ensure it works as expected and ran fuzzing checks on it for a few hours without problems.

So about the parser: as you can see in the screenshot, it handles recursive generics parsing. It also allows to set which item should use exact matching by adding double-quotes around it (look for `exact_search` in the screenshot).

Now about the query engine itself: I simplified it a lot thanks to the parsed query. It behaves mostly the same when there is only one argument, but is much more powerful when there are more than one.

When making this change, we also removed the support for multi-query.

PS: A big part of the PR is tests and test-related code. :)

r? `@camelid`
2022-04-21 01:14:13 +02:00
..
build-manifest Promote x86_64-unknown-none to Tier 2 2022-04-07 22:02:32 -04:00
bump-stage0 remove "field is never read" warning 2021-10-23 21:55:57 -04:00
cargo@edffc4ada3 Update cargo 2022-04-20 06:50:39 -07:00
cargotest Bump the ripgrep commit exercised by cargotest 2022-03-26 21:55:19 -07:00
clippy Rollup merge of #96142 - cjgillot:no-crate-def-index, r=petrochenkov 2022-04-19 14:43:21 +02:00
compiletest Auto merge of #94243 - compiler-errors:compiler-flags-typo, r=Mark-Simulacrum 2022-04-11 00:58:22 +00:00
error_index_generator [error index] Move some logic from build.rs to main.rs 2022-03-27 12:09:06 -05:00
expand-yaml-anchors Migrate to 2021 2021-09-20 22:21:42 -04:00
html-checker Support early stopping too old pre-installed tidy command for macOS in the HTML checker 2021-11-07 10:25:04 +09:00
jsondocck jsondocck: Better error for invalid @count number 2022-03-15 18:34:16 +00:00
linkchecker Also take in account mdbook redirect in linkchecker 2022-03-09 13:45:50 +01:00
lint-docs Adjust documentation for compatibility with 2021 2021-09-20 22:21:43 -04:00
lld-wrapper rustdoc: several minor fixes 2022-02-19 03:47:41 +08:00
miri@1ef91e1227 update Miri 2022-04-16 09:11:31 -04:00
remote-test-client Migrate to 2021 2021-09-20 22:21:42 -04:00
remote-test-server Migrate to 2021 2021-09-20 22:21:42 -04:00
rls@e6f71c9cad bump rls and racer 2022-04-08 22:02:08 +02:00
rust-analyzer@24cf957627 ⬆️ rust-analyzer 2022-04-14 15:42:13 +03:00
rust-demangler mangling_v0: Update tests for the rust-demangler tool 2022-01-08 11:39:34 +08:00
rust-installer@5254dbfd25 bump rust-installer submodule 2020-12-28 12:48:11 +01:00
rustbook Update mdbook 2022-04-15 11:57:06 -07:00
rustc-workspace-hack Update winapi shared features. 2021-10-12 07:14:32 -07:00
rustdoc Migrate to 2021 2021-09-20 22:21:42 -04:00
rustdoc-gui Update browser-ui-test version 2022-03-10 17:49:50 +01:00
rustdoc-js Add an extra check over filter type 2022-04-18 21:43:19 +02:00
rustdoc-themes Migrate to 2021 2021-09-20 22:21:42 -04:00
rustfmt Visit generics inside visit_fn. 2022-04-17 11:03:33 +02:00
tidy Update cargo 2022-04-20 06:50:39 -07:00
tier-check Migrate to 2021 2021-09-20 22:21:42 -04:00
unicode-table-generator Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
unstable-book-gen Use implicit capture syntax in format_args 2022-03-10 10:23:40 -05:00
x Clarify how src/tools/x searches for python 2022-03-29 13:50:17 -05:00
cherry-pick.sh Add cherry-pick.sh convenience script. 2021-08-20 11:58:18 +01:00
publish_toolstate.py Disable validate_maintainers. 2021-09-15 09:25:06 -07:00