Commit Graph

39 Commits

Author SHA1 Message Date
Nicholas Nethercote
cde19c016e Rename Handler as DiagCtxt. 2023-12-18 16:06:19 +11:00
Michael Howell
7e86fd61e8 rustdoc: merge theme css into rustdoc.css
Based on
https://github.com/rust-lang/rust/pull/115812#issuecomment-1717960119

Having them in separate files used to make more sense, before the
migration to CSS variables made the theme files as small as they are
nowadays. This is already how docs.rs and mdBook do it.
2023-09-15 07:40:17 -07:00
Nicholas Nethercote
6b62f37402 Restrict From<S> for {D,Subd}iagnosticMessage.
Currently a `{D,Subd}iagnosticMessage` can be created from any type that
impls `Into<String>`. That includes `&str`, `String`, and `Cow<'static,
str>`, which are reasonable. It also includes `&String`, which is pretty
weird, and results in many places making unnecessary allocations for
patterns like this:
```
self.fatal(&format!(...))
```
This creates a string with `format!`, takes a reference, passes the
reference to `fatal`, which does an `into()`, which clones the
reference, doing a second allocation. Two allocations for a single
string, bleh.

This commit changes the `From` impls so that you can only create a
`{D,Subd}iagnosticMessage` from `&str`, `String`, or `Cow<'static,
str>`. This requires changing all the places that currently create one
from a `&String`. Most of these are of the `&format!(...)` form
described above; each one removes an unnecessary static `&`, plus an
allocation when executed. There are also a few places where the existing
use of `&String` was more reasonable; these now just use `clone()` at
the call site.

As well as making the code nicer and more efficient, this is a step
towards possibly using `Cow<'static, str>` in
`{D,Subd}iagnosticMessage::{Str,Eager}`. That would require changing
the `From<&'a str>` impls to `From<&'static str>`, which is doable, but
I'm not yet sure if it's worthwhile.
2023-05-03 08:44:39 +10:00
Guillaume Gomez
d3529ceb6c Correctly handle parens 2022-09-15 13:53:20 +02:00
Guillaume Gomez
a528f68e79 Remove duplicate warnings 2022-09-14 20:23:19 +02:00
Guillaume Gomez
e7d8ad62db Add check for missing CSS variables 2022-09-14 19:36:03 +02:00
Guillaume Gomez
fb42dae987 Simplify CSS parser to check themes 2022-09-14 19:36:03 +02:00
Guillaume Gomez
edd26add3b Update minifier version to 0.2.1 2022-06-07 11:38:51 +02:00
Jacob Pratt
6970246886 Remove crate visibility modifier in libs, tests 2022-05-21 00:32:47 -04:00
Roc Yu
7feb7383d2 rustdoc: Reduce allocations in a theme function 2022-04-10 19:17:38 -04:00
Matthias Krüger
97e844a032 fix clippy::single_char_pattern perf findings 2021-12-14 12:40:28 +01:00
mautamu
8db7973f19 Change librustdoc write(.. \n) to writeln(..); fix comment in grammar
More grammar
2021-05-03 02:19:57 -05:00
Guillaume Gomez
34d128a263 Replace under-used ImplPolarity enum with a boolean 2021-01-09 14:59:37 +01:00
Matthias Krüger
a5807ac61c clippy fixes for librustdoc
fixes clippy warnings of type:
match_like_matches_macro
or_fun_call
op_ref
needless_return
let_and_return
single_char_add_str
useless_format
unnecessary_sort_by
match_ref_pats
redundant_field_names
2021-01-01 21:19:10 +01:00
Joshua Nelson
d6c16e4253 Make all rustdoc functions and structs crate-private
This gives warnings about dead code.
2020-11-15 11:21:12 -05:00
Alex Aktsipetrov
12785dd89c Expand and remove try_something macro.
Since 2f6226518b
there has been only one invocation.
2020-04-02 19:55:56 +02:00
Matthias Krüger
5566a1cee4 remove redundant returns (clippy::needless_return) 2020-03-21 15:55:34 +01:00
Matthias Krüger
9523c89f18 use is_empty() instead of len() == x to determine if structs are empty. 2020-02-28 15:16:27 +01:00
Matthias Krüger
addd7426be don't explicitly compare against true or false 2020-02-24 16:52:40 +01:00
Guillaume Gomez
c8e567ddc8 Minify CSS rules to be able to handle minified theme files as well 2020-02-12 15:49:39 +01:00
Mazdak Farrokhzad
8bd3d240e3 nix syntax::errors & prefer rustc_errors over errors 2020-01-10 07:41:30 +01:00
Mark Rousskov
a06baa56b9 Format the world 2019-12-22 17:42:47 -05:00
Guillaume Gomez
dcccd28e42 Warn instead of failing for themes 2019-11-18 16:43:47 +01:00
Vadim Petrochenkov
a332e224a3 librustdoc: Unconfigure tests during normal build 2019-08-02 01:59:01 +03:00
Guillaume Gomez
640bdbdb1d Improve theme checker by removing unneeded conditions 2019-06-20 22:59:56 +02:00
Guillaume Gomez
165a95b371 Add test for empty css file check 2019-06-20 22:59:56 +02:00
Guillaume Gomez
cfd754d892 Fix theme-checker failure 2019-06-20 22:59:56 +02:00
Mark Rousskov
2a663555dd Remove licenses 2018-12-25 21:08:33 -07:00
Andy Russell
2f6226518b use top level fs functions where appropriate
This commit replaces many usages of `File::open` and reading or writing
with `fs::read_to_string`, `fs::read` and `fs::write`. This reduces code
complexity, and will improve performance for most reads, since the
functions allocate the buffer to be the size of the file.

I believe that this commit will not impact behavior in any way, so some
matches will check the error kind in case the file was not valid UTF-8.
Some of these cases may not actually care about the error.
2018-12-07 12:54:11 -05:00
bors
23ea1b8188 Auto merge of #53599 - matthiaskrgr:split_str__to__split_char, r=frewsxcv
use char pattern for single-character splits: a.split("x") -> a.split('x')
2018-09-02 15:27:56 +00:00
Eduard-Mihai Burtescu
93f3f5b155 Use FxHash{Map,Set} instead of the default Hash{Map,Set} everywhere in rustc. 2018-08-28 17:04:04 +03:00
Matthias Krüger
e699076780 use char pattern for single-character splits: a.split("x") -> a.split('x') 2018-08-22 12:56:32 +02:00
QuietMisdreavus
6bc1db0255 replace error/warning println with structured diag 2018-05-14 11:03:22 -05:00
Guillaume Gomez
b1b11d4589 Pass themes folder as parameter 2018-02-08 10:53:09 +01:00
Guillaume Gomez
51580d46f9 Add tests for themes 2018-02-08 10:53:09 +01:00
Guillaume Gomez
63ee1cd846 Improve output a bit in case of error 2018-02-08 10:53:09 +01:00
Guillaume Gomez
583b29f85c Handle comments in css selector and add tests 2018-02-08 10:53:09 +01:00
Guillaume Gomez
b44b033bf1 get differences 2018-02-08 10:53:09 +01:00
Guillaume Gomez
94ad4e1d38 Add theme tests 2018-02-08 10:53:09 +01:00