Commit graph

2812 commits

Author SHA1 Message Date
Corey Farwell
b72c30a8df Rollup merge of #41173 - GuillaumeGomez:fix-rustdoc-code-block-parsing, r=steveklabnik
Fix block code headers parsing

Fixes #41167.

r? @rust-lang/docs
2017-04-11 18:36:13 -04:00
Guillaume Gomez
143f7be8b6 Remove strings fulfilled with whitespaces in code block headers 2017-04-11 17:36:52 +02:00
Guillaume Gomez
d4aecf52db Fix block code headers parsing 2017-04-09 18:31:59 +02:00
QuietMisdreavus
8dd4c44ef6 merge with master to pick up pulldown switch 2017-04-09 10:38:38 -05:00
bors
fe39e94d6c Auto merge of #40887 - estebank:ty-placeholder, r=petrochenkov
Introduce `TyErr` independent from `TyInfer`

Add a `TyErr` type to represent unknown types in places where
parse errors have happened, while still able to build the AST.

Initially only used to represent incorrectly written fn arguments and
avoid "expected X parameters, found Y" errors when called with the
appropriate amount of parameters. We cannot use `TyInfer` for this as
`_` is not allowed as a valid argument type.

Example output:

```rust
error: expected one of `:` or `@`, found `,`
  --> file.rs:12:9
   |
12 | fn bar(x, y: usize) {}
   |         ^

error[E0061]: this function takes 2 parameters but 3 parameters were supplied
  --> file.rs:19:9
   |
12 | fn bar(x, y) {}
   | --------------- defined here
...
19 |     bar(1, 2, 3);
   |         ^^^^^^^ expected 2 parameters
```

Fix #34264.
2017-04-08 11:47:48 +00:00
Esteban Küber
8c31412c2f Merge branch 'master' into ty-placeholder 2017-04-07 14:55:45 -07:00
Corey Farwell
cd2310b93c Rollup merge of #41131 - euclio:collapse-animation, r=GuillaumeGomez
rustdoc: collapse docblock before showing label

The animation for collapsing descriptions is currently pretty jarring, as the label starts fading in as the description is collapsing. This causes the description to jump down a line (and sometimes change indentation) while animating.

This PR modifies this behavior to collapse the block entirely before starting to fade in the collapse button label.

While this PR works well for descriptions of structs, traits, etc., it still does not look ideal for attributes. I'd appreciate any suggestions for improving that animation. Perhaps we want to optimize for the single-attribute case, and try not to collapse the attribute list entirely before fading in the label?
2017-04-07 09:20:11 -04:00
Andy Russell
8a1d2a3a5a
rustdoc: collapse docblock before showing label 2017-04-06 21:56:47 -04:00
QuietMisdreavus
bfd01b7f40 rustdoc: move the space at the end of where clauses
...so that we don't indent the next line by one extra space
2017-04-06 18:36:14 -05:00
QuietMisdreavus
ae0e45c028 rustdoc: where clause adjustment to fix tests
- add spaces to output so stripping lines and breaking spaces renders
  the same
- add commas to where clauses in rustdoc tests to match the new output
2017-04-06 14:19:45 -05:00
Oliver Middleton
f9fb381b2a rustdoc: Use pulldown-cmark for Markdown HTML rendering
Instead of rendering all of the HTML in rustdoc this relies on
pulldown-cmark's `push_html` to do most of the work. A few iterator
adapters are used to make rustdoc specific modifications to the output.

This also fixes MarkdownHtml and link titles in plain_summary_line.
2017-04-06 13:09:20 +01:00
QuietMisdreavus
36bc448c00 style: space between struct name and opening brace 2017-04-05 10:02:37 -05:00
QuietMisdreavus
5bffa0aa50 rustdoc: don't add a space before { on traits with where clauses
cc #41025
2017-04-04 11:16:16 -05:00
QuietMisdreavus
6bc3d65948 rustdoc: properly indent fn signatures in traits 2017-04-04 10:31:57 -05:00
Guillaume Gomez
b02cb1978c Handle ordered lists as well 2017-04-04 00:24:08 +02:00
bors
72ecd79a6c Auto merge of #40919 - GuillaumeGomez:fix-new-rustdoc, r=frewsxcv,steveklabnik
Add support for image, rules and footnotes

Part of #40912.

r? @rust-lang/docs

PS: the footnotes are waiting for https://github.com/google/pulldown-cmark/pull/21 to be merged to be fully working.
2017-04-02 18:16:09 +00:00
Esteban Küber
b83352e44c Introduce TyErr independent from TyInfer
Add a `TyErr` type to represent unknown types in places where
parse errors have happened, while still able to build the AST.

Initially only used to represent incorrectly written fn arguments and
avoid "expected X parameters, found Y" errors when called with the
appropriate amount of parameters. We cannot use `TyInfer` for this as
`_` is not allowed as a valid argument type.

Example output:

```rust
error: expected one of `:` or `@`, found `,`
  --> file.rs:12:9
   |
12 | fn bar(x, y: usize) {}
   |         ^

error[E0061]: this function takes 2 parameters but 3 parameters were supplied
  --> file.rs:19:9
   |
12 | fn bar(x, y) {}
   | --------------- defined here
...
19 |     bar(1, 2, 3);
   |         ^^^^^^^ expected 2 parameters
```
2017-04-02 09:45:57 -07:00
Guillaume Gomez
ef01ae7fe0 Force footnote references to be sorted by id 2017-04-01 00:31:37 -06:00
QuietMisdreavus
3643d81659 rustdoc: fix alignment of fn arguments when on multiple lines 2017-03-31 19:02:00 -05:00
QuietMisdreavus
80bff6b596 rustdoc: format where clauses like rust-lang-nursery/fmt-rfcs#38 2017-03-31 18:04:42 -05:00
Guillaume Gomez
51d3cec387 Fix hard break issue 2017-03-31 12:16:03 -06:00
Corey Farwell
488a7b3945 Rollup merge of #40888 - wesleywiser:rustdoc_src_sidebar, r=GuillaumeGomez
Make the rustdoc sidebar white on `src` pages

Fixes #40724
2017-03-31 11:43:33 -04:00
Guillaume Gomez
36b15f0409 Fix multiple footnotes and improve testing 2017-03-30 17:29:54 -06:00
Guillaume Gomez
08a741eabf Add support for image, rules and footnotes 2017-03-29 19:48:06 -06:00
Corey Farwell
ea9c8b992c Rollup merge of #40814 - abonander:issue_39436, r=jseyfried
Rustdoc: memoize `pub use`-reexported macros so they don't appear twice in docs

Closes #39436

Preserves existing behavior for `#[macro_reexport]`. `pub use`'d macros are shown as reexports unless inlined, and also correctly obey `#[doc(hidden)]`.

r? @jseyfried

cc @SergioBenitez
2017-03-29 16:53:30 -04:00
bors
abf5592510 Auto merge of #40338 - GuillaumeGomez:pulldown-switch, r=frewsxcv,steveklabnik
Replace hoedown with pull in rustdoc

cc @rust-lang/docs
2017-03-29 07:06:13 +00:00
Wesley Wiser
2040daee47 Make the rustdoc sidebar white on src pages
Fixes #40724
2017-03-28 22:45:10 -04:00
QuietMisdreavus
8206d0c54e rustdoc: format fns like format rfc 39 2017-03-28 16:49:05 -05:00
Austin Bonander
1fea03548c Rustdoc: memoize pub use-reexported macros so they don't appear twice in docs 2017-03-28 12:39:46 -07:00
Guillaume Gomez
a7c6d3e16a Improve function naming 2017-03-28 11:54:11 -06:00
Guillaume Gomez
286a51da91 Fix id generation 2017-03-28 11:38:56 -06:00
Guillaume Gomez
47e4abf473 Fix plain_summary_line function 2017-03-28 11:38:56 -06:00
Guillaume Gomez
e133821b89 Update to last pulldown version 2017-03-28 11:38:56 -06:00
Guillaume Gomez
474cc09325 Update pulldown version after fix merged 2017-03-28 11:38:56 -06:00
Guillaume Gomez
e51f3253be Handle html in markdown as well 2017-03-28 11:38:55 -06:00
Guillaume Gomez
6a2190c18e Remove unneeded comment 2017-03-28 11:38:55 -06:00
Guillaume Gomez
6d470a9c4a Add a macro to improve code 2017-03-28 11:38:55 -06:00
Guillaume Gomez
d5b6c046de Add missing markdown tags 2017-03-28 11:38:55 -06:00
Guillaume Gomez
b96fef8411 End of pulldown switch and remove completely hoedown 2017-03-28 11:38:55 -06:00
Guillaume Gomez
c9415eb98f Remains to fix tables 2017-03-28 11:38:55 -06:00
Guillaume Gomez
08a80cbda6 Replace hoedown with pull in rustdoc 2017-03-28 11:38:55 -06:00
Alex Crichton
4d93c12581 Rollup merge of #40828 - projektir:markdown_metadata, r=steveklabnik
rustdoc to accept `#` at the start of a markdown file #40560

This may be a bit odd if `#` and `%` lines are mixed up, but that's not something I've found while doing my search and replace.
2017-03-27 15:56:25 -07:00
Alex Crichton
12f6c5019a Rollup merge of #40683 - nikomatsakis:incr-comp-coerce-unsized-info, r=eddyb
on-demand-ify `custom_coerce_unsized_kind` and `inherent-impls`

This "on-demand" task both checks for errors and computes the custom unsized kind, if any. This task is only defined on impls of `CoerceUnsized`; invoking it on any other kind of impl results in a bug. This is just to avoid having an `Option`, could easily be changed.

r? @eddyb
2017-03-27 15:56:23 -07:00
Oliver Schneider
eb447f4ef4
Fix various useless derefs and slicings 2017-03-27 08:58:00 +02:00
bors
7846dbe0c8 Auto merge of #40826 - frewsxcv:rollup, r=frewsxcv
Rollup of 7 pull requests

- Successful merges: #40642, #40734, #40740, #40771, #40807, #40820, #40821
- Failed merges:
2017-03-26 14:04:25 +00:00
bors
7dd4e2db78 Auto merge of #40347 - alexcrichton:rm-liblog, r=brson
Remove internal liblog

This commit deletes the internal liblog in favor of the implementation that
lives on crates.io. Similarly it's also setting a convention for adding crates
to the compiler. The main restriction right now is that we want compiler
implementation details to be unreachable from normal Rust code (e.g. requires a
feature), and by default everything in the sysroot is reachable via `extern
crate`.

The proposal here is to require that crates pulled in have these lines in their
`src/lib.rs`:

    #![cfg_attr(rustbuild, feature(staged_api, rustc_private))]
    #![cfg_attr(rustbuild, unstable(feature = "rustc_private", issue = "27812"))]

This'll mean that by default they're not using these attributes but when
compiled as part of the compiler they do a few things:

* Mark themselves as entirely unstable via the `staged_api` feature and the
  `#![unstable]` attribute.
* Allow usage of other unstable crates via `feature(rustc_private)` which is
  required if the crate relies on any other crates to compile (other than std).
2017-03-26 04:26:22 +00:00
projektir
2e14bfe0d7 rustdoc to accept # at the start of a markdown file #40560 2017-03-25 15:42:44 -04:00
Corey Farwell
22f914a09a Rollup merge of #40771 - nikomatsakis:issue-40746-privacy-access-levels, r=eddyb
"on-demandify" privacy and access levels

r? @eddyb
cc @cramertj https://github.com/rust-lang/rust/issues/40746
2017-03-25 09:30:31 -07:00
Corey Farwell
667e3166d8 Rollup merge of #40567 - clarcharr:rustdoc-sort, r=frewsxcv
Fix for #39596: sort Trait2 before Trait10.

This is a change discussed in #39596. Essentially, item names will be sorted as if they're (&str, u64) pairs instead of just `&str`, meaning that `"Apple" < "Banana"` and also `"Fruit10" > "Fruit2"`.

Sample sorting:

1. Apple
2. Banana
3. Fruit
4. Fruit0
5. Fruit00
6. Fruit1
7. Fruit01
8. Fruit2
9. Fruit02
10. Fruit20
11. Fruit100
12. Pear

Examples of generated documentation:
https://docs.charr.xyz/before-doc/test_sorting/
https://docs.charr.xyz/after-doc/test_sorting/

Screenshots of generated documentation:
Before: http://imgur.com/Ktb10ti
After: http://imgur.com/CZJjqIN
2017-03-24 18:13:09 -05:00
Niko Matsakis
a9f6babcda convert privacy access levels into a query 2017-03-23 19:10:45 -04:00