aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #6139bors[bot]2020-10-067-119/+188
|\ | | | | | | | | | | | | | | | | | | | | | | 6139: Make find_path_prefixed configurable r=matklad a=Veykril This makes `find_path_prefixed` more configurable allowing one to choose whether it always returns absolute paths, self-prefixed paths or to ignore local imports when building the path. The config names are just thrown in here, taking better names if they exist :) This should fix #6131 as well? Co-authored-by: Lukas Wirth <[email protected]>
| * Make ImportPrefix a configuration optionLukas Wirth2020-10-056-10/+49
| |
| * Make find_path_prefixed configurableLukas Wirth2020-10-052-110/+140
| |
* | Merge #6147bors[bot]2020-10-061-2/+7
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6147: Do not leave braces for colons in dbg! r=matklad a=SomeoneToIgnore Tweak remove dbg heuristics a bit to remove braces when colons (`:`) are used in the non-leaf dbg expressions. Before: `dbg!(Foo::foo_test()).bar()` -> `(Foo::foo_test()).bar()` After: `dbg!(Foo::foo_test()).bar()` -> `Foo::foo_test().bar()` Co-authored-by: Kirill Bulatov <[email protected]>
| * | Do not leave braces for colons in dbg!Kirill Bulatov2020-10-061-2/+7
|/ /
* | Merge #6133bors[bot]2020-10-051-0/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | 6133: Add some notes related to privacy and network access r=SomeoneToIgnore a=lnicola Closes #5551. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | Add notes concerning privacy and network accessLaurențiu Nicola2020-10-041-0/+17
| |/
* | Merge #6111bors[bot]2020-10-054-5/+738
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6111: Add assist for converting the base of integer literals. r=SomeoneToIgnore a=vlakreeh This PR adds an assist similar to Intellij's [convert number to](https://i.imgur.com/JH6wstP.png). It also does a small refactor to [assists/src/tests.rs](https://github.com/rust-analyzer/rust-analyzer/blob/fc34403018079ea053f26d0a31b7517053c7dd8c/crates/assists/src/tests.rs) to add the ability to specify the resolved assist for a specific action within an assist group. ## Demo ![Demo of the assist in action](https://i.imgur.com/MBhdPFH.gif) Co-authored-by: vlakreeh <[email protected]>
| * | Add tests for convert integer literal assistvlakreeh2020-09-301-4/+570
| | |
| * | Add ability to specify ResolvedAssist by labelvlakreeh2020-09-291-5/+22
| | |
| * | Add convert integer literal assistvlakreeh2020-09-293-0/+150
| | |
* | | Merge #6143bors[bot]2020-10-052-1/+9
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6143: Account for proc macro helpers when parsing attr r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6138 Co-authored-by: Jonas Schievink <[email protected]>
| * | | Account for proc macro helpers when parsing attrJonas Schievink2020-10-052-1/+9
|/ / /
* | | Merge #6127bors[bot]2020-10-052-2/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6127: Correctly complete items with leading underscore r=SomeoneToIgnore a=fmease Fixes #6091. Let me know if the test is placed into the right file or if it is even desired. Co-authored-by: León Orell Valerian Liehr <[email protected]>
| * | | Correctly complete items with leading underscoreLeón Orell Valerian Liehr2020-10-032-2/+23
| | | |
* | | | Merge #6142bors[bot]2020-10-052-6/+8
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 6142: Fix feature name r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix feature nameAleksey Kladov2020-10-052-6/+8
|/ / /
* | | Merge #5997bors[bot]2020-10-031-15/+117
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5997: Better inlay hints in 'for' loops r=popzxc a=popzxc For #5206 (one part of the fix). This PR refines the logic of spawning an inlay hints in `for` loops. We only must provide a hint if the following criteria are met: - User already typed `in` keyword. - Type of expression is known and it's not unit. **However:** I don't know why, but I was unable to make `complete_for_hint` test work. Either without or with my changes, I was always getting this test failed because no hint was spawned for the loop variable. This change works locally, so I would really appreciate an explanation why this test isn't working now and how to fix it. ![image](https://user-images.githubusercontent.com/12111581/93024580-41a53380-f600-11ea-9bb1-1f8ac141be95.png) Co-authored-by: Igor Aleksanov <[email protected]>
| * | Improve readability in inlay_hints.rsIgor Aleksanov2020-10-031-4/+5
| | |
| * | Remove 'for_expr' test from inlay_hints.rsIgor Aleksanov2020-10-031-14/+1
| | |
| * | Make the tests for complete/incomplete for inlay hints workIgor Aleksanov2020-10-031-10/+77
| | |
| * | Better inlay hints in 'for' loopsIgor Aleksanov2020-10-031-2/+49
|/ /
* | Merge #6125bors[bot]2020-10-021-40/+34
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 6125: Simplify ast_transform r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Simplify ast_transformAleksey Kladov2020-10-021-40/+34
|/ /
* | Merge #6123bors[bot]2020-10-0238-672/+567
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 6123: Reduce duplication in fixtures r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | rename mock_analysis -> fixtureAleksey Kladov2020-10-0223-99/+90
| | |
| * | Get rid of MockAnalysisAleksey Kladov2020-10-0219-420/+288
| | |
| * | Rewrite fixtures on top of ChangeAleksey Kladov2020-10-021-83/+90
| | |
| * | Move ide::AnalysisChange -> base_db::ChangeAleksey Kladov2020-10-0211-93/+122
| | | | | | | | | | | | | | | | | | This seems like a better factoring logically; ideally, clients shouldn't touch `set_` methods of the database directly. Additionally, I think this should remove the unfortunate duplication in fixture code.
* | | Merge #6122bors[bot]2020-10-021-176/+181
|\| | | | | | | | | | | | | | | | | | | | | | | | | | 6122: Expectify find_references tests r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Expectify find_references testsAleksey Kladov2020-10-021-176/+181
|/ /
* | Merge #6121bors[bot]2020-10-022-13/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 6121: Reduce visibiity r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Reduce visibiityAleksey Kladov2020-10-022-13/+14
|/ /
* | Merge #5988bors[bot]2020-10-023-2/+338
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5988: Postfix completions for fmt-like string literals r=matklad a=popzxc This pull request adds a bunch of new postfix completions for `format`-like string literls. For example, `"{32} {some_var:?}".println` will expand to `println!("{} {:?}", 32, some_var)`. Postfix completions were added for most common format-like macros: - `println` -> `println!(...)` - `fmt` -> `format!(...)` - `panic` -> `panic!(...)` - `log` macros: + `logi` -> `log::info!(...)` + `logw` -> `log::warn!(...)` + `loge` -> `log::error!(...)` + `logt` -> `log::trace!(...)` + `logd` -> `log::debug!(...)` ![fmt_postfix](https://user-images.githubusercontent.com/12111581/92998650-a048af80-f523-11ea-8fd8-410146de8caa.gif) Co-authored-by: Igor Aleksanov <[email protected]>
| * | Use expect_test to make format_str_parser test more data-drivenIgor Aleksanov2020-10-021-35/+35
| | |
| * | Use lookup table instead of enum for postfix completion kindsIgor Aleksanov2020-10-021-62/+20
| | |
| * | Use ast::String for extracting string literal contentsIgor Aleksanov2020-10-022-14/+19
| | |
| * | Improve format-like completions code appearanceIgor Aleksanov2020-10-022-32/+26
| | |
| * | Add missing entry to doc-commentIgor Aleksanov2020-10-021-0/+1
| | |
| * | Simplify is_string_literal functionIgor Aleksanov2020-10-021-9/+5
| | |
| * | Improve checks for postfix suggestionsIgor Aleksanov2020-10-023-16/+23
| | |
| * | Add postfix completion for format-like string literalsIgor Aleksanov2020-10-023-1/+376
| | |
* | | Merge #5954bors[bot]2020-10-0210-2/+67
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5954: Add flexible configuration for runnables r=popzxc a=popzxc This PR introduces two new configuration options for runnables: `overrideCargo` and `cargoExtraArgs`. These options are applied to all the "run" tasks of rust analyzer, such as binaries and tests. Overall motivation is that rust-analyzer provides similar options, for example, for `rustfmt`, but not for runnables. ## `overrideCargo` This option allows user to replace `cargo` command with something else (well, something that is compatible with the cargo arguments). Motivation is that some projects may have wrappers around cargo (or even whole alternatives to cargo), which do something related to the project, and only then run `cargo`. With this feature, such users will be able to use lens and run tests directly from the IDE rather than from terminal. ![cargo_override](https://user-images.githubusercontent.com/12111581/92306622-2f404f80-ef99-11ea-9bb7-6c6192a2c54a.gif) ## `cargoExtraArgs` This option allows user to add any additional arguments for `cargo`, such as `--release`. It may be useful, for example, if project has big integration tests which take too long in debug mode, or if any other `cargo` flag has to be passed. ![cargo_extra_args](https://user-images.githubusercontent.com/12111581/92306658-821a0700-ef99-11ea-8be9-bf0aff78e154.gif) Co-authored-by: Igor Aleksanov <[email protected]>
| * | | Fix failing testIgor Aleksanov2020-10-021-0/+6
| | | |
| * | | Support 'runnables' options in the vs code extensionIgor Aleksanov2020-10-025-2/+31
| | | |
| * | | Replace 'cargo_prefix' option with 'override_cargo'Igor Aleksanov2020-10-024-10/+10
| | | |
| * | | Add support of runnables arguments in Rust AnalyzerIgor Aleksanov2020-10-024-0/+30
| |/ /
* | | Merge #6105bors[bot]2020-10-021-48/+85
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6105: Fix path comparison not comparing paths correctly with unequal lengths r=matklad a=Veykril ~~This PR includes the commit from #6102 there as I found a bug while writing that(so either merging this or both in order works) so I included a test there already which was just ignored.~~ This PR fixes that, basically inserting imports didn't consider path length for equality, so depending on the order it might insert the path before or after another import if they only differ in segment length. ~~Diff without the commit of #6102 https://github.com/rust-analyzer/rust-analyzer/commit/2d90d3937d71f9a00f3d44c15b20679215311637~~ Co-authored-by: Lukas Wirth <[email protected]>
| * | Fix path comparison not comparing paths correctly with unequal lengthsLukas Wirth2020-10-011-48/+85
| | |
* | | Merge #6118bors[bot]2020-10-021-0/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6118: Document Clippy strategy r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>