Commit Graph

6968 Commits

Author SHA1 Message Date
Veetaha a24dcd7bab fix(ra_parser.typo): amend 'format language' to 'formal language' 2020-01-15 23:29:55 +02:00
Veetaha 60251da204 refactor(ra_syntax.validation): removed code duplication from validate_literal() function 2020-01-14 04:09:03 +02:00
bors[bot] d8d8c20077 Merge #2829
2829: Log client info if present r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-01-13 21:44:20 +00:00
kjeremy 170c7bd7e3 Log client info if present 2020-01-13 16:20:47 -05:00
bors[bot] ea0ee8e5bf Merge #2818
2818: Don't panic if chalk panics r=matklad a=matklad

r? @flodiebold 

Trying to paper-over panicking chalk. Not sure if this'll make situation better or worse, but I hope it'll be better, as we won't be tearing down type-inference as a whole

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-01-13 18:01:15 +00:00
Aleksey Kladov 5654387e77 Don't panic if chalk panics 2020-01-13 19:00:42 +01:00
bors[bot] 7ea7de338f Merge #2825
2825: Some clippy lints r=matklad a=kjeremy



Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-01-13 17:06:19 +00:00
bors[bot] 27abd4a1a5 Merge #2824
2824: Defer cargo check until after workspace load r=kiljacken a=kiljacken

Fixes #2822

Co-authored-by: Emil Lauridsen <mine809@gmail.com>
2020-01-13 16:52:30 +00:00
kjeremy c5c5f4260b Readability 2020-01-13 11:38:53 -05:00
kjeremy a82c679c97 Some clippy lints 2020-01-13 11:27:06 -05:00
Emil Lauridsen c774850fd8 Schedule check update regardless of notification setting 2020-01-13 17:22:21 +01:00
Emil Lauridsen daca5a3711 Defer cargo check until after workspace load 2020-01-13 17:12:14 +01:00
bors[bot] 5621f90071 Merge #2823
2823: Dropping a reference does nothing. r=matklad a=kjeremy

Allows clippy to continue compilation

Co-authored-by: kjeremy <kjeremy@gmail.com>
2020-01-13 15:54:32 +00:00
kjeremy 0610444407 Dropping a reference does nothing.
Allows clippy to continue compilation
2020-01-13 10:51:39 -05:00
Aleksey Kladov a30129be5a build with clang? 2020-01-13 15:20:09 +01:00
Aleksey Kladov ab6e992c87 musl 2020-01-13 14:53:09 +01:00
Aleksey Kladov 79c7394da2 Merge pull request #2820 from rust-analyzer/releases
GitHub releases
2020-01-13 14:48:13 +01:00
Aleksey Kladov 5514ca3997 🎁 GitHub releases 🎁 2020-01-13 14:47:03 +01:00
Aleksey Kladov 875352b2b6 Rename Emacs "extension" 2020-01-13 12:56:33 +01:00
bors[bot] 96e759413d Merge #2815
2815: Report macro calls as functions r=matklad a=kjeremy



Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-01-13 10:34:43 +00:00
bors[bot] de717a8635 Merge #2816
2816: Add macro_rules item snippet r=matklad a=memoryruins

An user trying out rust-analyzer mentioned to me that they missed `rls-vscode`'s [macro_rules snippet](https://github.com/rust-lang/rls-vscode/blob/c2293a63d4adc76ab714a5c6d0a2e9c7b7be77ed/snippets/rust.json#L60)

![2020-01-12_17-47-34](https://user-images.githubusercontent.com/6868531/72227227-fcf46480-3567-11ea-9e3b-2f7319d127f7.gif)


Co-authored-by: memoryruins <memoryruinsmusic@gmail.com>
2020-01-13 10:24:17 +00:00
bors[bot] 5fd1b044b6 Merge #2768
2768: Rename VS Code extension to rust-analyzer r=matklad a=matklad

I want to merge this before release on Monday, such that we can give heads up on twitter

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2020-01-13 10:13:47 +00:00
Aleksey Kladov bd7aa5db14 Rename VS Code extension to rust-analyzer 2020-01-13 11:13:18 +01:00
memoryruins 5575588387 Add macro_rules item snippet 2020-01-12 18:47:15 -05:00
Jeremy Kolb 9e71ff9636 Report macro calls as functions 2020-01-12 17:22:09 -05:00
bors[bot] a05970da46 Merge #2788
2788: Fix file_structure()  to recognize macro_rules! r=flodiebold a=ruabmbua

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/2774.

Not sure what to do about classifying macro definitions. Maybe make all macro invocations a function invocation?

Co-authored-by: Roland Ruckerbauer <roland.rucky@gmail.com>
2020-01-12 17:34:47 +00:00
Roland Ruckerbauer 20b8d283ae Remove hir usage from macro_rules! detection in structure_node() 2020-01-12 17:34:57 +01:00
Roland Ruckerbauer 15c5426b54 Use hir .path() and .name() to differentiate
macro call and macro definition
2020-01-12 17:34:57 +01:00
Roland Ruckerbauer c6655c67d2 Added test for file_structure unidentified macro definition 2020-01-12 17:34:57 +01:00
Roland Ruckerbauer db151763d4 Fix file_structure() to recognize macro_rules!
where first token != "macro_rules"
2020-01-12 17:34:57 +01:00
bors[bot] d0b52e5d84 Merge #2814
2814: Update crates r=matklad a=kjeremy

Adds a new dependency on autocfg 1.0. There are pending PRs against indexmap, crossbeam and rand to bring them up.

Co-authored-by: Jeremy Kolb <kjeremy@gmail.com>
2020-01-12 15:57:38 +00:00
bors[bot] f7a7092d69 Merge #2712
2712: Supporting extend selection inside macro calls r=edwin0cheng a=edwin0cheng



Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-01-12 12:26:40 +00:00
Edwin Cheng 0593da9a36 Fix format 2020-01-12 20:25:58 +08:00
Edwin Cheng 384e1ced88 Use prev_token and next_token 2020-01-12 20:25:58 +08:00
Edwin Cheng b7ab079211 Use indices first and last instead of min-max 2020-01-12 20:25:58 +08:00
Edwin Cheng caed836e41 Use first and last token only 2020-01-12 20:25:58 +08:00
Edwin Cheng b30e6a7b56 Handle extend selection in recursive macro 2020-01-12 20:25:58 +08:00
Edwin Cheng 07f4171b18 Minor fix 2020-01-12 20:25:58 +08:00
Edwin Cheng 4c4416543a Fix formatting 2020-01-12 20:25:58 +08:00
Edwin Cheng 83b2d78bbb Supporting extend selection inside macro calls 2020-01-12 20:25:58 +08:00
bors[bot] 8bb2a50ce6 Merge #2807
2807: Use attr location for builtin derive in goto-implementation r=matklad a=edwin0cheng

This PR is use attribute location for builtin derive in `ImplBlock`'s NavigationTarget such that the goto-implementation will goto to a correct position. 

Related to #2531

Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2020-01-12 11:33:31 +00:00
Edwin Cheng db5f73d261 Add test 2020-01-12 19:24:34 +08:00
bors[bot] 21be386db8 Merge #2809
2809: Qualify paths in 'fill match arms' assist r=matklad a=flodiebold



Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-01-12 11:23:11 +00:00
Florian Diebold 2c11a9b42d Qualify paths in 'fill match arms' assist 2020-01-12 11:34:52 +01:00
Edwin Cheng d7be1a4372 Use attr location for builtin macro goto-imp 2020-01-12 18:08:53 +08:00
Jeremy Kolb 38c3b02f96 Update crates 2020-01-11 20:16:35 -05:00
bors[bot] 86d2af9f7b Merge #2803
2803: Fix various names, e.g. Iterator not resolving in core prelude r=matklad a=flodiebold

Basically, `Iterator` is re-exported via several steps, which happened to not be
resolved yet when we got to the prelude import, but since the name resolved to
the reexport from `core::iter` (just to no actual items), we gave up trying to
resolve it further.

Maybe part of the problem is that we can have
`PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate`
with `None` in all namespaces, and handle them differently.

Fixes #2683.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2020-01-11 23:00:37 +00:00
bors[bot] bcfd297f49 Merge #2727
2727: Qualify paths in 'add impl members' r=flodiebold a=flodiebold

This makes the 'add impl members' assist qualify paths, so that they should resolve to the same thing as in the definition. To do that, it adds an algorithm that finds a path to refer to any item from any module (if possible), which is actually probably the more important part of this PR 😄 It handles visibility, reexports, renamed crates, prelude etc.; I think the only thing that's missing is support for local items. I'm not sure about the performance, since it takes into account every location where the target item has been `pub use`d, and then recursively goes up the module tree; there's probably potential for optimization by memoizing more, but I think the general shape of the algorithm is necessary to handle every case in Rust's module system.

~The 'find path' part is actually pretty complete, I think; I'm still working on the assist (hence the failing tests).~

Fixes #1943.

Co-authored-by: Florian Diebold <flodiebold@gmail.com>
Co-authored-by: Florian Diebold <florian.diebold@freiheit.com>
2020-01-11 22:42:39 +00:00
Florian Diebold 9dc1826cfa Fix various names, e.g. Iterator not resolving in core prelude
Basically, `Iterator` is re-exported via several steps, which happened to not be
resolved yet when we got to the prelude import, but since the name resolved to
the reexport from `core::iter` (just to no actual items), we gave up trying to
resolve it further.

Maybe part of the problem is that we can have
`PartialResolvedImport::Unresolved` or `PartialResolvedImport::Indeterminate`
with `None` in all namespaces, and handle them differently.

Fixes #2683.
2020-01-11 23:37:58 +01:00
Florian Diebold ccb75f7c97 Use FxHashMap 2020-01-11 23:33:04 +01:00