Aleksey Kladov
f3bdbec1b6
rename range -> text_range
2019-07-20 12:58:27 +03:00
Aleksey Kladov
0343c4a815
migrate ra_assists to the new AST
2019-07-19 13:16:25 +03:00
Ekaterina Babshukova
895597d567
move whitespace manipulation inside AstEditor
2019-07-10 22:03:00 +03:00
Aleksey Kladov
1834bae5b8
allow rustfmt to reorder imports
...
This wasn't a right decision in the first place, the feature flag was
broken in the last rustfmt release, and syntax highlighting of imports
is more important anyway
2019-07-04 23:09:09 +03:00
Ekaterina Babshukova
e0e42095db
extend add_impl_members to constants and types
2019-07-03 16:17:18 +03:00
Aleksey Kladov
c4512fadb1
remove inherent source impls
2019-06-11 18:28:51 +03:00
Aleksey Kladov
f411c2988d
use Source for Trait
2019-06-11 18:28:51 +03:00
Jeremy Kolb
293cc81bf1
Remove collect
2019-05-05 13:28:22 -04:00
Aleksey Kladov
268e739c94
move add_missing_members to structured editing API
...
Currently, this is more code, and we also loose auto-indenting of
bodies, but, long-term, this is the right approach
2019-04-22 13:01:33 +03:00
Aleksey Kladov
a27fc96aa1
better formatting when adding trait members
...
* it's conventional not to use one-liners
* new placement is more predictable, b/c it does not depend on
header's length
2019-04-17 14:05:02 +03:00
Aleksey Kladov
0fd93bc14a
use really correct resolver for expressions
2019-04-13 00:44:47 +03:00
Aleksey Kladov
20013de2ab
fix typo
2019-04-11 17:15:20 +03:00
Aleksey Kladov
b6809b6695
rename
2019-04-11 16:29:33 +03:00
Aleksey Kladov
10d66d63d7
introduce SourceAnalyzer
2019-04-11 16:29:33 +03:00
Aleksey Kladov
ae282d8da6
add ast::tokens
2019-04-02 10:23:29 +03:00
Aleksey Kladov
9e213385c9
switch to new rowan
2019-04-01 12:06:24 +03:00
gfreezy
02383b91d5
Add assist for adding default methods
2019-03-23 23:13:07 +08:00
gfreezy
d99ae9ba56
Add impl members assist shold not copy docstrings, attrs and default methods.
2019-03-23 22:49:20 +08:00
Igor Matuszewski
30a226c725
Move the primary assist fn to the top of the file
2019-03-16 23:24:17 +01:00
Igor Matuszewski
5b0b87f8de
Provide assist when cursor is immediately outside impl item block
2019-03-16 23:19:14 +01:00
Igor Matuszewski
2f36f47dab
Do a cleanup/legibility pass
2019-03-16 22:41:13 +01:00
Igor Matuszewski
1df81f3d65
Take into account parent indent when filling trait members
2019-03-16 22:41:13 +01:00
Igor Matuszewski
b3742873d9
Simplify trait resolution fragment
2019-03-16 22:41:13 +01:00
Igor Matuszewski
0e47c371fd
Ignore unnamed trait fns and add more tests
2019-03-16 22:41:13 +01:00
Igor Matuszewski
406343492c
Simplify calculation of missing functions
...
Asymptotically computing a set difference is faster but in the average
case we won't have more than ~10 functions. Also prefer not using hash
sets as these may yield nondeterministic results.
2019-03-16 22:41:13 +01:00
Igor Matuszewski
713975b1c1
Properly support the case when the cursor is inside an empty block or outside
2019-03-16 22:41:13 +01:00
Igor Matuszewski
38eece97ec
Redo indent calculation when adding missing impl members
2019-03-16 22:41:13 +01:00
Igor Matuszewski
2f616eea9c
Implement a simple working assist
2019-03-16 22:41:13 +01:00
Igor Matuszewski
1c07c5ccf9
Calculate missing functions from impl body
2019-03-16 22:41:13 +01:00
Igor Matuszewski
fc060573f9
Add 'add_missing_impl_members' assist stub
2019-03-16 22:41:13 +01:00