bjorn3
9fe85e1fdf
Add test_rename_bind_pat
2020-12-19 19:55:44 +01:00
Aleksey Kladov
9f6d76da77
Make sure that HighlightModifier::ALL is synchronized with enum
2020-12-19 18:47:36 +03:00
Aleksey Kladov
113688cef0
Clarify the meaning of no-op highlight tag
2020-12-19 17:16:05 +03:00
Aleksey Kladov
a13947abe6
Use more Rustic highlighting specifiers
...
*Method* works for OO languages, but in rust we can also have
associated constants & types, so let's move this to a modifier.
2020-12-19 17:10:47 +03:00
Aleksey Kladov
c45221907a
Deduplicate highlight tags and symbol kinds
...
Curiously, LSP uses different enums for those, and unsurprising and
annoyingly, there are things which exist in one but not in the other.
Let's not repeat the mistake and unify the two things
2020-12-18 23:04:26 +03:00
Aleksey Kladov
ade2f5cd12
Reduce test verbosity
2020-12-18 21:26:47 +03:00
Aleksey Kladov
0e3581e823
NavTarget doesn't assume that it points to a symbol
2020-12-18 21:15:48 +03:00
Aleksey Kladov
55ba353b39
Don't expose SyntaxKind from IDE API
...
SyntaxKind is somewhat of an internal type, but IDE is using it to
basically specify an icon. Let's have a dedicated entity for this
instead.
2020-12-18 19:28:48 +03:00
Aleksey Kladov
2465fa02b7
Cleaup imports
...
ide should re-export everything it needs.
2020-12-18 18:02:11 +03:00
bors[bot]
f4929fa9cc
Merge #6901
...
6901: Temp fixes panic caused by no ast for proc-macro r=maklad a=edwin0cheng
There are some panic when hover/goto definition for proc-macro. It is because in current design, we don't have `ast-node` for proc-macro and then it trigger [this](479d1f7eec/crates/hir/src/has_source.rs (L116) ) line to panic.
This PR is a temp fix for all of these similar to bd4c352831/crates/completion/src/render/macro_.rs (L42)
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com >
2020-12-18 02:30:51 +00:00
Edwin Cheng
60a3785ac2
Temp fixes panic caused by no ast for proc-macro
2020-12-18 10:26:17 +08:00
Lukas Wirth
fa65d6ba85
Higher-ranked trait bounds for where clauses
2020-12-17 22:01:42 +01:00
Aleksey Kladov
c888f1de6f
Rewrite doctest runnables
...
Handle more cases in a generic way without copy-pasting code.
2020-12-17 20:11:40 +03:00
Aleksey Kladov
0da1532ef2
Minor code style
2020-12-17 20:10:39 +03:00
Jonas Schievink
9231821c03
Make Attrs::from_attrs_owner private
2020-12-17 15:45:26 +01:00
Aleksey Kladov
2ae31e34b1
Rename ImplDef -> Impl
...
We used to have `Def` suffix for all symbols, but we moved off from
that. `FunctionDef` isn't better than `Function`. Looks like we've
forgot to change `Impl` though!
2020-12-17 14:36:15 +03:00
Lukas Wirth
55faa2daa3
Lifetime reference search
2020-12-16 22:21:01 +01:00
Lukas Wirth
dd496223f5
Node-ify lifetimes
2020-12-16 14:16:09 +01:00
Jonas Schievink
b238ddd21a
Make macro def krate mandatory
...
Refactors builtin derive support to go through proper name resolution
2020-12-15 20:33:05 +01:00
Jonas Schievink
c1cb595382
Move to upstream macro_rules! model
2020-12-15 15:37:37 +01:00
Daiki Ihara
36a9daac70
Add find usages for enum constructors
2020-12-15 00:39:42 +09:00
Lukas Wirth
8ed8e4f25a
Use Attrs::docs in NavigationTarget instead of DocCommentsOwner
2020-12-11 21:19:58 +01:00
bors[bot]
91bf15a2f5
Merge #6834
...
6834: Use Attrs::docs in runnables instead of DocCommentsOwner r=kjeremy a=Veykril
I figured that we should probably move as much of the doc usage to the HIR as possible hence this PR. If we should keep this AST-based feel free to close.
This change does have the nice(but not really useful as I doubt anyones gonna write doc tests like these) side effect that these two doc string snippets allow being run now.


Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2020-12-11 19:57:08 +00:00
Lukas Wirth
ac19a71459
Use Attrs::docs in runnables instead of DocCommentsOwner
2020-12-11 20:11:03 +01:00
Lukas Wirth
37c5b82938
Don't highlight parent nodes of comments on hover
2020-12-11 16:00:52 +01:00
bors[bot]
44978acf51
Merge #6769
...
6769: Add native "remove this semicolon" diagnostics r=matklad a=ivan770
Closes #6739

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
bors[bot]
ef989880ff
Merge #6771
...
6771: Properly attach inner attributes in Attrs::new r=matklad a=Veykril
Properly attach inner and outer attributes to the things they actually belong to in the HIR. ~~I can add some tests for this if wanted once I know where to put them/how to test for this.~~ Put some tests into `hover.rs`.
So the following snippet
```rust
mod foo {
//! Hello
}
```
now shows `Hello` on hover 🎉
Fixes #2148
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2020-12-09 13:16:39 +00:00
bors[bot]
8fbaa8e495
Merge #6775
...
6775: Fix MissingFields DiagnosticFix trigger range r=lnicola a=Veykril
Fixes #5950
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2020-12-09 12:12:43 +00:00
Lukas Wirth
1d54c49271
Fix MissingFields DiagnosticFix trigger range
2020-12-09 12:45:39 +01:00
Lukas Wirth
da3b5e35a6
Test inner and outer doc comments in hover
2020-12-09 09:42:15 +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
Jonas Schievink
4943ef085d
Make original_range a method on InFile<&SyntaxNode>
2020-12-08 19:01:27 +01:00
bors[bot]
2aa7f2ece5
Merge #6750
...
6750: Remove documentation query, move doc handling to attributes r=matklad a=Veykril
Fixes #3182
Removes the documentation query in favor of `Attrs::docs`. Attrs already handlded doc comments partially but the alloc saving check was wrong so it only worked when other attributes existed as well. Unfortunately the `new` constructor has to do an intermediate allocation now because we need to keep the order of mixed doc attributes and doc comments.
I've also partially adjusted the `hover` module to have its tests check the changes, it still has some `HasSource` trait usage due to the `ShortLabel` trait usage, as that is only implemented on the Ast parts and not the Hir, should this ideally be implemented for the Hir types as well?(would be a follow up PR of course)
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2020-12-08 13:23:12 +00:00
Kirill Bulatov
19cfa5802e
Simplify
2020-12-07 23:41:08 +02:00
Kirill Bulatov
deda74edd8
Use stateless completion resolve
2020-12-07 23:41:08 +02:00
Kirill Bulatov
93bc009a59
Remove the state
2020-12-07 23:41:08 +02:00
Kirill Bulatov
74c3bbacc9
Make completion resolve async
2020-12-07 23:41:08 +02:00
Kirill Bulatov
f6d2540df0
Simplify import edit calculation
2020-12-07 23:41:08 +02:00
Kirill Bulatov
47464e556c
Properly fill client completion resolve capabilities data
2020-12-07 23:41:08 +02:00
Kirill Bulatov
6d2d279389
Working resolve completion imports prototype
2020-12-07 23:41:08 +02:00
Lukas Wirth
1caaa201fa
Remove hir_def/docs.rs module
2020-12-07 19:58:17 +01:00
bors[bot]
03b886de53
Merge #6719
...
6719: Use items can also have doc comments r=matklad a=Veykril
Prior to this change modules show more docs than they have cause they inherit the docs from documented use items inside of them.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com >
2020-12-07 18:48:35 +00:00
Lukas Wirth
93262c750e
Don't insert blank lines between doc attributes
2020-12-07 16:10:46 +01:00
bors[bot]
2756abb167
Merge #6721
...
6721: Use METHOD semantic token type r=kjeremy a=lnicola
Closes #6685
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro >
2020-12-04 18:46:44 +00:00
Laurențiu Nicola
72f013b3b9
Use METHOD semantic token type
2020-12-04 18:27:10 +02:00