Lukas Wirth
1901172841
Prevent aliases from being renamed for now
2021-02-13 20:49:04 +01:00
ivan770
4c2b201b7d
Make annotations tests similar to those in runnables
2021-02-13 19:18:13 +02:00
Lukas Wirth
8ac6041bcf
Only use HIR when searching for enum constructors, otherwise fall back to AST
2021-02-13 17:57:14 +01:00
Luciano Bestia
790bda1f85
corrected no newline at end of file
2021-02-13 17:57:05 +01:00
Luciano Bestia
a28f9545e1
removed logging stuff
2021-02-13 17:50:52 +01:00
Luciano
75015b6eaa
Update crates/ide/src/folding_ranges.rs
...
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-02-13 17:46:26 +01:00
ivan770
ee049b256a
Improve runnable annotations order, fix incorrect ignore detection
2021-02-13 15:47:53 +02:00
ivan770
c46b32c449
Added annotation tests
2021-02-13 15:27:04 +02:00
ivan770
02ad828c6d
Fix incorrect references annotation
2021-02-13 13:22:12 +02:00
ivan770
185da286d2
Moved CodeLens to ide crate
2021-02-13 13:07:47 +02:00
Lukas Wirth
c395dd1032
Implement constructor usage search for almost all items
...
For all struct kinds, unions and enums, as well as for record- and
tuple-variants but not for unit-variants, as these have no trailing
character we can anchor the search to. Functionality wise it is
implemented though.
2021-02-12 21:30:55 +01:00
Lukas Wirth
fd6cf4d566
Update references test output
2021-02-12 19:00:37 +01:00
Lukas Wirth
c5be0b2589
Use NameLike in FileReference directly as its not exported from ide anymore
2021-02-12 18:58:29 +01:00
Lukas Wirth
d644728d82
Refactor reference searching to work with the ast
2021-02-12 18:58:28 +01:00
Lukas Wirth
43ccbf4360
Remove unused ReferenceSearchResult functions
2021-02-12 18:58:28 +01:00
bors[bot]
dee5aba43a
Merge #7644
...
7644: Primitive completion r=jonas-schievink a=jonas-schievink
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7642
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
2021-02-12 13:18:30 +00:00
Jonas Schievink
70f388cedb
Pin Rust to 1.49.0 on CI
2021-02-12 13:05:56 +01:00
Jonas Schievink
216dc856c5
Wrap BuiltinType
in code model
2021-02-11 19:52:33 +01:00
Jonas Schievink
244d8e37f1
Update fixed tests
2021-02-10 14:48:52 +01:00
Lukas Wirth
a195711df0
Resolve TupleStructPat in SourceAnalyzer::resolve_path
2021-02-10 09:37:22 +01:00
Aleksey Kladov
61f15b72ac
Add parsing benchmark
2021-02-09 21:52:34 +03:00
Aleksey Kladov
4b1279d0b1
Infra for "unit" benchmarking
2021-02-09 20:25:39 +03:00
Aleksey Kladov
9ea2c96ddd
restore accidentally deleted test
2021-02-09 18:29:15 +03:00
Aleksey Kladov
ef8f38efc6
More precise navigation to parent
2021-02-09 18:21:09 +03:00
Aleksey Kladov
2ac20b05f1
Cleanup tests
2021-02-09 18:13:11 +03:00
Aleksey Kladov
2dc67c85b9
Cleanup test
2021-02-09 17:48:25 +03:00
Aleksey Kladov
5ddfde3038
Modernize tests
2021-02-09 17:23:35 +03:00
Aleksey Kladov
7022ea52b5
AdtDef -> Adt
2021-02-07 14:15:02 +03:00
Luciano Bestia
084b21bc36
simple comparison instead of regex
2021-02-05 14:32:03 +01:00
Lukas Wirth
34d5d77cfa
Increase Highlights highlight range to covering element
2021-02-04 11:37:14 +01:00
lumenian
cafaab8b96
Show alias underlying type
2021-02-02 17:47:56 +03:00
Lukas Wirth
999e020da2
Return inner attributes of outline mod declarations in attrs_query
2021-01-31 19:53:01 +01:00
Lukas Wirth
426ad8e165
Classify function calls as functions when shadowed by types
2021-01-28 19:08:55 +01:00
bors[bot]
c76cab6247
Merge #7465
...
7465: Only hide parameter hints for path, field and methodcall expressions r=SomeoneToIgnore a=Veykril
Doing this check for other expressions makes little sense to me.
Fixes #7458
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-27 14:40:57 +00:00
Lukas Wirth
0aaa61cd56
Only hide parameter hints for path, field and methodcall expressions
2021-01-27 15:03:43 +01:00
Aleksey Kladov
d35bda6429
Make always-assert crate reusable
2021-01-26 22:13:42 +03:00
Lukas Wirth
d912444cac
Shorten hir::TypeParam full_range in NavigationTarget
2021-01-26 01:01:00 +01:00
Lukas Wirth
a872ebf81f
Support unions in symbol search
2021-01-24 01:32:52 +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
bors[bot]
0c37b3a0fc
Merge #7353
...
7353: Add LifetimeParam and ConstParam to CompletionItemKind r=matklad a=Veykril
Adds `LifetimeParam` and `ConstParam` to `CompletionItemKind` and maps them both to `TypeParam` in the protocol conversion as there are no equivalents, so nothing really changes there.
`ConstParam` could be mapped to `Const` I guess but I'm split on whether that would be better?
Additions were solely inspired by (the single) test output for const params.
Also sorts the variants of `CompletionItemKind` and its to_proto match.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-22 15:31:47 +00:00
bors[bot]
1b96c79ab5
Merge #7348
...
7348: Fix broken link in intra-doc r=edwin0cheng a=sasurau4
Fix #5546
The intra-doc link doesn't work fine for trait associated method.
Co-authored-by: Daiki Ihara <sasurau4@gmail.com>
2021-01-22 12:29:42 +00:00
Aleksey Kladov
f67a2eedf5
Cleanup tests
2021-01-22 15:13:18 +03:00
Aleksey Kladov
2c786f1b98
Remove index based fallback for goto def
...
We are so precise that the fallback creates more confusion, when you can
goto def on an unresolved reference.
2021-01-22 15:11:29 +03:00
Daiki Ihara
f5b97e52c9
Fix broken link in intra-doc
2021-01-22 20:06:45 +09:00
Aleksey Kladov
e5c5c0a040
Include countme
crate to count important data structures.
2021-01-21 19:30:52 +03:00
Jonas Schievink
82146737ac
Treat BlockExpr as a potential module origin
2021-01-20 20:05:48 +01:00
Lukas Wirth
563a175fdb
Move SymbolKind to ide_db
2021-01-20 15:25:34 +01:00
Aleksey Kladov
74f8201586
Avoid intermediate collections
2021-01-20 14:49:29 +03:00
Aleksey Kladov
724059569b
Don't show runnable suggestions for other files
...
It't be actually great to have these once we have run anything dialog,
but for run the thing at point it makes sense to show a limited set.
2021-01-20 14:30:50 +03:00
Aleksey Kladov
46b4f89c92
.
2021-01-20 01:56:11 +03:00
bors[bot]
8935106b39
Merge #7321
...
7321: Support runnables in macros r=matklad a=edwin0cheng
fixes #4771
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
2021-01-19 09:27:45 +00:00
Edwin Cheng
8b03b58ad7
Support runnables in macros
2021-01-19 16:58:11 +08:00
Lukas Wirth
e31420fbe2
Remove obsolete RangeInfo usage in references
2021-01-18 21:10:01 +01:00
bors[bot]
342bf41022
Merge #7297 #7338
...
7297: Propose trait associated items and autoimport traits on completion r=matklad a=SomeoneToIgnore
![trait_imports](https://user-images.githubusercontent.com/2690773/104819998-6faeb480-583a-11eb-8b45-b7351b51b90e.gif )
Closes #7248
7338: Parse `impl const Trait` r=Veykril a=Veykril
Closes #7313
bors r+
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-18 19:40:11 +00:00
Lukas Wirth
21a6384ce6
Remove obsolete RangeInfo usage in rename
2021-01-18 20:28:20 +01:00
bors[bot]
39282ec419
Merge #7332
...
7332: Rename reference search uses ide_db::search directly r=matklad a=Veykril
https://github.com/rust-analyzer/rust-analyzer/pull/7251#discussion_r556644241
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-18 19:00:04 +00:00
Luciano Bestia
9f1d341ee9
added region folding
2021-01-18 19:45:42 +01:00
Lukas Wirth
6015a66cae
Make rename reference search use ide_db::search directly
2021-01-18 18:57:59 +01:00
Lukas Wirth
22b9b9abe7
Add test for reference search on self declaration param
2021-01-18 18:21:40 +01:00
bors[bot]
9daba961f2
Merge #7291
...
7291: Wrap remaining self/super/crate in Name{Ref} r=matklad a=Veykril
That should be the remaining special casing for `self` 🎉
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-18 16:13:06 +00:00
Aleksey Kladov
738cf7d495
Minor
2021-01-18 16:09:44 +03:00
bors[bot]
9eb37fbdeb
Merge #7292
...
7292: Swap assert_eq_text\!(expected, actual) r=matklad a=u5surf
Fixes #7283
Swap assert_eq_text parameters in the order (expected, actual)
Co-authored-by: yugo-horie <u5.horie@gmail.com>
2021-01-18 10:12:54 +00:00
Kirill Bulatov
db335a1bbf
Add flyimport completion for trait assoc items
2021-01-16 20:44:12 +02:00
Kirill Bulatov
6742f38e49
Share import_assets and related entities
2021-01-16 19:33:36 +02:00
yugo-horie
f273995a25
Swap assert_eq_text\!(expected, actual)
2021-01-16 13:30:26 +09:00
Lukas Wirth
98718e0544
Wrap remaining self/super/crate in Name{Ref}
2021-01-15 22:18:43 +01:00
bors[bot]
8a869e870a
Merge #7288
...
7288: Handle self/super/crate in PathSegment as NameRef r=matklad a=Veykril
Wrapping self/super/crate in NameRef as per https://github.com/rust-analyzer/rust-analyzer/pull/7261#issuecomment-760023172
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-15 18:40:47 +00:00
Lukas Wirth
cb863390f2
Handle self/super/crate in PathSegment as NameRef
2021-01-15 19:21:23 +01:00
Aleksey Kladov
6dbba4d75d
Remove useless wrapper
2021-01-15 20:15:33 +03: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
bors[bot]
39167b97d8
Merge #7260
...
7260: Render Fn* trait objects and impl types as rust does r=matklad a=Veykril
Also fixes raw ptr impl types being rendered ambiguously with multiple predicates.
This moves out the `FamousDefs::Fixture` into its own file as well, cause I figured it is big enough to get its own file at this point + we also get highlighting this way when editing it.
Fixes #3012
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-14 09:07:15 +00:00
Aleksey Kladov
3d78f502bd
Use upstream TextSize API
2021-01-13 21:32:24 +03:00
Lukas Wirth
3d6480bc31
Render Fn* trait objects and impl types as rust does
2021-01-13 13:29:47 +01:00
bors[bot]
f84f5cb0ea
Merge #7262
...
7262: Don't show internal server error on rename r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-13 12:09:26 +00:00
Aleksey Kladov
f0e802f490
Don't show internal server error on rename
...
Doesn't quite work due to https://github.com/microsoft/vscode-languageserver-node/issues/730
Note that this intentionally removes `impl std::Error for RenameError`
-- we nether want to blindly bubble the rename error.
2021-01-13 15:07:30 +03:00
Lukas Wirth
aff9102afb
Rename FileReferences -> UsageSearchResult
2021-01-12 15:56:24 +01:00
Lukas Wirth
2c1777a2e2
Ensure uniqueness of file ids in reference search via hashmap
2021-01-12 15:51:02 +01:00
Lukas Wirth
fbdb32adfc
Group references by FileId
2021-01-12 01:03:04 +01:00
bors[bot]
8ad325a806
Merge #7051 #7219 #7245 #7246
...
7051: Check dbg! macro in tidy_test r=matklad a=edwin0cheng
Same as `check_todo` but for dbg! macro
r? @matklad
7219: Refactor rename name checking r=matklad a=Veykril
Improves the user facing error messages a bit and prevents renaming to `_` when the name is referenced as this would change source to not compile anymore since `_` is only a pattern, not a proper identifier.
7245: Encourage gifs r=matklad a=matklad
bors r+
🤖
7246: Unfreeze cargo_metadata r=matklad a=kjeremy
It now pulls in a newer version of semver-parser.
This does add a dependency on `cargo-platform` in the interest of correctness.
Co-authored-by: Edwin Cheng <edwin0cheng@gmail.com>
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Co-authored-by: kjeremy <kjeremy@gmail.com>
2021-01-11 13:37:28 +00:00
Aleksey Kladov
8adf5cc0e3
Goto for inner doc links works for module inner doc comments
2021-01-11 16:24:50 +03:00
Lukas Wirth
f7af0b4b96
Add some more marks to rename tests
2021-01-11 00:28:21 +01:00
Lukas Wirth
2347944aae
Use local error macros in references/rename
2021-01-10 21:59:44 +01:00
bors[bot]
607b9ea160
Merge #7218
...
7218: Fix typos r=Veykril a=regexident
Apart from the very last commit on this PR (which fixes a public type's name) all changes are non-breaking.
Co-authored-by: Vincent Esche <regexident@gmail.com>
2021-01-10 18:16:29 +00:00
bors[bot]
b3ae7974af
Merge #7239
...
7239: Replace SyntaxKind usage with T! macro where applicable r=lnicola a=Veykril
https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/style.md#token-names
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-10 16:31:32 +00:00
Lukas Wirth
e618d12903
Replace SyntaxKind usage with T! macro where applicable
2021-01-10 17:14:01 +01:00
Laurențiu Nicola
10e7fd25fe
Fix typo, parentheses is plural
2021-01-10 17:56:53 +02:00
bors[bot]
77362c7173
Merge #6238
...
6238: Split punctuation semantic highlighting up into more tags r=matklad a=Veykril
Open question would be the name of the delimiter modifiers. I chose them this was as I see them this way but from what I remember people tend to mix the names however they like. So maybe using `delimSquare`, `delimCurly`, `delimRound` would be better. That would also go well with `angle` becoming `delimAngle`?
Closes #6152
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-01-10 12:45:07 +00:00
Lukas Wirth
78fe6133c4
Split punctuation semantic highlighting up into more tags
2021-01-10 13:33:03 +01:00
bors[bot]
dcbb77cb6c
Merge #7206 #7231
...
7206: Use hir::GenericParam in ide_db::Definition instead of relisting all 3 r=Veykril a=Veykril
Basically just this:
```diff
pub enum Definition {
Macro(MacroDef),
Field(Field),
ModuleDef(ModuleDef),
SelfType(Impl),
Local(Local),
- TypeParam(TypeParam),
- LifetimeParam(LifetimeParam),
- ConstParam(ConstParam),
+ GenericParam(GenericParam),
Label(Label),
}
```
7231: Cleaner API r=matklad a=matklad
bors r+
🤖
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-10 11:45:59 +00:00
Aleksey Kladov
fc3fc571d2
Cleaner API
2021-01-10 14:36:15 +03:00
Lukas Wirth
b795128dde
Use hir::GenericParam in ide_db::Definition instead of relisting all 3
2021-01-10 12:33:47 +01:00
bors[bot]
1ed1c14b2b
Merge #7229
...
7229: Cleanup r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-01-10 11:24:52 +00:00
Aleksey Kladov
3a6ae42eac
Cleanup
2021-01-10 14:24:01 +03:00
bors[bot]
6a0a47dd14
Merge #6980
...
6980: Implement to support intra-doc link r=matklad a=sasurau4
Helps with #6168
This PR is very limited implementation to support intra-doc. It only support links indicate same file function.
I want someone to feedback me about this implementation. If the approach is good, I will continue this PR to support other symbols like enum and struct.
Co-authored-by: Daiki Ihara <sasurau4@gmail.com>
2021-01-10 10:02:10 +00:00