aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Make annotations tests similar to those in runnablesivan7702021-02-131-188/+707
| | | |
| * | | Improve runnable annotations order, fix incorrect ignore detectionivan7702021-02-131-5/+13
| | | |
| * | | Added annotation testsivan7702021-02-131-0/+267
| | | |
| * | | Fix incorrect references annotationivan7702021-02-131-2/+3
| | | |
| * | | Moved CodeLens to ide crateivan7702021-02-137-202/+388
| | | |
* | | | Merge #7659bors[bot]2021-02-132-28/+124
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7659: Improve "Generate From impl" r=Veykril a=jDomantas * Allows any field type. Previously it was restricted to path types, but I don't see why it couldn't apply to all other types too. (the main reason for is PR is that I'm too lazy to write out `From<&'static str>` by hand 😄) * More correct handling for generic enums - previously it wouldn't emit generic params on the impl. * Also accepts variants with named field. The impl generation code got mostly copy-pasted from generate_impl assist - please tell if there's an easy way to avoid this duplication. Co-authored-by: Domantas Jadenkus <[email protected]>
| * | | | cargo fmtDomantas Jadenkus2021-02-131-1/+4
| | | | |
| * | | | make it work for record-style variantsDomantas Jadenkus2021-02-131-14/+46
| | | | |
| * | | | update docDomantas Jadenkus2021-02-132-2/+2
| | | | |
| * | | | handle generic enumsDomantas Jadenkus2021-02-131-8/+58
| | | | |
| * | | | allow any field typeDomantas Jadenkus2021-02-131-5/+16
| | | | |
| * | | | use Self instead of enum nameDomantas Jadenkus2021-02-131-5/+5
|/ / / /
* | | | Merge #7658bors[bot]2021-02-132-2/+34
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7658: Build dist-x86_64-unknown-linux-musl releases r=lnicola a=andylizi Closes #4956. * Artifact sample: [rust-analyzer-x86_64-unknown-linux-musl.gz](https://github.com/rust-analyzer/rust-analyzer/files/5975504/rust-analyzer-x86_64-unknown-linux-musl.gz) * Build time: ~14m ``` $ ls -lh -rwxr-xr-x 1 root root 29.7M Feb 13 18:24 rust-analyzer-x86_64-unknown-linux-musl $ ldd rust-analyzer-x86_64-unknown-linux-musl /lib/ld-musl-x86_64.so.1 (0x7f2751f13000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7f2750a78000) libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f2751f13000) $ ./rust-analyzer-x86_64-unknown-linux-musl --version rust-analyzer 63fcf65 ``` I can do `aarch64-unknown-linux-musl` if it's also needed. Co-authored-by: andylizi <[email protected]>
| * | | Build dist-x86_64-unknown-linux-musl releasesandylizi2021-02-132-2/+34
|/ / /
* | | Merge #7655bors[bot]2021-02-122-25/+33
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 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 <[email protected]>
| * | Include a commit log summary in the changelogLaurențiu Nicola2021-02-122-25/+33
| | |
* | | Merge #7358bors[bot]2021-02-128-426/+460
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7358: Refactor reference searching to work with the ast r=matklad a=Veykril Addresses #4290 This PR is still a bit unpolished. Its main purpose for now is to discuss the direction of the changes as to whether this seems to be the right approach or not. I annotated a few parts with reviews to give a better overwiew without having to read into it too much. Big part of the diff are test output changes in the `references` module. Co-authored-by: Lukas Wirth <[email protected]>
| * | | Update references test outputLukas Wirth2021-02-121-2/+2
| | | |
| * | | Use NameLike in FileReference directly as its not exported from ide anymoreLukas Wirth2021-02-125-59/+29
| | | |
| * | | Refactor reference searching to work with the astLukas Wirth2021-02-128-406/+489
| | | |
| * | | Remove unused ReferenceSearchResult functionsLukas Wirth2021-02-121-24/+5
|/ / /
* | | Merge #7650bors[bot]2021-02-126-18/+171
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7650: Add `find_impl_block_end` assist helper r=Veykril a=yoshuawuyts Fixes #7605. This makes it so assists can use helpers to either append a method to the start or the end of an `impl` block. Thanks! @Veykril if this is merged, perhaps it could be good to update the gif in https://github.com/rust-analyzer/rust-analyzer/pull/7617#issuecomment-776622135 ? -- this should fix the ordering issue when generating multiple methods. Co-authored-by: Yoshua Wuyts <[email protected]>
| * | | Add `find_impl_block_end` assist helperYoshua Wuyts2021-02-126-18/+171
| |/ /
* | | Merge #7639bors[bot]2021-02-121-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 7639: Bump rust to latest stable 1.50 r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Bump rust to latest stable 1.50kjeremy2021-02-121-1/+1
|/ /
* | Merge #7652bors[bot]2021-02-127-23/+52
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7652: Fix slow tests sometimes failing r=flodiebold a=flodiebold In some situations we reloaded the workspace in the tests after having reported to be ready. There's two fixes here: 1. Add a version to the VFS config and include that version in progress reports, so that we don't think we're done prematurely; 2. Delay status transitions until after changes are applied. Otherwise the last change during loading can potentially trigger a workspace reload, if it contains interesting changes. Co-authored-by: Florian Diebold <[email protected]>
| * | Remove pinned Rust version againFlorian Diebold2021-02-121-9/+1
| | |
| * | Fix slow tests sometimes failingFlorian Diebold2021-02-126-14/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some situations we reloaded the workspace in the tests after having reported to be ready. There's two fixes here: 1. Add a version to the VFS config and include that version in progress reports, so that we don't think we're done prematurely; 2. Delay status transitions until after changes are applied. Otherwise the last change during loading can potentially trigger a workspace reload, if it contains interesting changes.
* | | Merge #7653bors[bot]2021-02-121-0/+60
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 7653: Document config pattern r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Document config patternAleksey Kladov2021-02-121-0/+60
| | |
* | | Merge #7644bors[bot]2021-02-1210-29/+89
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7644: Primitive completion r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7642 Co-authored-by: Jonas Schievink <[email protected]>
| * | | Complete builtin type pathsJonas Schievink2021-02-111-1/+33
| | | |
| * | | Wrap `BuiltinType` in code modelJonas Schievink2021-02-119-28/+56
| | | |
| | | |
| \ \ \
*-. \ \ \ Merge #7638 #7648bors[bot]2021-02-125-9/+9
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7638: libloading 0.7 r=kjeremy a=kjeremy See https://docs.rs/libloading/0.7.0/libloading/changelog/r0_7_0/index.html 7648: fix nightly warning `legacy_derive_helpers` r=lnicola a=peddermaster2 With a recent nightly (e.g. 2021-02-10) a warning comes up. This PR reorders the attributes to fix the warning. See https://github.com/rust-lang/rust/issues/79202 Co-authored-by: kjeremy <[email protected]> Co-authored-by: Peter Wischer <[email protected]>
| | * | | fix nightly warning `legacy_derive_helpers`Peter Wischer2021-02-122-2/+2
| |/ / / |/| | | | | | | | | | | see https://github.com/rust-lang/rust/issues/79202
* | | | Merge #7651bors[bot]2021-02-125-11/+21
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | 7651: Pin Rust to 1.49.0 on CI r=jonas-schievink a=jonas-schievink Co-authored-by: Jonas Schievink <[email protected]>
| * | | Pin Rust to 1.49.0 on CIJonas Schievink2021-02-125-11/+21
|/ / /
| * / libloading 0.7kjeremy2021-02-113-7/+7
|/ / | | | | | | See https://docs.rs/libloading/0.7.0/libloading/changelog/r0_7_0/index.html
* | Merge #7631bors[bot]2021-02-101-0/+29
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 7631: Add test for #1165 r=jonas-schievink a=jonas-schievink Closes #1165 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Add test for #1165Jonas Schievink2021-02-101-0/+29
|/ / | | | | | | Closes #1165
* | Merge #7630bors[bot]2021-02-101-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 7630: Slightly expand test r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | Slightly expand testJonas Schievink2021-02-101-0/+3
|/ /
* | Merge #7627bors[bot]2021-02-105-32/+139
|\ \ | | | | | | | | | | | | | | | | | | | | | 7627: infer: update resolver when descending into block r=jonas-schievink a=jonas-schievink Co-authored-by: Jonas Schievink <[email protected]>
| * | Add more testsJonas Schievink2021-02-102-8/+84
| | |
| * | Put the old resolver backJonas Schievink2021-02-101-3/+8
| | |
| * | Update fixed testsJonas Schievink2021-02-103-18/+21
| | |
| * | infer: update resolver when descending into blockJonas Schievink2021-02-102-16/+39
|/ /
* | Merge #7625bors[bot]2021-02-104-8/+31
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 7625: Add **Copy Run Command Line** command for vscode r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Add **Copy Run Command Line** command for vscodeAleksey Kladov2021-02-104-8/+31
| | | | | | | | | | | | | | | This is useful when you want to, e.g., run a specific test in a terminal with `--release`.
* | | Merge #7617bors[bot]2021-02-109-68/+603
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7617: Add getter/setter assists r=Veykril a=yoshuawuyts This patch makes progress towards the design outlined in https://github.com/rust-analyzer/rust-analyzer/issues/5943, and includes a small refactor which closes https://github.com/rust-analyzer/rust-analyzer/issues/7607. All together this patch does 4 things: - Adds a `generate_getter` assist. - Adds a `generate_getter_mut` assist. - Adds a `generate_setter` assist. - Moves the `generate_impl_text` function from `generate_new` into `utils` (which closes #7607). ## Design Notes I've chosen to follow the [Rust API guidelines on getters](https://rust-lang.github.io/api-guidelines/naming.html#getter-names-follow-rust-convention-c-getter) as closely as possible. This deliberately leaves "builder pattern"-style setters out of scope. Also, similar to https://github.com/rust-analyzer/rust-analyzer/pull/7570 this assist generates doc comments. I think this should work well in most cases, and for the few where it doesn't it's probably easily edited. This makes it slightly less correct than the #7570 implementation, but I think this is still useful enough to include for many of the same reasons. The reason why this PR contains 3 assists, rather than 1, is because each of them is so similar to the others that it felt more noisy to do them separately than all at once. The amount of code added does not necessarily reflect that, but hope that still makes sense. ## Examples **Input** ```rust struct Person { name: String, // <- cursor on "name" } ``` **generate getter** ```rust struct Person { name: String, } impl Person { /// Get a reference to the person's name. fn name(&self) -> &String { &self.name } } ``` **generate mut getter** ```rust struct Person { name: String, } impl Person { /// Get a mutable reference to the person's name. fn name_mut(&mut self) -> &mut String { &mut self.name } } ``` **generate setter** ```rust struct Person { name: String, } impl Person { /// Set the person's name. fn set_name(&mut self, name: String) { self.name = name; } } ``` Co-authored-by: Yoshua Wuyts <[email protected]>