Lukas Wirth
e09d410dcd
Simplify
2021-12-07 15:06:56 +01:00
Lukas Wirth
b66f181bc0
Fix some TryToNav impls not upmapping ranges out of macros
2021-12-07 15:02:22 +01:00
Lukas Wirth
9b4ca77572
fix: Add highlighting hack back for unresolved attributes
2021-12-05 11:59:07 +01:00
bors[bot]
6434ada19e
Merge #10930
...
10930: fix: Fix self keyword not being tagged as such in highlighting properly r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10575
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-04 18:08:11 +00:00
Lukas Wirth
b35a50cb10
fix: Fix self keyword not being tagged as such in highlighting properly
2021-12-04 19:07:18 +01:00
bors[bot]
372a7cf981
Merge #10929
...
10929: internal: Split up macro/attribute semantic tokens a bit more r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/9172
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-04 17:33:16 +00:00
Lukas Wirth
3472105ad9
Update semantic token docs
2021-12-04 18:23:25 +01:00
Lukas Wirth
e4f2d0e3a8
Introduce SymbolKind::Derive
2021-12-04 18:18:09 +01:00
Lukas Wirth
642c1eb720
Introduce SymbolKind::Attribute
2021-12-04 18:01:22 +01:00
Laurențiu Nicola
b7368d34a6
Bump pulldown-cmark-to-cmark
2021-12-04 15:21:04 +02:00
bors[bot]
3f3289df2a
Merge #10915
...
10915: feat: Resolve builtin-attr and tools in ide layer r=Veykril a=Veykril
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-03 19:28:36 +00:00
Lukas Wirth
8da850b6d5
Improve hover message for inert attributes
2021-12-03 20:28:15 +01:00
Lukas Wirth
d174158abc
Rename things: Tool -> ToolModule
2021-12-03 17:15:19 +01:00
Lukas Wirth
70b8331fd5
Basic hover for builtin-attr and tool modules
2021-12-03 17:10:56 +01:00
Lukas Wirth
db559e5049
Simplify
2021-12-03 17:07:06 +01:00
Lukas Wirth
d1677f3286
Remove syntax highlighting hack for builtin attrs
2021-12-03 16:54:34 +01:00
Lukas Wirth
e58af219a4
feat: Resolve builtin-attr and tools in ide layer
2021-12-03 16:32:17 +01:00
bors[bot]
b68cd6eda2
Merge #10891
...
10891: fix: emit trait names in moniker identifier r=Veykril a=tjdevries
Hi,
Not sure if this is the best fix for the problem, but I noticed that functions that part of a trait are not namespaced with the trait name, so this could lead to problems if you had a function and a trait-function both defined in the same module.
Thanks!
TJ
Co-authored-by: TJ DeVries <devries.timothyj@gmail.com>
2021-12-02 11:21:59 +00:00
TJ DeVries
6870bfd099
fixup: include more information for impls
2021-12-02 00:04:03 -05:00
TJ DeVries
d50f18fb65
fixup: properly handle all associated items
2021-12-01 11:43:52 -05:00
Jake Heinz
30b0464ed8
add a fixme:
2021-12-01 12:26:27 +00:00
Jake Heinz
ba92bb1ed9
simplify
2021-12-01 12:25:08 +00:00
Jake Heinz
d2480ecb9f
ide: hack to make self not unresolved reference in async trait wrapped impl's
2021-12-01 12:17:20 +00:00
Jake Heinz
b357569d0f
add test
2021-12-01 10:28:18 +00:00
TJ DeVries
09c7e22ec2
fix: emit trait names in moniker identifier
2021-11-30 11:16:11 -05:00
bors[bot]
2d0db312b5
Merge #10872
...
10872: ide_db: build symbol index from crate def map r=Veykril a=jhgg
fixes #4842 , #10764
Is this looking correct? 👀
- [x] build the symbol index based upon the CrateDefMap for the given crate in `crate_symbols`
- [x] make it multi threaded again, and figure out how to cache each moduleid's symbol index in salsa.
- [x] NavigationTarget for names in macros is wrong, need to figure out how to compute a text range in the original file id?
- [x] cleanup some duped code
- [x] collect macros from `ItemScope.declared_macros()` into symbol index.
- [x] store declared macros in `ItemScope` so we can figure out where macros were defined for the index.
- [x] do something about `SymbolIndex::for_files` - ideally it should use the new module symbol index stuff.
- [x] delete `source_file_to_file_symbols` & co...
- [x] figure out what to do about `library_symbols`
- [x] maybe... speed up the new `library_symbols` - the new impl is probably much slower, and definitely much less parallel. **deciding to do nothing here, we can optimize later if necerssary.**
- [x] fix failing test: `navigation_target::tests::test_nav_for_symbol` - notably the crate def map doesn't seem to find declarations inside function.
- [x] now a bunch of other tests are failing around auto_import & qualify_path handlers. :(
- [x] need to assoc items in traits and impls
Co-authored-by: Jake Heinz <jh@discordapp.com>
2021-11-30 14:07:39 +00:00
Jake Heinz
b0c7ff39b8
remove one need for semantics
2021-11-30 04:50:09 +00:00
bors[bot]
393cbd0982
Merge #10841
...
10841: Emit moniker in lsif r=Veykril a=HKalbasi
fix #10559
Co-authored-by: hkalbasi <hamidrezakalbasi@protonmail.com>
Co-authored-by: HKalbasi <45197576+HKalbasi@users.noreply.github.com>
2021-11-29 11:13:39 +00:00
Jake Heinz
1280887561
do something with library_symbols
2021-11-29 09:36:00 +00:00
hkalbasi
df261c10b9
remove duplicate data from CrateOrigin
2021-11-29 11:10:39 +03:30
Jake Heinz
8307d38dc1
cleanups
2021-11-28 00:42:42 +00:00
Lukas Wirth
76022bfd60
fix: Show parameter hints unconditionally for logical not expressions
2021-11-27 19:14:36 +01:00
Jake Heinz
e033d8c2a2
make navigation target go to original file location
2021-11-27 13:48:50 +00:00
Jake Heinz
a1030b07ab
use Semantics::parse_or_expand in another place
2021-11-27 11:55:03 +00:00
Jake Heinz
0447be7589
wip
2021-11-27 11:25:05 +00:00
Jake Heinz
dca8f612d0
ide: fix expansion for 'as _'
2021-11-27 02:22:21 +00:00
Lukas Wirth
4bf75c5d6e
fix: Prioritize tuple fields in highlight_related
2021-11-25 16:34:40 +01:00
Lukas Wirth
f3b25a6fc8
Disable string highlight injection for macros changing string literals
2021-11-23 22:13:10 +01:00
hkalbasi
30ed7fac27
Emit moniker in lsif
2021-11-22 21:29:05 +03:30
Lukas Wirth
ec07bb98f8
fix: Omit generic defaults for types in hover messages
2021-11-22 18:27:03 +01:00
Lukas Wirth
64cb09ddea
Add to macro testing infra to emit token map ids
2021-11-22 16:51:09 +01:00
Lukas Wirth
77f08d0fc3
Split parts of ide_db::call_info
off into ide
2021-11-22 13:23:34 +01:00
Lukas Wirth
54b2de45e1
Unnest ide::display::navigation_target module
2021-11-22 13:04:28 +01:00
Jake Heinz
7cbc6ae920
ide: hover omits unnamed where preds
2021-11-20 11:45:12 +00:00
bors[bot]
a60e009b48
Merge #10806
...
10806: fix: inlay param hint hiding heurstic is case unsensitive r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-11-19 11:46:49 +00:00
Lukas Wirth
cd290b427c
fix: inlay param hint hiding heurstic is case unsensitive
2021-11-19 12:46:17 +01:00
Jake Heinz
c28dc00b39
ide: dedupe or merge hover actions
2021-11-19 05:36:07 +00:00
bors[bot]
cfa26c3ac3
Merge #10798
...
10798: ide: show go to for function hover return type r=Veykril a=jhgg
I've found myself wanting this... adds to the hover quick go-to for a function's return type:
![image](https://user-images.githubusercontent.com/5489149/142375722-4a385216-494b-45a4-be1c-59664213b8d6.png )
This is particularly useful when you are hovering over a function in a long chain, like:
```rust
foo.bar().b$0az().some_trait_fn();
```
where `baz`'s return type is not immediately obvious, but the chain is not long enough to trigger chain inlay hints...
i guess I could just select `foo.bar().baz()` too to get the types too...
Co-authored-by: Jake Heinz <jh@discordapp.com>
2021-11-18 09:56:44 +00:00
Jake Heinz
876f44b3ea
ide: show go to for function hover return type
2021-11-18 08:00:22 +00:00
Jake Heinz
e8d0989606
ide: display static values in hover
2021-11-18 06:00:51 +00:00
bors[bot]
64a73dcfba
Merge #10785
...
10785: ide: show const value in hover r=jhgg a=jhgg
fixes #10783
I think my original attempt was incorrect, because it looks like `HirDisplay` is used in more places than just the hover.
So, I've attempted it again in 312eafe
, this time specifically just rendering the value in `hover::render`
pictoral:
![image](https://user-images.githubusercontent.com/5489149/142163890-b6aa2ab4-7bd0-4dd3-b35d-5eaa83fffb7f.png )
Co-authored-by: Jake Heinz <jh@discordapp.com>
Co-authored-by: Jake <jh@discordapp.com>
2021-11-18 04:17:16 +00:00
Jake Heinz
aef8882254
more complicated const test
2021-11-18 04:15:02 +00:00
Lukas Wirth
91bbc55eed
Check for derive attributes by item path, not derive
identifier
2021-11-17 20:46:57 +01:00
Jake Heinz
312eafe916
maybe this is better??
2021-11-17 07:02:49 +00:00
Jake Heinz
4fbc4b9356
hir: show const value in hover
2021-11-17 05:49:27 +00:00
Lukas Wirth
366499c3be
Do not use reference search in runnables::related_tests
2021-11-16 21:32:02 +01:00
Lukas Wirth
0ff380fe17
Simplify
2021-11-16 21:26:34 +01:00
Lukas Wirth
b57289c4cb
Skip test/bench attr expansion in resolution instead of collection
2021-11-16 20:23:56 +01:00
Lukas Wirth
92f7db447c
minor: Lift out FxIndex{Map/Set} types into ide_db
2021-11-16 12:15:47 +01:00
Lukas Wirth
d2513deb62
fix: Reimplement mapping out of test/bench attributes for runnables
2021-11-16 11:51:24 +01:00
Jake Heinz
520ff62f4e
flip the default
2021-11-13 23:39:34 +00:00
Jake Heinz
d3d768de0d
inlay hints: add the option to always show constructor inlay hints
2021-11-13 23:12:29 +00:00
Lukas Wirth
2d7f5891f7
Remove faulty logic for ascending test attributes for runnables
2021-11-11 18:47:24 +01:00
Lukas Wirth
a510021065
Replace some more ide usages of ModuleDef with Definition
2021-11-11 18:20:54 +01:00
Jonas Schievink
acbe8bc7ac
Prime a more reasonable set of crates
2021-11-11 14:44:12 +01:00
Lukas Wirth
7776aad166
internal: Flatten Definition::ModuleDef
variant
2021-11-11 00:05:53 +01:00
Lukas Wirth
26419c0379
Fix proc-macro attributes being shadowed by their functions in IDE layer
2021-11-08 14:49:50 +01:00
bors[bot]
10782bbb39
Merge #10685
...
10685: fix: Enable markdown tables r=Veykril a=Veykril
Should fix https://github.com/rust-analyzer/rust-analyzer/issues/10655
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-11-05 11:25:17 +00:00
Lukas Wirth
439a8194b0
Replace more Name::to_string usages with Name::to_smol_str
2021-11-04 18:12:05 +01:00
Lukas Wirth
4d4574f5b6
Enable markdown tables
2021-11-04 17:36:58 +01:00
bors[bot]
962be38004
Merge #10645
...
10645: fix: make `rename` multi-token mapping aware r=Veykril a=spookyvision
Co-authored-by: Anatol Ulrich <anatol.ulrich@ferrous-systems.com>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Anatol Ulrich <45840+spookyvision@users.noreply.github.com>
2021-11-04 16:31:16 +00:00
bors[bot]
c96481e25f
Merge #10691
...
10691: minor: Use array `into_iter` in more places r=lnicola a=lnicola
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-11-04 05:52:05 +00:00
Laurențiu Nicola
139bf9b4e1
Use array into_iter in more places
2021-11-04 07:51:20 +02:00
Anatol Ulrich
83927e08a8
Update crates/ide/src/rename.rs
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-11-03 15:44:32 +01:00
Lukas Wirth
52f5af7165
Expose version string of crates fom HIR
2021-11-03 15:40:06 +01:00
Anatol Ulrich
9bce4d6696
accept identical Indels when merging; add rename test case
2021-11-02 21:38:38 +01:00
Lukas Wirth
7fdbdc4ab2
Enable auto-import and qualify-path in derive attributes
2021-10-28 18:40:38 +02:00
Lukas Wirth
3018ffd85e
Refactor ide handling for paths in derive inputs
2021-10-28 16:47:19 +02:00
Anatol Ulrich
1ac35532c4
remove TODO comment
2021-10-27 17:26:38 +02:00
Anatol Ulrich
df9fb9b159
re-introduce always!
2021-10-27 17:25:42 +02:00
Anatol Ulrich
28c73f8374
unwrap--
2021-10-27 17:23:23 +02:00
Anatol Ulrich
4a1a5ff54e
fix logic error: alias detection was too lenient
2021-10-27 17:20:12 +02:00
Anatol Ulrich
6cd15c296d
wip
2021-10-27 15:40:49 +02:00
Anatol Ulrich
8d3ac328ee
remove resolved TODO questions
2021-10-27 15:40:30 +02:00
Anatol Ulrich
f244ed6a1a
doxx
2021-10-27 04:46:02 +02:00
Anatol Ulrich
2e0610e64e
one down
2021-10-27 04:42:58 +02:00
Anatol Ulrich
95199ac30b
make imports less odd
2021-10-27 04:36:32 +02:00
Anatol Ulrich
6decfceae1
WIP: fix: make rename
multi-token mapping aware
2021-10-27 04:31:14 +02:00
bors[bot]
a3830dfd3b
Merge #10641
...
10641: fix: make `expand_macro` multi-token mapping aware r=spookyvision a=spookyvision
Co-authored-by: Anatol Ulrich <anatol.ulrich@ferrous-systems.com>
Co-authored-by: Anatol Ulrich <45840+spookyvision@users.noreply.github.com>
2021-10-26 18:18:22 +00:00
Anatol Ulrich
b42093915a
Update crates/ide/src/expand_macro.rs
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-26 20:17:47 +02:00
Anatol Ulrich
e6913be47b
fix test
2021-10-26 20:15:25 +02:00
Anatol Ulrich
04f2eb0fba
wording
2021-10-26 20:10:09 +02:00
Anatol Ulrich
3f82989153
fix: make expand_macro
multi-token mapping aware
2021-10-26 20:09:14 +02:00
bors[bot]
c48730cb72
Merge #10639 #10640
...
10639: fix: make `goto_declaration` multi-token mapping aware r=Veykril a=spookyvision
10640: assume valid identifier r=Veykril a=spookyvision
improve https://github.com/rust-analyzer/rust-analyzer/pull/10637/ by always returning `Some(potentially_empty_vec)` instead of `None` in the empty case
Co-authored-by: Anatol Ulrich <anatol.ulrich@ferrous-systems.com>
2021-10-26 17:51:33 +00:00
Anatol Ulrich
53be26df50
assume valid identifier
2021-10-26 19:33:50 +02:00
Anatol Ulrich
d8ed15b6a6
fix: make goto_declaration
multi-token mapping aware
2021-10-26 19:31:49 +02:00
Anatol Ulrich
c69879423e
fix imports
2021-10-26 12:34:40 +02:00
Anatol Ulrich
686f8fbea3
simplify
2021-10-26 12:21:18 +02:00
Anatol Ulrich
2490807ca5
fix: make goto_type_definition
multi-token mapping aware
2021-10-25 23:43:58 +02:00
Laurențiu Nicola
8457ae34bd
Set MSRV
2021-10-23 15:07:11 +03:00