Kirill Bulatov
b477f99bd9
One more test
2020-09-11 00:20:13 +03:00
Kirill Bulatov
208d4609b0
Use better heuristics for replacement text when removing dbg!
2020-09-10 14:14:24 +03:00
Lukas Wirth
74b755d233
Allow merge_imports assists to merge imports of equal visibility
2020-09-05 16:15:16 +02:00
Lukas Wirth
7ccb198af8
Remove duplicated import merge logic
2020-09-05 15:51:26 +02:00
Lukas Wirth
d201317c67
Fix segment_iter not iterating segments properly
2020-09-05 15:44:54 +02:00
bors[bot]
0275b08d15
Merge #5940
...
5940: Implement "Replace `impl Trait` function argument with the named generic" assist. r=matklad a=alekseysidorov
Fixes #5085
Co-authored-by: Aleksei Sidorov <gorthauer87@yandex.ru>
2020-09-04 21:54:42 +00:00
Aleksei Sidorov
e1b8d836a9
Remove unnecessary comma
2020-09-04 22:58:50 +03:00
Aleksei Sidorov
ef0a1b2e58
Fix tests
2020-09-04 17:55:27 +03:00
Aleksei Sidorov
a1c060c8d0
Update codegen
2020-09-04 15:28:08 +03:00
Aleksei Sidorov
477fa75cfb
Fix nitpicks
2020-09-04 15:24:36 +03:00
Lukas Wirth
82f61e6629
Add extra insert_use test for pub(crate) re-export handling
2020-09-03 20:26:27 +02:00
Lukas Wirth
d29b69cbe6
Disable insert_import in extract_struct_from_enum_variant until its fixed
2020-09-03 18:36:08 +02:00
Lukas Wirth
7de2a30f40
Fix import insertion breaking nested modules
2020-09-03 18:36:08 +02:00
Lukas Wirth
98e2f674e9
Fix inserting imports in front of inner attributes
2020-09-03 18:36:08 +02:00
Lukas Wirth
c1925df7fc
Replace insert_use_statement with the new insert_use
2020-09-03 18:36:08 +02:00
Lukas Wirth
952f385682
Impl make::blank_line
2020-09-03 18:36:07 +02:00
Lukas Wirth
07ff9eeca8
Use mark to check that paths that are too long will not be merged
2020-09-03 18:36:07 +02:00
Lukas Wirth
74186d3ae7
Tidy up tests and apply suggested changes
2020-09-03 18:36:07 +02:00
Lukas Wirth
903c7eb2e5
Add more import insertion tests
2020-09-03 18:36:07 +02:00
Lukas Wirth
ed37335c01
Begin refactor of import insertion
2020-09-03 18:36:07 +02:00
Aleksei Sidorov
7259cc82f3
Resolve most of corner cases
2020-09-03 17:46:04 +03:00
Aleksei Sidorov
fe3170dc34
Initial implementation of the #5085 issue
2020-09-03 14:47:07 +03:00
Aleksey Kladov
75b1f9ee23
Unify naming
2020-09-03 12:18:46 +02:00
Aleksey Kladov
b1f59ff6c1
Reduce path_from_text usage
2020-08-31 15:47:42 +02:00
Aleksey Kladov
0fc8fd2bd5
**Inline Variable** works with field shorthand
2020-08-26 13:03:14 +02:00
Aleksey Kladov
4f6ca0e081
Minor
2020-08-25 18:07:25 +02:00
Aleksey Kladov
7721accebf
Cleanup invert-if
...
* stick to trivial factory functions in make
* compress the logic for inverting Option/Result
2020-08-25 11:00:32 +02:00
bors[bot]
81fa00c5b5
Merge #5733
...
5733: Fix expand glob import bugs r=matklad a=unexge
fixes https://github.com/rust-analyzer/rust-analyzer/issues/5709
TODOs:
- [x] Incorrect node replacing
<details>
<summary>Details</summary>
```rust
use crate::{
body::scope::{ExprScopes, ScopeId},
body::Body,
builtin_type::BuiltinType,
db::DefDatabase,
expr::{ExprId, PatId},
generics::GenericParams,
item_scope::{BuiltinShadowMode, BUILTIN_SCOPE},
nameres::CrateDefMap,
path::*<|>,
per_ns::PerNs,
visibility::{RawVisibility, Visibility},
AdtId, AssocContainerId, ConstId, ContainerId, DefWithBodyId, EnumId, EnumVariantId,
FunctionId, GenericDefId, HasModule, ImplId, LocalModuleId, Lookup, ModuleDefId, ModuleId,
StaticId, StructId, TraitId, TypeAliasId, TypeParamId, VariantId,
};
```
becames
```rust
use crate::{PathKind, name, name, ModPath};
```
</details>
- [x] Ignoring visibility
<details>
<summary>Details</summary>
```rust
mod foo {
mod bar {
pub struct Bar;
}
}
use foo::bar::*;
fn baz(bar: Bar) {}
```
becames
```rust
mod foo {
mod bar {
pub struct Bar;
}
}
use foo::bar::Bar;
fn baz(bar: Bar) {}
```
although mod `bar` is private
</details>
- [x] Eating attributes
Co-authored-by: unexge <unexge@gmail.com>
2020-08-24 14:26:33 +00:00
dragfire
1d129a7172
Invert if should be smart about is_some, is_none, is_ok, is_err
2020-08-23 22:30:34 -06:00
Aleksey Kladov
863b1fb731
⬆️ ungrammar
2020-08-21 19:14:05 +02:00
unexge
ef54e8451d
Use new Definition::usages
API in expand glob import
2020-08-20 21:35:47 +03:00
unexge
5cff4b60be
Fix importing private modules in expand glob import
2020-08-20 21:34:53 +03:00
unexge
5d28dec7b9
Fix importing unused traits in expand glob import
2020-08-20 21:34:53 +03:00
unexge
585f5d4901
Use fixme instead of todo
2020-08-20 21:34:53 +03:00
unexge
0847bc801e
Use Definition::find_usages
for finding used items in expand glob import
2020-08-20 21:34:53 +03:00
unexge
11d048af03
Run rustfmt
2020-08-20 21:34:53 +03:00
unexge
bb72150f02
Handle more cases in AST replacing in expand glob import
2020-08-20 21:34:53 +03:00
unexge
128eef779f
Improve AST replacing in expand glob import
2020-08-20 21:34:53 +03:00
Aleksey Kladov
4b5b55f6f3
**Remove Unused Parameter** refactoring
2020-08-19 19:40:55 +02:00
Aleksey Kladov
81b0976187
Future proof find-usages API
...
We might want to provide more efficient impls for check if usages
exist, limiting the search, filtering and cancellation, so let's
violate YAGNI a bit here.
2020-08-19 18:58:48 +02:00
Aleksey Kladov
aa1a7a5414
Introduce Label
2020-08-18 16:50:07 +02:00
bors[bot]
7d95a8447c
Merge #5776 #5780
...
5776: Fix eslint errors on .eslintrc.js and rollup.config.js r=matklad a=fuafa
Eslint complains if these two files does not include in the `tsconfig.json`.
```
Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
The file does not match your project config: .eslintrc.js.
The file must be included in at least one of the projects provided.eslint
```
![image](https://user-images.githubusercontent.com/20750310/90338269-176d4f80-e01b-11ea-8710-3ea817b235d2.png )
5780: Fixup whitespace when adding missing impl items r=matklad a=jDomantas
Generate properly formatted whitespace when adding impl items - with an empty line between items and removing extra whitespace that often appears at the end.
This is my first time working on rust analyzer so I'm not very familiar with its internal APIs. If there's a better way to do such syntax tree editing I'd be glad to hear it.
Co-authored-by: xiaofa <xiaofalzx@gmail.com>
Co-authored-by: jDomantas <djadenkus@gmail.com>
2020-08-17 14:30:24 +00:00
Aleksey Kladov
6a4c9fc9fd
Don't make fields private unless you have to
2020-08-17 16:11:29 +02:00
jDomantas
38e3088a56
update generated tests
2020-08-17 10:47:13 +03:00
Aleksey Kladov
0ca1ba29e8
Don't expose hir::Path out of hir
...
Conjecture: it's impossible to use hir::Path *correctly* from an IDE.
I am not entirely sure about this, and we might need to add it back at
some point, but I have to arguments that convince me that we probably
won't:
* `hir::Path` has to know about hygiene, which an IDE can't set up
properly.
* `hir::Path` lacks identity, but you actually have to know identity
to resolve it correctly
2020-08-15 18:50:41 +02:00
Aleksey Kladov
2052d33b9b
Remove deprecated Path::from_ast
...
Long term, we probably should make hir::Path private to hir.
2020-08-15 18:22:16 +02:00
jDomantas
9f548a0295
fixup whitespace when adding missing impl items
2020-08-14 16:10:52 +03:00
Aleksey Kladov
fc34403018
Rename ra_assists -> assists
2020-08-13 17:33:38 +02:00