Dylan MacKenzie
da3815122d
Bless old tests containing a ..
pattern
2019-09-14 17:08:22 -07:00
Dylan MacKenzie
4a3a15f0e7
Parse ..
as a proper pattern
2019-09-14 17:08:22 -07:00
Dylan MacKenzie
426112c97e
Add DotDotPat
to AST
...
This is modeled on `PlaceholderPat`.
2019-09-14 17:08:22 -07:00
Dylan MacKenzie
c413f444a0
Add tests for underscores in const
and static
items
2019-09-14 16:31:09 -07:00
Dylan MacKenzie
253a18f938
Allow an underscore as the identifier in const
items
2019-09-14 16:31:09 -07:00
bors[bot]
211171ffe6
Merge #1846
...
1846: Remove a dbg! r=flodiebold a=flodiebold
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-09-14 09:06:23 +00:00
Florian Diebold
613863abb9
Remove a dbg!
2019-09-14 11:05:42 +02:00
bors[bot]
04789ef37b
Merge #1844
...
1844: Support bare `Trait` without dyn r=flodiebold a=flodiebold
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-09-14 08:21:38 +00:00
Florian Diebold
dc935be1b5
Support bare Trait
without dyn
2019-09-14 10:20:41 +02:00
bors[bot]
4ed44c80db
Merge #1843
...
1843: Upgrade Chalk r=flodiebold a=flodiebold
... and remove Ty::UnselectedProjection. It'll be handled differently.
Co-authored-by: Florian Diebold <flodiebold@gmail.com>
2019-09-14 08:06:31 +00:00
Florian Diebold
a61615c955
Upgrade Chalk
...
... and remove Ty::UnselectedProjection. It'll be handled differently.
2019-09-14 10:04:56 +02:00
bors[bot]
b8c16ec002
Merge #1838
...
1838: rename add_resolution -> add_scope_def r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-13 13:40:48 +00:00
Aleksey Kladov
7be7f67198
rename add_resolution -> add_scope_def
2019-09-13 16:39:51 +03:00
Aleksey Kladov
2fbe79ed9a
make PerNs non-generic
2019-09-13 16:38:59 +03:00
bors[bot]
b31f9872ec
Merge #1833
...
1833: Specify desirable namespace when calling resolve r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-13 13:25:40 +00:00
Aleksey Kladov
51e2d76b98
Specify desirable namespace when calling resolve
...
That way, we are able to get rid of a number of unreachable statements
2019-09-13 16:24:10 +03:00
bors[bot]
1adf0519bc
Merge #1835
...
1835: rename AdtDef -> Adt r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-12 21:35:28 +00:00
Aleksey Kladov
114a1b878e
rename AdtDef -> Adt
2019-09-13 00:34:52 +03:00
Aleksey Kladov
bcf30d389c
generalize impl_froms to nested enums
2019-09-13 00:31:04 +03:00
Aleksey Kladov
45117c6388
make various enums "inherit" from AdtDef
2019-09-13 00:10:16 +03:00
bors[bot]
d8b621cf26
Merge #1832
...
1832: start cleaning up the resolution r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-12 18:35:06 +00:00
Aleksey Kladov
63e1e63a91
start cleaning up the resolution
...
Nameres related types, like `PerNs<Resolution>`, can represent
unreasonable situations, like a local in a type namespace. We should
clean this up, by requiring that call-site specifies the kind of
resolution it expects.
2019-09-12 21:34:22 +03:00
bors[bot]
5c09c5949a
Merge #1828
...
1828: add macros with local_inner_macros argument r=matklad a=JasperDeSutter
fixes #1816
Co-authored-by: JasperDeSutter <jasper.desutter@gmail.com>
2019-09-12 13:38:09 +00:00
JasperDeSutter
e6ee324b85
add macros with local_inner_macros argument
2019-09-12 14:41:16 +02:00
bors[bot]
a1261631a8
Merge #1818
...
1818: Infer box expression r=matklad a=uHOOCCOOHu
Infer `box e` to be `std::boxed::Box<T>` where `e: T`
Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-12 10:53:29 +00:00
bors[bot]
561e7aea5b
Merge #1821
...
1821: Macro completion tweaks r=matklad a=SomeoneToIgnore
Thanks @uHOOCCOOHu for making the macro completion happen :)
I've added a few tweaks to the current completion to make it a bit more convenient:
* Automatically add braces and put the editor cursor inside of them:
<img width="159" alt="image" src="https://user-images.githubusercontent.com/2690773/64737220-022b9f00-d4f5-11e9-8088-76d4678921ab.png ">
Currently I have to add the braces manually which is a bit cumbersome.
One further improvement can be to detect if macro accepts no parameters and place the cursor differently for this case.
* Add an exclamation mark to the macro completion label
This helps to distinguish macros from other completion items and also allows to show only macros in completion if you type `!`:
<img width="722" alt="image" src="https://user-images.githubusercontent.com/2690773/64736987-8b8ea180-d4f4-11e9-8355-2ce4f83b7aa8.png ">
<img width="732" alt="image" src="https://user-images.githubusercontent.com/2690773/64737214-ffc94500-d4f4-11e9-946e-1ba2db1c7fb1.png ">
Additionally, automatic formatting hooks had adjusted two `help.rs` files, I've added them as a last commit to the PR even though they are not really related.
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
2019-09-12 10:45:47 +00:00
bors[bot]
dfcbdcb9a3
Merge #1827
...
1827: fix panic when fetching generics r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-12 10:15:29 +00:00
Aleksey Kladov
0ffd1fdbe4
fix panic when fetching generics
...
due to macro expansion, the root node is not always a file
2019-09-12 13:12:26 +03:00
bors[bot]
fd9e6c649f
Merge #1826
...
1826: don't break parser error recovery in presence of macros r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-12 09:40:16 +00:00
Aleksey Kladov
3c68da792b
don't break parser error recovery in presence of macros
...
Parser has the invariant that `{}` are balanced.
Previous code tried (unsucesfuly) maintain the same invariant for
`$()` as well, but it was done in a rather ad-hoc manner: it's not at
all obvious that it is possible to maintain both invariants!
2019-09-12 12:38:07 +03:00
Kirill Bulatov
9c2a3da67c
Complete vec macros with square brackets
2019-09-12 12:16:09 +03:00
Kirill Bulatov
2ca8ba783c
Fix the formatting issues
2019-09-12 12:16:09 +03:00
Kirill Bulatov
1852b27233
Add !
to the macro completion label
2019-09-12 12:15:33 +03:00
Kirill Bulatov
037e02c08d
Complete macros parenthesis
2019-09-12 12:15:33 +03:00
bors[bot]
d614f463de
Merge #1825
...
1825: add quiet mode to analysis-stats r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-12 08:50:38 +00:00
Aleksey Kladov
a31933e4b5
add quiet mode to analysis-stats
2019-09-12 11:45:33 +03:00
bors[bot]
7828f43303
Merge #1824
...
1824: analysis stats uses positional arg again r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-12 08:14:46 +00:00
Aleksey Kladov
81e216a079
analysis stats uses positional arg again
2019-09-12 11:14:09 +03:00
uHOOCCOOHu
8c078a0164
Infer box expression
2019-09-12 02:35:09 +08:00
bors[bot]
6ce6744e18
Merge #1796
...
1796: Support completion for macros r=matklad a=uHOOCCOOHu
This is based on #1795 , and fixes #1727
Also prettify hover text of macros.
Some screenshorts below:
Completion in item place.
<img width="416" alt="Screenshot_20190910_134056" src="https://user-images.githubusercontent.com/14816024/64587159-fa72da00-d3d0-11e9-86bb-c98f169ec08d.png ">
After pressing `tab`.
<img width="313" alt="Screenshot_20190910_134111" src="https://user-images.githubusercontent.com/14816024/64587160-fa72da00-d3d0-11e9-9464-21e3f6957bd7.png ">
Complete macros from `std`.
<img width="588" alt="Screenshot_20190910_134147" src="https://user-images.githubusercontent.com/14816024/64587161-fb0b7080-d3d0-11e9-866e-5161f0d1b546.png ">
Hover text.
<img width="521" alt="Screenshot_20190910_134242" src="https://user-images.githubusercontent.com/14816024/64587162-fb0b7080-d3d0-11e9-8f09-ad17e3f6702a.png ">
Co-authored-by: uHOOCCOOHu <hooccooh1896@gmail.com>
2019-09-11 14:49:57 +00:00
uHOOCCOOHu
6353b1621f
Split out complete_macro_in_item_position
2019-09-11 22:44:44 +08:00
uHOOCCOOHu
c033d18700
Fix typo
2019-09-11 22:39:02 +08:00
bors[bot]
7bbb039fbd
Merge #1797
...
1797: Use VSCode fs API's in extension r=matklad a=LDSpits
This will close #1670 .
I've replaced the `CargoWatcher`s `Cargo.toml` check with a version that uses the `fs` API of vscode.
While making this I've identified an issue with the detection of the `cargo.toml`, we can only load projects where the cargo.toml is in the root of the workspace. but that's a separate issue 😄
Co-authored-by: Lucas Spits <spits.lucas@gmail.com>
2019-09-11 09:59:04 +00:00
bors[bot]
92800961a0
Merge #1812
...
1812: clarify sublime instructions r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-11 01:50:47 +00:00
Aleksey Kladov
54e92e699c
clarify sublime instructions
...
closes #1811
2019-09-11 04:50:08 +03:00
bors[bot]
73b4fea015
Merge #1810
...
1810: cleanup dollar handling in expressions r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-10 19:23:39 +00:00
Aleksey Kladov
9eb14e1170
cleanup expansion to item list
2019-09-10 22:22:57 +03:00
Aleksey Kladov
b9d9db83d1
cleanup dollar handling in expressions
2019-09-10 21:28:27 +03:00
bors[bot]
1140a83c1b
Merge #1806
...
1806: refactor(args): Switch to pico-args r=matklad a=Geobert
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/1768
Co-authored-by: Geobert Quach <geobert@protonmail.com>
2019-09-10 17:37:21 +00:00
bors[bot]
753a569c79
Merge #1809
...
1809: add fragmets to expansion r=matklad a=matklad
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2019-09-10 17:29:22 +00:00