aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Merge #6524bors[bot]2020-11-124-69/+225
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6524: Add support for loading rustc private crates r=matklad a=xldenis This PR presents a solution to the problem of making`rustc_private` crates visible to `rust-analyzer`. Currently developers add dependencies to those crates behind a `cfg(NOT_A_TARGET)` target to prevent `cargo` from building them. This solution is unsatisfactory since it requires modifying `Cargo.toml` and causes problems for collaboration or CI. The proposed solution suggested by @matklad is to allow users to give RA a path where the `rustc` sources could be found and then load that like a normal workspace. This PR implements this solution by adding a `rustcSource` configuration item and adding the cargo metadata to the crate graph if it is provided. ------ I have no idea how this should be tested, or if this code is generally tested at all. I've locally run the extension with these changes and it correctly loads the relevant crates on a `rustc_private` project of mine. Co-authored-by: Xavier Denis <[email protected]>
| * Address review commentsXavier Denis2020-11-121-3/+2
| |
| * Reorder rustc_private loadingXavier Denis2020-11-111-87/+86
| |
| * Add support for loading rustc private cratesXavier Denis2020-11-114-69/+227
| |
* | Merge #6514bors[bot]2020-11-121-28/+92
|\ \ | | | | | | | | | | | | | | | | | | | | | 6514: Fix extract_struct_from_enum_variant not updating record references r=Veykril a=Veykril Related to #6510 Co-authored-by: Lukas Wirth <[email protected]>
| * | Add extra test to extract_struct_from_enum_variantLukas Wirth2020-11-121-1/+28
| | |
| * | Use Module::find_use_path_prefixed in extract_struct_from_enum_variant assistLukas Wirth2020-11-121-5/+9
| | |
| * | Fix extract_struct_from_enum_variant not updating record referencesLukas Wirth2020-11-121-26/+59
| | |
* | | Merge #6513bors[bot]2020-11-121-1/+82
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6513: Support qualified function calls in remove_unused_param r=Veykril a=Veykril Also adds a test to check that it removes unused params across files. Co-authored-by: Lukas Wirth <[email protected]>
| * | | Support qualified function calls in remove_unused_paramLukas Wirth2020-11-121-1/+49
| | | |
| * | | Add multiple file edit tes to remove_unused_param assistLukas Wirth2020-11-091-0/+33
| |/ /
* | | Remove the fixmeKirill Bulatov2020-11-121-36/+15
| | |
* | | Add a FIXME for non-unified inner attributesKirill Bulatov2020-11-121-2/+7
| | |
* | | Do not insert imports before inner commentsKirill Bulatov2020-11-121-18/+92
| | |
* | | Fix attachment of inner doc commentsAleksey Kladov2020-11-123-19/+33
| | |
* | | Simplify codeAleksey Kladov2020-11-121-28/+23
| | |
* | | Update testsAleksey Kladov2020-11-1210-21/+168
| | |
* | | Update crateskjeremy2020-11-111-1/+1
| | |
* | | Replace RacyFlag with OnceCellAleksey Kladov2020-11-113-32/+6
| | |
* | | Be more pedantic when checking codeAction/resolve supportAleksey Kladov2020-11-101-3/+6
| |/ |/|
* | Switch to upstream protocol for resolving code actionAleksey Kladov2020-11-1011-46/+67
| | | | | | | | | | | | Note that we have to maintain custom implementation on the client side: I don't see how to marry bulitin resolve support with groups and snippets.
* | Merge #6512bors[bot]2020-11-091-36/+89
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6512: Don't replace parent node when inserting as first child in algo::diff r=SomeoneToIgnore a=Veykril This makes the diff a bit more detailed. See https://github.com/rust-analyzer/rust-analyzer/pull/6287#issuecomment-723889267 for context cc @SomeoneToIgnore Co-authored-by: Lukas Wirth <[email protected]>
| * | Don't replace parent node when inserting as first child in algo::diffLukas Wirth2020-11-091-36/+89
| | |
* | | Merge #6472bors[bot]2020-11-097-3/+95
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6472: Add `static` modifier for associated functions r=matklad a=p3achyjr Adds static semantic token modifier to associated functions, resolves #6194 ## Info - Associated functions are more-or-less equivalent to static methods in other languages. This PR checks, for each function, whether that function has a self_param, and whether it's enclosed in a trait/impl. ## Changes - Added method ```is_associated``` to code_model::Function. This basically gets the source from the ast, and checks whether the enclosing scope is an impl or trait. - Added `static` to HighlightModifiers - Added unit test ## Tests - Ran ```cargo test``` Co-authored-by: Anatol Liu <[email protected]>
| * | Add static semantic token modifier for associated functions with no &selfAnatol Liu2020-11-092-16/+3
| | | | | | | | | | | | | | | | | | refactor logic into code_model.rs address comments
| * | Add static semantic token modifier for associated functions with no &selfAnatol Liu2020-11-082-6/+2
| | | | | | | | | | | | | | | | | | refactor logic into code_model.rs address comments
| * | Add static semantic token modifier for associated functions with no &selfAnatol Liu2020-11-051-5/+1
| | | | | | | | | | | | | | | | | | refactor logic into code_model.rs address comments
| * | Add static semantic token modifier for associated functions with no &selfAnatol Liu2020-11-051-1/+1
| | | | | | | | | | | | refactor logic into code_model.rs
| * | Add static semantic token modifier for associated functions with no &selfAnatol Liu2020-11-052-17/+22
| | | | | | | | | | | | refactor logic into code_model.rs
| * | Add static semantic token modifier for associated functions with no &selfAnatol Liu2020-11-058-2/+110
| | |
* | | . is an operatorAleksey Kladov2020-11-095-28/+30
| | | | | | | | | | | | closes #6498
* | | Fix panic when extracting structAleksey Kladov2020-11-092-3/+34
| | |
* | | Support multi-file assist testsAleksey Kladov2020-11-092-6/+56
| | |
* | | Fix debug for SyntaxRewriterAleksey Kladov2020-11-091-1/+4
| | |
* | | Merge #6506bors[bot]2020-11-095-1172/+1256
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6506: Cleanup assists r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Use standard style for test codeAleksey Kladov2020-11-091-568/+635
| | | |
| * | | More consistent namingAleksey Kladov2020-11-093-81/+81
| | | |
| * | | More consistent namingAleksey Kladov2020-11-093-66/+83
| | | |
* | | | Merge #6465bors[bot]2020-11-091-9/+16
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 6465: Support multiple file edits in AssistBuilder r=matklad a=Veykril Fixes #6459 Co-authored-by: Lukas Wirth <[email protected]>
| * | | Support multiple file edits in AssistBuilderLukas Wirth2020-11-041-9/+16
| | | |
* | | | Merge #6501bors[bot]2020-11-093-35/+51
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6501: Remove text_edit_builder api from AssistBuilder r=matklad a=Veykril Also fixes a small bug in `expand_glob_import` in regards to the very nice looking `something::{*}` import when only one item was used. Before it would duplicate the path and just append it, causing the following wrong import `something::something::UsedItem`. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Remove text_edit_builder api from AssistBuilderLukas Wirth2020-11-083-35/+51
| | |_|/ | |/| |
* | | | Add some postfix snippetPavan Kumar Sunkara2020-11-081-0/+12
| | | |
* | | | Merge #6476bors[bot]2020-11-074-110/+239
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6476: Add missing AssocItems in add_custom_impl assist r=matklad a=Veykril ```rust use std::fmt; #[derive(Debu<|>g)] struct Foo { bar: String, } ``` -> ```rust use std::fmt; struct Foo { bar: String, } impl fmt::Debug for Foo { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { ${0:todo!()} } } ``` Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Add missing AssocItems in add_custom_impl assistLukas Wirth2020-11-054-110/+239
| | |_|/ | |/| |
* | | | Minimize convert_integer_literal testsm-ysk2020-11-071-368/+2
| |/ / |/| |
* | | Cleanup APIAleksey Kladov2020-11-065-96/+84
| | |
* | | Merge #6485bors[bot]2020-11-0652-189/+155
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6485: Remove RAW literals r=matklad a=matklad bors r+ 🤖 closes https://github.com/rust-analyzer/rust-analyzer/issues/6308 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | SimplifyAleksey Kladov2020-11-066-45/+25
| | | |
| * | | Kill RAW_ literalsAleksey Kladov2020-11-0651-153/+139
| | | | | | | | | | | | | | | | | | | | Syntactically, they are indistinguishable from non-raw versions, so it doesn't make sense to separate then *at the syntax* level.