Jake Heinz
b0c7ff39b8
remove one need for semantics
2021-11-30 04:50:09 +00:00
Jake Heinz
54fc98920b
consts with inners??
2021-11-30 03:21:17 +00:00
Jake Heinz
492b169224
pr feedbacks
2021-11-30 03:09:38 +00:00
Jake Heinz
0abf236445
test the one thing this pr was trying to accomplish lol...
2021-11-29 10:43:51 +00:00
Jake Heinz
f0bfe310a2
add a test
2021-11-29 10:36:22 +00:00
Jake Heinz
97105e1288
some more cleanups
2021-11-29 09:52:03 +00:00
Jake Heinz
1280887561
do something with library_symbols
2021-11-29 09:36:00 +00:00
Jake Heinz
176f4da77a
simplify work
2021-11-29 07:17:18 +00:00
Jake Heinz
6e89fb6f73
🧹
2021-11-29 05:42:46 +00:00
Jake Heinz
6cf9969546
collect macro_rules! macros into macro declarations
2021-11-29 05:28:22 +00:00
Jake Heinz
1ed5699355
collect macros
2021-11-29 05:22:30 +00:00
Jake Heinz
d69e0dab56
cleanup the whole thing...
2021-11-29 03:54:52 +00:00
Jake Heinz
aecb9a378c
traverse even more...
2021-11-29 02:07:16 +00:00
Jake Heinz
9387e2d919
populate container name when traversing down blocks
2021-11-29 01:32:47 +00:00
Jake Heinz
8fa1d9bb47
collect blocks from unnamed consts too
2021-11-29 01:11:31 +00:00
Jake Heinz
8850ea0b4f
collect defs from body blocks
2021-11-29 01:09:39 +00:00
Jake Heinz
8307d38dc1
cleanups
2021-11-28 00:42:42 +00:00
Jake Heinz
e033d8c2a2
make navigation target go to original file location
2021-11-27 13:48:50 +00:00
Jake Heinz
a7370c5725
remove file symbols
2021-11-27 13:00:02 +00:00
Jake Heinz
377162c0f8
container name?
2021-11-27 12:27:43 +00:00
Jake Heinz
a69af9daa3
sema parse_or_expand
2021-11-27 11:49:51 +00:00
Jake Heinz
0447be7589
wip
2021-11-27 11:25:05 +00:00
rainy-me
0bb08ccb8f
fix: derive path handling
2021-11-25 00:21:29 +09:00
Emil Gardström
3dc898389f
Make lint groups work correctly with warningsAsInfo
and warningsAsHint
2021-11-22 18:38:28 +01:00
bors[bot]
b69eee6487
Merge #10809
...
10809: fix: don't discard formatting of `use` lines r=Veykril a=iDawer
Use mutable syntax trees in `merge_imports`, `split_imports`. This tries to resolve #9013 . But I haven't much managed to simplify code of merging.
Also resolve #9361 . It reuses a use tree under the cursor so that comments+indentation are preserved. Merged trees are just appended to the end.
This touches bunch of tests. I removed the sorting of use trees as it needs a proper implementation that takes into account comments and line wrapping. I think it is rustfmt's job or at least until we get a close implementation.
Co-authored-by: iDawer <ilnur.iskhakov.oss@outlook.com>
2021-11-22 14:29:24 +00:00
Lukas Wirth
77f08d0fc3
Split parts of ide_db::call_info
off into ide
2021-11-22 13:23:34 +01:00
iDawer
601413df8f
Use mutable syntax trees in merge_imports
, split_imports
2021-11-19 20:02:27 +05:00
Lukas Wirth
92f7db447c
minor: Lift out FxIndex{Map/Set} types into ide_db
2021-11-16 12:15:47 +01:00
Lukas Wirth
5c0b895f69
Rename intern_macro -> intern_macro_call
2021-11-14 16:25:47 +01:00
Lukas Wirth
a510021065
Replace some more ide usages of ModuleDef with Definition
2021-11-11 18:20:54 +01:00
Lukas Wirth
7776aad166
internal: Flatten Definition::ModuleDef
variant
2021-11-11 00:05:53 +01:00
Lukas Wirth
26419c0379
Fix proc-macro attributes being shadowed by their functions in IDE layer
2021-11-08 14:49:50 +01:00
Lukas Wirth
439a8194b0
Replace more Name::to_string usages with Name::to_smol_str
2021-11-04 18:12:05 +01:00
bors[bot]
962be38004
Merge #10645
...
10645: fix: make `rename` multi-token mapping aware r=Veykril a=spookyvision
Co-authored-by: Anatol Ulrich <anatol.ulrich@ferrous-systems.com>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Anatol Ulrich <45840+spookyvision@users.noreply.github.com>
2021-11-04 16:31:16 +00:00
bors[bot]
c96481e25f
Merge #10691
...
10691: minor: Use array `into_iter` in more places r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-11-04 05:52:05 +00:00
Laurențiu Nicola
139bf9b4e1
Use array into_iter in more places
2021-11-04 07:51:20 +02:00
Lukas Wirth
96db0d8bdd
Add Semantics::original_ast_node for upmapping nodes out of macro files
2021-11-03 21:12:36 +01:00
Lukas Wirth
3018ffd85e
Refactor ide handling for paths in derive inputs
2021-10-28 16:47:19 +02:00
Anatol Ulrich
8d3ac328ee
remove resolved TODO questions
2021-10-27 15:40:30 +02:00
Anatol Ulrich
6decfceae1
WIP: fix: make rename
multi-token mapping aware
2021-10-27 04:31:14 +02:00
Laurențiu Nicola
8457ae34bd
Set MSRV
2021-10-23 15:07:11 +03:00
bors[bot]
fe7c516084
Merge #10602
...
10602: Add qualify method call assist r=Veykril a=qepasa
This adds `qualify_method_call` assist that allows to replace a method (or trait) call that resolves with its fully qualified path.
For example, for stuct method:
```rust
struct Foo;
impl Foo {
fn foo(&self) {}
}
```
```
let foo = Foo {};
foo.fo$0o();
```
becomes
```rust
let foo = Foo {};
Foo::foo(&foo);
```
for a trait method:
```rust
struct Foo;
trait FooTrait {
fn foo(&self) {}
}
impl FooTrait for Foo {
fn foo(&self) {}
}
```
following call:
```rust
let foo = Foo {};
foo.fo$0o();
```
becomes:
```rust
let foo = Foo {};
FooTrait::foo(&foo);
```
fixes #10453
Co-authored-by: Paweł Palenica <pawelpalenica11@gmail.com>
2021-10-23 08:34:51 +00:00
Lukas Wirth
1294bfce86
Migrate to edition 2021
2021-10-21 20:10:40 +02:00
bors[bot]
6aeeb4ef33
Merge #10603
...
10603: fix: Don't resolve attributes to non attribute macros r=Veykril a=Veykril
Also changes `const`s to `static`s for `Limit`s as we have interior mutability in those(though only used with a certain feature flag enabled).
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-21 10:39:26 +00:00
Lukas Wirth
ea2a2c52fc
Don't resolve attributes to non attribute macros
2021-10-21 12:22:40 +02:00
Paweł Palenica
9f31f59fdf
Cleanup - remove unnecessary pub
2021-10-20 23:37:31 -07:00
Paweł Palenica
bb00b09d22
Add qualify method call assist
2021-10-20 23:28:30 -07:00
bors[bot]
6877240fdf
Merge #10563
...
10563: feat: Make "Generate getter" assist use semantic info r=agluszak a=agluszak
This PR makes "Generate getter" assist use semantic info instead of dealing with types encoded as strings.
Getters for types which are:
- `Copy` no longer return references
- `AsRef<str>` (i.e. `String`) return `&str` (instead of `&String`)
- `AsRef<[T]>` (i.e. `Vec<T>`) return `&[T]` (instead of `&Vec<T>`)
- `AsRef<T>` (i.e. `Box<T>`) return `&T` (instead of `&Box<T>`)
- `Option<T>` return `Option<&T>` (instead of `&Option<T>`)
- `Result<T, E>` return `Result<&T, &E>` (instead of `&Result<T, E>`)
String, Vec, Box and Option were previously handled as special cases.
Closes #10295
Co-authored-by: Andrzej Głuszak <gluszak.andrzej@gmail.com>
2021-10-20 21:02:46 +00:00
Lukas Wirth
6c9b8d7ce5
Generate rustdoc lints
2021-10-20 13:48:05 +02:00
Lukas Wirth
aa9d093488
Resolve derive attributes even when shadowed
2021-10-19 13:42:36 +02:00