1
Fork 0
Commit graph

159 commits

Author SHA1 Message Date
bors
421a2113a8 Auto merge of #45039 - QuietMisdreavus:doc-spotlight, r=GuillaumeGomez,QuietMisdreavus
show in docs whether the return type of a function impls Iterator/Read/Write

Closes #25928

This PR makes it so that when rustdoc documents a function, it checks the return type to see whether it implements a handful of specific traits. If so, it will print the impl and any associated types. Rather than doing this via a whitelist within rustdoc, i chose to do this by a new `#[doc]` attribute parameter, so things like `Future` could tap into this if desired.

### Known shortcomings

~~The printing of impls currently uses the `where` class over the whole thing to shrink the font size relative to the function definition itself. Naturally, when the impl has a where clause of its own, it gets shrunken even further:~~ (This is no longer a problem because the design changed and rendered this concern moot.)

The lookup currently just looks at the top-level type, not looking inside things like Result or Option, which renders the spotlights on Read/Write a little less useful:

<details><summary>`File::{open, create}` don't have spotlight info (pic of old design)</summary>

![image](https://user-images.githubusercontent.com/5217170/31209495-e59d027e-a950-11e7-9998-ceefceb71c07.png)

</details>

All three of the initially spotlighted traits are generically implemented on `&mut` references. Rustdoc currently treats a `&mut T` reference-to-a-generic as an impl on the reference primitive itself. `&mut Self` counts as a generic in the eyes of rustdoc. All this combines to create this lovely scene on `Iterator::by_ref`:

<details><summary>`Iterator::by_ref` spotlights Iterator, Read, and Write (pic of old design)</summary>

![image](https://user-images.githubusercontent.com/5217170/31209554-50b271ca-a951-11e7-928b-4f83416c8681.png)

</details>
2017-11-21 03:03:28 +00:00
Guillaume Gomez
6047a03659 Add tooltip for important traits display 2017-11-18 14:37:10 +01:00
bors
18250b0349 Auto merge of #46073 - GuillaumeGomez:rollup, r=GuillaumeGomez
Rollup of 4 pull requests

- Successful merges: #45767, #46044, #46066, #46071
- Failed merges:
2017-11-18 11:38:06 +00:00
Guillaume Gomez
85dcf2ecb6 Improve modal display and add JS events 2017-11-17 22:50:15 +01:00
Guillaume Gomez
aca1bd7d7e First step for important traits UI 2017-11-17 22:50:15 +01:00
QuietMisdreavus
cbe4ac3079 spotlight Iterator/Read/Write impls on function return types 2017-11-17 22:50:15 +01:00
Guillaume Gomez
955c054ab1 Fix primitive types not showing up 2017-11-17 22:33:02 +01:00
kennytm
2792b56a92
Support extern type in rustdoc.
Fixes #45640.
2017-11-15 18:20:28 +08:00
Guillaume Gomez
0e4c829f2b Add "As parameters" items as well 2017-11-12 21:38:24 +01:00
Guillaume Gomez
5c5ab0d1fb Improve result output 2017-11-12 21:38:24 +01:00
Guillaume Gomez
6514f44bd1 Big JS optimization 2017-11-12 21:38:23 +01:00
Guillaume Gomez
c96be6f4cb Add elements count in tab search title 2017-11-12 21:38:23 +01:00
Guillaume Gomez
c3207ba0cf JS big updates 2017-11-12 21:38:23 +01:00
Guillaume Gomez
fec24adea8 Rollup merge of #45812 - GuillaumeGomez:links-and-search, r=QuietMisdreavus
Fix navbar click while in a search

Fixes #45790.
2017-11-11 13:38:06 +01:00
Guillaume Gomez
0d898998b1 Few improvements on search, history and title 2017-11-11 00:44:36 +01:00
Guillaume Gomez
72338b8ccb Allow to go back to previous search 2017-11-10 19:40:46 +01:00
Guillaume Gomez
5e116985eb Add "-" shortcut 2017-11-07 22:44:18 +01:00
Guillaume Gomez
acd5e8cd4e Fix navbar click while in a search 2017-11-06 23:49:47 +01:00
Guillaume Gomez
ee7e372bbf Remove duplicated results in the search 2017-11-01 13:41:43 +01:00
Guillaume Gomez
e8db5adcce fix function not appearing in first tab when appearing in another one. Thanks to @Seeker14491 for this one! 2017-11-01 13:41:43 +01:00
Guillaume Gomez
f6a546e14d Be more flexible when looking for something by using levenshtein method 2017-11-01 13:41:43 +01:00
Guillaume Gomez
6f21008aba Better check for returned value 2017-11-01 13:41:43 +01:00
Guillaume Gomez
56dbb3e32d Keep displaying good information when query is made 2017-11-01 13:41:43 +01:00
bors
a651106ad0 Auto merge of #45288 - GuillaumeGomez:tab-key-binding, r=QuietMisdreavus
Save the highlighted item when switching tab

To be merged after #45281.

r? @rust-lang/docs
2017-10-19 23:55:20 +00:00
kennytm
4913b92ff5 Rollup merge of #45281 - GuillaumeGomez:tab-selection, r=QuietMisdreavus
Save selected search tab

Fixes #45278.

r? @rust-lang/docs
2017-10-19 01:59:50 +08:00
Guillaume Gomez
c6ce067216 Hide help when search bar is focused 2017-10-14 18:46:29 +02:00
Guillaume Gomez
f44232688e Save current highlighted item in search tab 2017-10-14 18:24:27 +02:00
Guillaume Gomez
45bb03f60c Save selected search tab 2017-10-14 18:15:20 +02:00
Guillaume Gomez
3a65d12df7 Add tabs for search for better information access
Make tabs work
2017-10-09 23:26:10 +02:00
Guillaume Gomez
79f888da68 Add arrow and improve display 2017-09-11 22:31:37 +02:00
pravic
cb4a2d5078 Fix ES5 regression with shorthand names.
Reverts 1b6c9605e4.
2017-08-17 12:41:57 +03:00
Zack M. Davis
1b6c9605e4 use field init shorthand EVERYWHERE
Like #43008 (f668999), but _much more aggressive_.
2017-08-15 15:29:17 -07:00
QuietMisdreavus
1f9d032b38 rustdoc: put auto-hidden docblock labels in line with the toggle 2017-08-14 10:54:24 -05:00
Zack M. Davis
749dcbaa88 rustdoc: add unions to whitelist of sidebar types
This resolves #43405.
2017-07-23 17:18:58 -07:00
Guillaume Gomez
7327cf7be5 Toggle wrappers are now generated correctly 2017-06-29 22:10:24 +02:00
Clar Charr
dd23fda9bd Make rustdoc.js use license comments. 2017-06-07 22:44:53 -04:00
Mark Simulacrum
5ded76ca21 Rollup merge of #42096 - ollie27:rustdoc_js_impls, r=GuillaumeGomez
rustdoc: Fix implementors list javascript

* Use a different loop variable, `i` was already taken. This caused
missing items in the implementors list.
* Use `.getAttribute('href')` rather than `.href` to get the relative
URL which is what it needs to actually fix the links.

More fallout from #41307.

r? @GuillaumeGomez
2017-05-19 14:16:25 -06:00
Oliver Middleton
e48086c04f rustdoc: Fix implementors list javascript
* Use a different loop variable, `i` was already taken. This caused
missing items in the implementors list.
* Use `.getAttribute('href')` rather than `.href` to get the relative
URL which is what it needs to actually fix the links.
2017-05-19 02:59:04 +01:00
pravic
1eb6639508 Make documentation works again by removing two unnecessary ES6 pieces. 2017-05-18 10:35:18 +03:00
Guillaume Gomez
b09a19b7c7 Fix anchor invalid redirection to search 2017-05-12 23:09:25 +02:00
Guillaume Gomez
6f4c12e210 Remove jquery dependency 2017-05-02 13:54:42 +02:00
Andy Russell
8a1d2a3a5a
rustdoc: collapse docblock before showing label 2017-04-06 21:56:47 -04:00
Guillaume Gomez
081336e8eb Improve associated constant rendering in rustdoc 2017-02-26 15:50:53 +01:00
Oliver Middleton
4f15e1183c rustdoc: Fix short summaries in search results
They should be run through a Markdown renderer in rustdoc to remove
links.

This also fixes the mouse over text for the Crates list on the sidebar.
2016-12-12 18:39:36 +00:00
Eduard-Mihai Burtescu
900191891f rustdoc: link to cross-crate sources directly. 2016-11-30 04:48:56 +02:00
QuietMisdreavus
fff921672f rustdoc: fold fields for enum struct variants into a docblock 2016-11-12 13:59:17 -06:00
Guillaume Gomez
520d5f4cb9 Set attributes hidden by default 2016-11-06 22:56:35 +01:00
Guillaume Gomez
22dad4b044 Improve attributes display and allow expansion 2016-11-06 21:03:08 +01:00
Vadim Petrochenkov
6792bd99fe Support unions in rustdoc 2016-09-03 13:39:34 +03:00
Oliver Middleton
616b101e3f rustdoc: Don't include the path for primitive methods in the search results
Displaying `std::u32::max_value` is misleading so just display
`u32::max_value`.
2016-08-13 15:57:44 +01:00