aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Shorten type hints for std::iter IteratorsLukas Wirth2020-10-064-9/+162
| | | |
* | | | Better progress APIAleksey Kladov2020-10-072-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | Percentage is a UI concern, the physical fact here is fraction. It's sad that percentage bleeds into the protocol level, we even duplicated this bad API ourselves!
* | | | CleanupAleksey Kladov2020-10-072-22/+23
| | | |
* | | | Merge #6158bors[bot]2020-10-071-5/+33
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6158: Fix for negative literals in macros r=matklad a=cutsoy _This pull request fixes #6028._ When writing `-42.0f32` in Rust, it is usually parsed as two different tokens (a minus operator and a float literal). But a procedural macro can also generate new tokens, including negative [float literals](https://doc.rust-lang.org/stable/proc_macro/struct.Literal.html#method.f32_suffixed): ```rust #[proc_macro] fn example_verbose(input: TokenStream) -> TokenStream { let literal = Literal::f32_suffixed(-42.0); quote! { #literal } } ``` or even shorter ```rust #[proc_macro] fn example(input: TokenStream) -> TokenStream { let literal = -42.0f32; quote! { #literal } } ``` Unfortunately, these currently cause RA to crash: ``` thread '<unnamed>' panicked at 'Fail to convert given literal Literal { text: "-42.0f32", id: TokenId( 4294967295, ), }', crates/mbe/src/subtree_source.rs:161:28 ``` This pull request contains both a fix 8cf9362 and a unit test 27798ee. In addition, I installed the patched server with `cargo xtask install --server` and verified in VSCode that it no longer crashes when a procedural macro returns a negative number literal. Co-authored-by: Tim <[email protected]>
| * | | | Added unit test for negative number literals in macros.Tim2020-10-061-0/+21
| | | | |
| * | | | Fixed parsing of negative number literals in macros.Tim2020-10-061-5/+12
| | |/ / | |/| |
* | | | Merge #6160bors[bot]2020-10-075-1/+448
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 6160: Add validation check for ambiguous trait objects r=matklad a=Veykril Fixes #285. Co-authored-by: Lukas Wirth <[email protected]>
| * | | Add validation check for ambiguous trait objectsLukas Wirth2020-10-065-1/+448
| | | |
* | | | Merge #6128bors[bot]2020-10-061-4/+25
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6128: Trim all trailing whitespace in onEnter r=matklad a=repnop Fixes #5848 Co-authored-by: Wesley Norris <[email protected]>
| * | | | Trim all trailing whitespace in onEnterWesley Norris2020-10-031-4/+25
| | |_|/ | |/| | | | | | | | | | Fixes #5848
* | | | Document privacy invariant of SyntaxPtrAleksey Kladov2020-10-061-0/+2
| | | |
* | | | Merge #6140bors[bot]2020-10-065-9/+81
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6140: honour hover.content_format client capability r=lnicola a=robinvd This removes all markdown when the client does not support the markdown MarkupKind. Otherwise the output on the editor will have some markdown boilerplate, making it less readable. For example kak_lsp does not currently support markdown. ![image](https://user-images.githubusercontent.com/22073483/95112949-ef0ff080-0741-11eb-82a7-0594fa2cd736.png) after: ![image](https://user-images.githubusercontent.com/22073483/95113089-2bdbe780-0742-11eb-94fa-bcfec6d7347a.png) Co-authored-by: Robin van Dijk <[email protected]>
| * | | | add break after codeblocksRobin van Dijk2020-10-061-2/+4
| | | | |
| * | | | add doc describing limited capabilitiesRobin van Dijk2020-10-061-0/+2
| | | | |
| * | | | add docstringRobin van Dijk2020-10-051-0/+3
| | | | |
| * | | | honor content_format clientcapRobin van Dijk2020-10-055-9/+74
| |/ / / | | | | | | | | | | | | | | | | | | | | This removes all markdown when the client does not support the markdown MarkupKind Otherwise the output on the editor will have some markdown boilerplate, making it less readable
* | | / Add test makrAleksey Kladov2020-10-061-0/+2
| |_|/ |/| |
* | | Constrain ImportMap to only store simple pathsAleksey Kladov2020-10-061-10/+26
| | |
* | | Merge #6150bors[bot]2020-10-068-46/+65
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6150: Move ModPath->ast::Path function to IDE layer r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Move ModPath->ast::Path function to IDE layerAleksey Kladov2020-10-068-46/+65
| | |/ | |/| | | | | | | closes #6092
* | | Merge #6148bors[bot]2020-10-062-6/+57
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 6148: Fix trait object hir formatting behind pointer and references r=matklad a=Veykril Fixes #6064 Co-authored-by: Lukas Wirth <[email protected]>
| * | Fix trait object hir formatting behind pointer and referencesLukas Wirth2020-10-062-6/+57
| |/
* | Merge #6124bors[bot]2020-10-0610-31/+64
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6124: Better normalized crate name usage r=jonas-schievink a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/5343 Closes https://github.com/rust-analyzer/rust-analyzer/issues/5932 Uses normalized name for code snippets (to be able to test the fix), hover messages and documentation rewrite links (are there any tests for those?). Also renamed the field to better resemble the semantics. Co-authored-by: Kirill Bulatov <[email protected]>
| * | Properly name the fieldKirill Bulatov2020-10-028-24/+26
| | |
| * | Fix the hover dash issuesKirill Bulatov2020-10-024-9/+10
| | |
| * | Add a dash testKirill Bulatov2020-10-022-2/+32
| | |
* | | Merge #6139bors[bot]2020-10-066-118/+172
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-055-9/+33
| | | |
| * | | Make find_path_prefixed configurableLukas Wirth2020-10-052-110/+140
| | |/ | |/|
* | | Do not leave braces for colons in dbg!Kirill Bulatov2020-10-061-2/+7
| | |
* | | 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
| | | |
* | | | 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
| | | | |
* | | | | Fix feature nameAleksey Kladov2020-10-051-1/+1
| |_|/ / |/| | |
* | | | 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
|/ / /
* | / Simplify ast_transformAleksey Kladov2020-10-021-40/+34
| |/ |/|
* | 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.
* | Expectify find_references testsAleksey Kladov2020-10-021-176/+181
| |
* | 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]>