Commit Graph

600 Commits

Author SHA1 Message Date
Aramis Razzaghipour
55c0b86cde
Add semicolons for consistency
`clippy::semicolon_if_nothing_returned`
2021-10-03 23:39:43 +11:00
Laurențiu Nicola
b66e506cc2 Don't spam the manual with warnings 2021-09-13 10:56:14 +03:00
Aleksey Kladov
9b2bac621e minor: make code clearer with ControlFlow 2021-09-11 20:49:10 +03:00
Aleksey Kladov
86720f2953 minor: drop dummy authors field 2021-07-05 14:19:41 +03:00
Aleksey Kladov
90e27d6289 internal: make xtask lighter
Moving tests to `rust-analyzer` crate allows removing walkdir dependency
from `xtask`. It does seem more reasonable to keep tidy tests outside of
the "build system" and closer to other integration tests.
2021-07-04 12:47:56 +03:00
Aleksey Kladov
58d2ece88a internal: overhaul code generation
* Keep codegen adjacent to the relevant crates.
* Remove codgen deps from xtask, speeding-up from-source installation.

This regresses the release process a bit, as it now needs to run the
tests (and, by extension, compile the code).
2021-07-03 22:11:03 +03:00
Laurențiu Nicola
07ee6ebf56 Fix line numbering in tidy 2021-06-18 14:47:26 +03:00
Lukas Wirth
95c8c65139 Nest all the or-patterns! 2021-06-17 17:37:14 +02:00
Aleksey Kladov
3f5eead9e3 minor: fix typo 2021-06-15 17:20:11 +03:00
Aleksey Kladov
067e97d149 internal: enforce no #[ignore] and no #[should_panic] 2021-06-15 16:54:43 +03:00
Laurențiu Nicola
41949748a6 Use objects instead of bools for markers in package.json 2021-06-15 09:40:43 +03:00
bors[bot]
5a8ddb4b2d
Merge #9260
9260: tree-wide: make rustdoc links spiky so they are clickable r=matklad a=lf-

Rustdoc was complaining about these while I was running with --document-private-items and I figure they should be fixed.

Co-authored-by: Jade <software@lfcode.ca>
2021-06-14 07:16:48 +00:00
Jade
20b325c7d5 tree-wide: make rustdoc links spiky so they are clickable 2021-06-13 21:58:05 -07:00
Aleksey Kladov
efa069d288 internal: start new diagnostics API
At the moment, this moves only a single diagnostic, but the idea is
reafactor the rest to use the same pattern. We are going to have a
single file per diagnostic. This file will define diagnostics code,
rendering range and fixes, if any. It'll also have all of the tests.
This is similar to how we deal with assists.

After we refactor all diagnostics to follow this pattern, we'll probably
move them to a new `ide_diagnostics` crate.

Not that we intentionally want to test all diagnostics on this layer,
despite the fact that they are generally emitted in the guts on the
compiler. Diagnostics care to much about the end presentation
details/fixes to be worth-while "unit" testing. So, we'll unit-test only
the primary output of compilation process (types and name res tables),
and will use integrated UI tests for diagnostics.
2021-06-13 14:55:45 +03:00
Aleksey Kladov
546be18e3a internal: check that coverage marks are always paired 2021-06-13 13:13:26 +03:00
Maan2003
6cc6dee9e9
clippy::useless_conversion 2021-06-13 09:25:55 +05:30
Maan2003
c9b4ac5be4
clippy::redudant_borrow 2021-06-13 09:24:16 +05:30
Jonas Schievink
1d6eef1350 Update ungrammar 2021-06-11 18:34:30 +02:00
Laurențiu Nicola
993c7a165e Use HTTPS for clippy lint JSON 2021-06-07 10:40:12 +03:00
Lukas Wirth
fc06058a76 Unescape generated clippy lints 2021-06-05 19:14:53 +02:00
Laurențiu Nicola
18484365e6 Enable proc macros and build scripts by default in CLI 2021-06-05 15:20:41 +03:00
Lukas Wirth
ae1c63fcdd Exclude crates/ide_db/src/helpers/generated_lints.rs from tidy::check_todo 2021-06-04 19:45:10 +02:00
Lukas Wirth
0c89f38378 Replace - with _ in generated lint names 2021-06-04 19:10:52 +02:00
Lukas Wirth
0b9ba4977e Generate default lint groups 2021-06-04 18:55:08 +02:00
Lukas Wirth
343df88ac7 Generate default lint completions 2021-06-04 18:35:19 +02:00
Lukas Wirth
5d17b6a687 Implement hover for lints 2021-06-04 17:03:18 +02:00
Clemens Wasser
a1e650082b Use push_str 2021-06-03 13:01:16 +02:00
Clemens Wasser
629e8d1ed0 Apply more clippy suggestions and update generated 2021-06-03 12:46:56 +02:00
Clemens Wasser
3c6dc0f89d Apply a few clippy suggestions 2021-06-03 11:46:03 +02:00
Aleksey Kladov
7d8f701e99 internal: disable debuginfo afterall 2021-05-27 11:53:33 +03:00
Domantas Jadenkus
8d2e3816bc tidy 2021-05-24 22:17:16 +03:00
Aleksey Kladov
3ea62568ba internal: try re-enabling debug info on releases again
full LTO OOMs the LLVM, lets try thin

cc https://github.com/rust-lang/rust/issues/85598
2021-05-24 14:41:31 +03:00
Aleksey Kladov
9f9c4bf3de internal: disable debug symbols due to failing windows build
See https://github.com/rust-lang/rust/issues/85598
2021-05-23 14:06:25 +03:00
bors[bot]
bc1ba1549d
Merge #8926
8926: internal: Drop uncompressed release artifacts and those following the old naming convention r=matklad a=lnicola

Closes #6996

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-05-22 18:35:02 +00:00
Aleksey Kladov
db393982ca internal: try enabling debug info for releases
We now compress releases, so let's check  if debug info is light enough
to actually ship to users. Getting line numbers back would be helpful!
2021-05-22 21:19:48 +03:00
Laurențiu Nicola
7ff972f0ce Drop uncompressed release artifacts and those following the old naming convention 2021-05-22 20:26:29 +03:00
Florian Diebold
a88c7c04d2 Add last remaining module docstring 2021-05-22 16:39:56 +02:00
Aleksey Kladov
dc1577d58d Add even more docs 2021-05-22 17:20:22 +03:00
Aleksey Kladov
188b0f96f9 Add more docs 2021-05-22 16:53:47 +03:00
Aleksey Kladov
fa7fc0e5cb internal: scalable module structure for fixits 2021-05-17 12:04:17 +03:00
Aleksey Kladov
0fce38b138 fix: direct people to the right repository 2021-05-08 00:26:29 +03:00
Aleksey Kladov
6a16ec52aa internal: use API stabilized in 1.52 2021-05-06 20:12:15 +03:00
bors[bot]
544a93ee08
Merge #8710
8710: feat: build releases with lto=true r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-03 14:00:07 +00:00
Aleksey Kladov
ee1c5d9d19 feat: build releases with lto=true
closes #8050
2021-05-03 16:56:44 +03:00
bors[bot]
242fa3c15b
Merge #8427
8427: Move CI to rust-cache Action r=matklad a=Swatinem

This is humbling. I actually took inspiration from RAs pre-cache xtask when developing my action ;-)

Closes #7731

Co-authored-by: Arpad Borsos <swatinem@swatinem.de>
2021-05-03 13:37:12 +00:00
Kirill Bulatov
c24bdab97e Use -u instead of --utc date flag 2021-04-26 17:12:13 +03:00
Aleksey Kladov
4f9640ff39 fix: add date to the version string on Mac
It doesn't support `--iso`
2021-04-26 15:20:15 +03:00
Aleksey Kladov
869ec5f97a fix: dont' misundentify nightly as stable in --version on Mac&Win
We used to set `--nightly` in CI, and only for linux. Let's detect this
in xtask instead.
2021-04-26 15:17:02 +03:00
Aleksey Kladov
26dfb6b9d0
Update xtask/src/release.rs
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2021-04-26 13:49:19 +03:00
Aleksey Kladov
1745207a08
Update xtask/src/release.rs
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2021-04-26 13:49:14 +03:00
Aleksey Kladov
7bb9c147c0 internal: make normal release after a poin release less annoying 2021-04-26 13:41:34 +03:00
Aleksey Kladov
8d54fd105c fix: correct version string to contain hash, build date and channel 2021-04-24 13:36:45 +03:00
Aleksey Kladov
43ea1bb9b9 minor 2021-04-24 10:31:58 +03:00
Aleksey Kladov
03f5e53678 minor 2021-04-24 09:08:56 +03:00
Aleksey Kladov
905ae2843a fix: 'configuration.property' error in VS Code
closes #7789
2021-04-23 22:08:09 +03:00
Laurențiu Nicola
39ce393a9e Automatically categorize the changelog entries 2021-04-20 19:54:58 +03:00
kjeremy
236814db0d Update license check 2021-04-15 12:15:23 -04:00
Arpad Borsos
9c022e3013
Move CI to rust-cache Action 2021-04-08 18:55:28 +02:00
kjeremy
bdee55d66b Rust 1.51 2021-03-25 11:34:13 -04:00
Matthias Krüger
202b51bc7b a lot of clippy::style fixes 2021-03-21 16:15:41 +01:00
Matthias Krüger
bd407a9882 xtask: remove redundant lifetime (clippy::extra_unused_lifetimes) 2021-03-21 12:49:40 +01:00
Matthias Krüger
8a67116857 use strip_prefix() instead of starts_with and slicing (clippy::manual_strip) 2021-03-21 12:38:21 +01:00
Lukas Wirth
4771a56791 Parse extended_key_value_attributes 2021-03-19 02:13:46 +01:00
bors[bot]
9caeef98e3
Merge #8042
8042: Add perf_revision to benchmark results r=lnicola a=d2weber

I gave it a try to add the hash as described in #8031 
Feel free to tell me if there is something I could improve.

Co-authored-by: Douglas Weber <douglas.web@web.de>
2021-03-16 19:36:55 +00:00
Edwin Cheng
8e07b23b84 Fix macro expansion for statements w/o semicolon 2021-03-16 13:44:50 +08:00
Douglas Weber
81a2eaa92a Add perf_revision to benchmark results 2021-03-15 22:21:02 +01:00
Georg Semmler
aa6db3f36a
Add diesel to the benchmark suite
This commit adds diesel to the continuosly run benchmark suite. Diesel
heavily relies internally on macro generated code. Additionally there
are lots of complicated trait releations used as part of their API.
Therefore this benchmark will be quite sensitive to:
* Performance related changes in the macro expanding code
* Performance related changes while resolving trait bounds

CC #7950
2021-03-15 15:19:16 +01:00
Matthias Krüger
5008e56821 xtask: replace "lint" command by a simply cargo alias
This strips the run_clippy implementation out of xtask and replaces it by
a simple "cargo lint" alias which runs clippy with the corresponding flags.

Unfortunately  I could not name the alias "clippy" because that would lead to infinite recursion.
2021-03-14 13:36:45 +01:00
Lukas Wirth
ebf4448f78 Fix remaining references to cargo xtask codegen 2021-03-12 15:10:33 +01:00
Aleksey Kladov
d2bb2268d3 Minor 2021-03-08 21:49:25 +03:00
Aleksey Kladov
c0943f84fd Cleanup the error message 2021-03-08 21:45:43 +03:00
Aleksey Kladov
e89c0e3961 Remove now dead code 2021-03-08 21:45:43 +03:00
Aleksey Kladov
095b9110b5 Unused params 2021-03-08 21:45:43 +03:00
Aleksey Kladov
1eb61203b7 Make code generation just work
Contributors don't need to learn about `cargo xtask codegen` if `cargo
test` just does the right thing.
2021-03-08 21:45:37 +03:00
Aleksey Kladov
0f6f458cc1 Make working with codegen less annoying
We probably should look into removing `xtask codegen` altogether. The
test workflow works perfectly for package.json config.

There are two things preventing that:

* Lint completions are generated on demand.
* Docs are not committed to the repository.
2021-03-08 21:45:06 +03:00
Aleksey Kladov
0296cd590e ⬆️ xflags 2021-03-07 11:12:59 +03:00
Aleksey Kladov
bf4aaa4fb0 Underengineer cargo xtask install --client 2021-03-05 20:42:41 +03:00
Aleksey Kladov
142f9a03fd Cleanup install command 2021-03-05 11:51:32 +03:00
Aleksey Kladov
97b1550dda Fix regression where the client was not installed 2021-03-05 11:12:40 +03:00
Aleksey Kladov
84483f672f Fix xflags fallout
https://github.com/rust-analyzer/rust-analyzer/pull/7847#issuecomment-788920830
2021-03-02 16:50:03 +03:00
bors[bot]
61c73caa30
Merge #7836
7836: Check for path dev-dependencies with a version number r=lnicola a=lnicola

Closes https://github.com/rust-analyzer/rust-analyzer/pull/7828#issuecomment-788174522.

This looks a bit ugly, but at least fixes an issues where we missed target-specific dependencies.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-03-02 08:38:25 +00:00
Aleksey Kladov
d8f7f2dee9
Update xtask/src/flags.rs
Co-authored-by: Laurențiu Nicola <lnicola@users.noreply.github.com>
2021-03-01 22:29:17 +03:00
Laurențiu Nicola
203cfff826 Check for path dev-dependencies with a version number 2021-03-01 21:13:16 +02:00
Aleksey Kladov
4ce20b80c5 Use cli parser with auto-generated help 2021-03-01 22:12:43 +03:00
Aleksey Kladov
979c26e1ae Axe pre-commit 2021-03-01 21:30:21 +03:00
Aleksey Kladov
d9dcfd81c5 Simplify xtask
lib/bin/test separation isn't really needed.
2021-03-01 20:26:37 +03:00
bors[bot]
f682627da4
Merge #7797
7797: Format generated lints and features manually r=matklad a=lnicola

As `quote` and `rustfmt` leave them on a single line, which makes running `grep` in the repository quite annoying.

Also removes a dead `gen_features.rs` file (`gen_lint_completions.rs` does the same thing).

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-02-27 14:56:24 +00:00
Laurențiu Nicola
351670f620 Remove dead gen_features code 2021-02-27 16:26:02 +02:00
Laurențiu Nicola
0fb01367f5 Format generated features manually instead of relying on rustfmt 2021-02-27 16:25:06 +02:00
Aleksey Kladov
68a9411845 reliable memory usage during benchmarking 2021-02-23 21:02:17 +03:00
Chetan Khilosiya
e4756cb4f6 7526: Rename crate assists to ide_assists. 2021-02-23 00:59:16 +05:30
kjeremy
11a65c64d0 update tidy 2021-02-22 12:25:02 -05:00
Laurențiu Nicola
6c0f7a2f56 Pin ungrammar 2021-02-21 19:33:55 +02:00
Aleksey Kladov
3db64a400c rename completion -> ide_completion
We don't have completion-related PRs in flight, so lets do it
2021-02-17 17:53:31 +03:00
andylizi
726f9e3163
Build dist-x86_64-unknown-linux-musl releases 2021-02-13 18:45:07 +08:00
bors[bot]
935830d05b
Merge #7655
7655: Include a commit log summary in the changelog r=matklad a=lnicola

This version omits any direct pushes, and maybe even pull requests merged from the GitHub UI. But I think it makes writing the release notes easier.

Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-02-12 18:20:27 +00:00
Laurențiu Nicola
8814d1368d Include a commit log summary in the changelog 2021-02-12 19:53:58 +02:00
kjeremy
cb24d323fe Bump rust to latest stable 1.50 2021-02-12 12:00:05 -05:00
Laurențiu Nicola
c0ff61c4b9 Track remote branch on xtask promote 2021-02-09 16:52:44 +02:00
kjeremy
8ff69055b9 Do not overwrite lock file
Use `npm ci` instead of `npm install`. `npm install` will overwrite
the lock file if you have a newer npm version than the one that
generated the package-lock.json
2021-02-05 10:57:36 -05:00