Aleksey Kladov
c6509a4592
internal: move missing_fields diagnostics
2021-06-13 15:27:15 +03:00
Aleksey Kladov
efa069d288
internal: start new diagnostics API
...
At the moment, this moves only a single diagnostic, but the idea is
reafactor the rest to use the same pattern. We are going to have a
single file per diagnostic. This file will define diagnostics code,
rendering range and fixes, if any. It'll also have all of the tests.
This is similar to how we deal with assists.
After we refactor all diagnostics to follow this pattern, we'll probably
move them to a new `ide_diagnostics` crate.
Not that we intentionally want to test all diagnostics on this layer,
despite the fact that they are generally emitted in the guts on the
compiler. Diagnostics care to much about the end presentation
details/fixes to be worth-while "unit" testing. So, we'll unit-test only
the primary output of compilation process (types and name res tables),
and will use integrated UI tests for diagnostics.
2021-06-13 14:55:45 +03:00
Maan2003
c9b4ac5be4
clippy::redudant_borrow
2021-06-13 09:24:16 +05:30
rainy-me
e0b01f34bb
Add pub mod option for UnlinkedFile
2021-05-18 08:11:07 +09:00
Aleksey Kladov
75a0123614
fix: don't add extra whitespace around fields
...
closes #8785
2021-05-17 12:45:01 +03:00
Aleksey Kladov
21918c6f5e
minor: add missing tests
2021-05-17 12:37:22 +03:00
Aleksey Kladov
fa7fc0e5cb
internal: scalable module structure for fixits
2021-05-17 12:04:17 +03:00
Aleksey Kladov
db8fbb99ce
minor: extract fix to file
2021-05-17 11:40:34 +03:00
Aleksey Kladov
1859df37fd
internal: use mutable syntax trees when filling fields
2021-05-16 18:10:56 +03:00
Kirill Bulatov
1679a376f3
Resolve single assist only
2021-05-03 18:03:28 +03:00
Kirill Bulatov
e5cdcb8b12
Add a way to resolve certain assists
2021-05-03 17:14:49 +03:00
Aleksey Kladov
06a633ff42
feat: improve performance by delaying computation of fixes for diagnostics
2021-04-13 12:09:04 +03:00
Aleksey Kladov
426d098bd6
internal: prepare for lazy diagnostics
2021-04-12 17:58:01 +03:00
Lukas Wirth
c9e479870b
Prefer add mod
declaration to lib.rs over file.rs in UnlinkedFile fix
2021-03-27 23:43:07 +01:00
cynecx
5ff3299dd6
syntax: return owned string instead of leaking string
2021-03-26 18:30:59 +01:00
Jonas Schievink
37c6ce34a9
Document unlinked-file diagnostic
2021-03-24 22:18:17 +01:00
Matthias Krüger
966c23f529
avoid converting types into themselves via .into() (clippy::useless-conversion)
...
example: let x: String = String::from("hello world").into();
2021-03-17 01:27:56 +01:00
Jonas Schievink
32e1ca54ea
Add module comment
2021-03-15 02:23:00 +01:00
Jonas Schievink
40638b16c8
Use pub(crate)
2021-03-15 01:46:59 +01:00
Jonas Schievink
8b4cbbb87c
Redo it properly and add a quickfix
2021-03-15 01:39:41 +01:00
Phil Ellison
db6dda94a3
Remove use of SourceFileEdit
2021-01-23 07:54:45 +00:00
Phil Ellison
920e57bd15
cargo fmt
2021-01-23 07:40:25 +00:00
Phil Ellison
e62e4ed148
Address review comments
2021-01-23 07:40:25 +00:00
Phil Ellison
449ced4d21
cargo fmt
2021-01-23 07:40:25 +00:00
Phil Ellison
1ff860b93c
Implement fix, add tests
2021-01-23 07:40:25 +00:00
Phil Ellison
1316422a7c
Add diagnostic for filter_map followed by next
2021-01-23 07:40:24 +00:00
Lukas Wirth
21a6384ce6
Remove obsolete RangeInfo usage in rename
2021-01-18 20:28:20 +01:00
Lukas Wirth
6015a66cae
Make rename reference search use ide_db::search directly
2021-01-18 18:57:59 +01:00
Lukas Wirth
d5095329a1
Phase out SourceFileEdits in favour of a plain HashMap
2021-01-14 22:43:36 +01:00
Lukas Wirth
f51457a643
Group file source edits by FileId
2021-01-14 18:35:22 +01:00
Phil Ellison
554ee6ea02
cargo fmt
2021-01-07 19:01:33 +00:00
Phil Ellison
b2dbe6e43a
Add fix to wrap return expression in Some
2021-01-07 19:01:33 +00:00
Kevaundray Wedderburn
72b9a4fbd3
Change <|> to $0 - Rebase
2021-01-07 12:09:23 +00:00
Aleksey Kladov
c8ace3a295
Remove some stale deprecations
2021-01-07 13:54:18 +03:00
Nick Spain
c936e4b86f
source_old -> source for cases that can be handled by simple bubbling
2021-01-02 21:53:52 +11:00
Nick Spain
ea4708c444
Mark HasSource::source_old as deprecated but allow at all call sites
2021-01-02 21:53:51 +11:00
Nick Spain
27cadcd531
HasSource::source -> HasSource::source_old
...
To start migrating HasSource::source to return an Option.
2021-01-02 21:53:51 +11:00
Daiki Ihara
7a2eebde22
Add initial_contents field for CreateFile
2020-12-21 15:55:40 +09:00
Aleksey Kladov
f6ed16674c
Align code_model name with ungrammar
2020-12-20 10:05:24 +03:00
bors[bot]
44978acf51
Merge #6769
...
6769: Add native "remove this semicolon" diagnostics r=matklad a=ivan770
Closes #6739
![demo2](https://user-images.githubusercontent.com/14003886/101530533-b76c3180-399a-11eb-9d18-5c8457721655.gif )
Co-authored-by: ivan770 <leshenko.ivan770@gmail.com>
2020-12-10 16:18:49 +00:00
ivan770
bbb0bc7b04
Cast to ExprStmt, style fixes
2020-12-10 18:10:39 +02:00
Jonas Schievink
f57ce36988
Fix FileId computation in IncorrectCase fix
2020-12-10 14:16:34 +01:00
Aleksey Kladov
6e24321e45
Introduce anchored_path
...
They allow to represent paths like `#[path = "C:\path.rs"] mod foo;`
in a lossless cross-platform & network-transparent way.
2020-12-09 19:07:05 +03:00
Lukas Wirth
1d54c49271
Fix MissingFields DiagnosticFix trigger range
2020-12-09 12:45:39 +01:00
ivan770
7738467e0a
Format code
2020-12-08 19:25:21 +00:00
ivan770
f2950a1350
Remove unused use
2020-12-08 20:50:40 +02:00
ivan770
cb66bb8ff9
Remove this semicolon
2020-12-08 20:47:20 +02:00
Lukas Wirth
6145234450
Support struct variants in extract_struct_from_enum_variant
2020-11-03 20:57:04 +01:00
Aleksey Kladov
ba8d6d1e4e
Remove more unreachable pubs
2020-11-02 16:58:33 +01:00
Igor Aleksanov
19cce08662
Re-export base_db from ide_db
2020-10-24 11:39:57 +03:00