Benjamin Coenen
336c899a07
add better default behavior on fill struct fields diagnostic
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2022-01-04 15:59:00 +01:00
David Hotham
b7cabf1e44
fix: don't panic on seeing an unexpected offset
2022-01-03 14:49:47 +00:00
Lukas Wirth
3a525c831f
internal: Handle macro calls better in highlighting
2022-01-02 19:10:10 +01:00
Laurențiu Nicola
53ddf48df4
Avoid collect_vec from itertools
2022-01-02 12:06:14 +02:00
Aleksey Kladov
a1c33c2e1a
test: force client-side watching
...
The direct reason for this is to fix CI on windows, which seems to fail
for some reason after we fixed the watcher-selection logic which (I
think) changed the tests behavior to use notify rather than client.
But this patch seems to make sense in general -- file watching is
notoriously finicky, so controlling it explicitly leads to less fragile
tests.
2022-01-01 19:16:25 +03:00
Aleksey Kladov
0d1e23e968
better error message
2022-01-01 18:55:53 +03:00
Aleksey Kladov
b9417f3483
feat: correctly fallback to notify if the clinet-side file watching is not supported
2022-01-01 17:26:54 +03:00
Benjamin Coenen
df6fa50f92
feat(diagnostics): add new config to fill default expression
...
Signed-off-by: Benjamin Coenen <5719034+bnjjj@users.noreply.github.com>
2021-12-31 16:29:08 +01:00
bors[bot]
c5722a66c5
Merge #11073
...
11073: fix: Fix windows not finding the pdb file r=lnicola a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10371
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-12-20 18:20:08 +00:00
Lukas Wirth
4a5c8c6ad2
fix: Fix windows not finding the pdb file
2021-12-20 19:17:31 +01:00
bors[bot]
f46731a230
Merge #11028
...
11028: Bump MSRV (1.57) r=Veykril a=iDawer
This bumps MSRV on all crates to 1.57 except `la-arena`
#10986 requires >=1.57
Co-authored-by: iDawer <ilnur.iskhakov.oss@outlook.com>
2021-12-20 13:45:35 +00:00
Lukas Wirth
9fe0f0d1d9
Add a few default snippets for VSCode
2021-12-17 16:24:29 +01:00
iDawer
676744be6e
Bump MSRV (1.57)
2021-12-16 01:56:12 +05:00
Jonas Schievink
deb5c1426d
internal: add "Shuffle Crate Graph" command
2021-12-07 16:37:19 +01:00
Laurențiu Nicola
3678cbd12e
Bump tracing
2021-12-06 20:54:45 +02:00
Laurențiu Nicola
bff377c712
Clean up some unused cross-crate dependencies
2021-12-05 13:54:49 +02:00
bors[bot]
8a084e6aca
Merge #10902
...
10902: Handle multiple cargo check quick fix spans r=Veykril a=brandondong
Resolves https://github.com/rust-analyzer/rust-analyzer/issues/10705 .
**Cause:**
- For a cargo check diagnostic with multiple spans, only a single quick fix action would be created at the location of `spans[0]`. Additionally, the hover window details would only show the location of `spans[0]` next to the message.
**Fix:**
- Allow cargo check quick fix actions to be triggerable from multiple selection ranges. Specifically, if the selection intersects with any of the replacement spans, the quick fix action is shown.
- No change in behavior for the hover window details. It's pretty minor and I think showing multiple locations next to the message may be more confusing anyways.
Co-authored-by: Brandon <brandondong604@hotmail.com>
2021-12-05 10:52:54 +00:00
Brandon
fa2818551e
Update expected test results
2021-12-04 21:42:13 -08:00
Brandon
0d1910c6fb
Handle multiple cargo check quick fix spans
2021-12-04 21:41:56 -08:00
Brandon
de05c3d406
Refactor away unnecessary Vec
2021-12-04 19:59:05 -08: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
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
89a1256f9a
Bump most deps
2021-12-04 15:08:37 +02:00
Lukas Wirth
d174158abc
Rename things: Tool -> ToolModule
2021-12-03 17:15:19 +01:00
Lukas Wirth
d1677f3286
Remove syntax highlighting hack for builtin attrs
2021-12-03 16:54:34 +01: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
hkalbasi
30ed7fac27
Emit moniker in lsif
2021-11-22 21:29:05 +03:30
Emil Gardström
3dc898389f
Make lint groups work correctly with warningsAsInfo
and warningsAsHint
2021-11-22 18:38:28 +01:00
Laurențiu Nicola
a68ce62f6a
Add toggle to disable cache priming
2021-11-19 19:30:11 +02:00
Florian-Schoenherr
7e25f1b7e2
fix: show custom check-command
2021-11-19 16:22:39 +01:00
Lukas Wirth
f72512f1c6
Simplify
2021-11-17 21:02:33 +01:00
Lukas Wirth
91bbc55eed
Check for derive attributes by item path, not derive
identifier
2021-11-17 20:46:57 +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
Florian-Schoenherr
4fb76743ca
fix: show the right check-command
...
Signed-off-by: Florian-Schoenherr <florian.schoenherr99@gmail.com>
2021-11-09 21:52:55 +01:00
Laurențiu Nicola
d18a379c7b
Bump deps
2021-11-06 17:40:38 +02: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
bors[bot]
53b5b2fdaa
Merge #10596
...
10596: internal: Set server status to warning when proc-macro sources change r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10027
![image](https://user-images.githubusercontent.com/3757771/138102552-208d3edf-a843-49e6-9f48-1e911f54a4ba.png )
It feels wrong using the database in this part of the code, but this was the only way to figure out whether a file belongs to a proc-macro that I could think of.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-11-03 14:02:10 +00:00
Lukas Wirth
1d80302b76
Set server status to warning when proc-macro sources change
2021-10-30 14:49:32 +02:00
vsrs
2f862cd6fe
Fix Plaintext textDocument/hover
2021-10-29 18:23:47 +03:00
bors[bot]
057558b756
Merge #10595
...
10595: internal: Fix a format error r=Veykril a=dzvon
Fixes #10581
Co-authored-by: Dezhi Wu <wu543065657@163.com>
2021-10-29 10:40:43 +00:00
Dezhi Wu
74396d27c0
Fix: correct markdown link form.
2021-10-29 18:25:32 +08:00
Dezhi Wu
097d527cbd
Fix: use a concise way to change link form when generating package.json
2021-10-29 10:00:10 +08:00
Lukas Wirth
3018ffd85e
Refactor ide handling for paths in derive inputs
2021-10-28 16:47:19 +02:00
Dezhi Wu
ffc6cdd871
Fix: transform the asciidoc form link to markdown style when generating the package.json
2021-10-28 10:13:43 +08:00
bors[bot]
9d1f15086a
Merge #10649
...
10649: internal: Remove `CompletionKind` in favor of `CompletionItemKind` r=Veykril a=Veykril
and move some more tests around
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-27 15:38:42 +00:00
Lukas Wirth
0468b11de7
Remove CompletionKind
in favor of CompletionItemKind
2021-10-27 17:23:43 +02:00
Lukas Wirth
722489e3ff
Remove filtered completion list usage in completion tests
2021-10-27 16:53:39 +02:00
bors[bot]
ba2b599131
Merge #10592
...
10592: Fix: only shows one # when we encounter ## r=Veykril a=dzvon
Fixes #10584
Co-authored-by: Dezhi Wu <wu543065657@163.com>
2021-10-26 13:17:13 +00:00
Dezhi Wu
31af94b73a
perf: avoid allocating by just slicing.
...
Signed-off-by: Dezhi Wu <wu543065657@163.com>
2021-10-26 20:59:48 +08:00
Laurențiu Nicola
f0ad6fa68b
Revert edition change in test
2021-10-24 14:52:42 +03:00
Laurențiu Nicola
8457ae34bd
Set MSRV
2021-10-23 15:07:11 +03:00
Laurențiu Nicola
ca44b6892e
Use array IntoIter
2021-10-22 09:23:29 +03:00
Lukas Wirth
1294bfce86
Migrate to edition 2021
2021-10-21 20:10:40 +02:00
Dezhi Wu
b7b9cd5e67
Fix: only shows one # when we encounter ##
2021-10-20 15:05:32 +08:00
Laurențiu Nicola
29d281e523
Fix tests
2021-10-18 12:03:49 +03:00
Laurențiu Nicola
edb03ad6f1
Pull in new lsp-types for VS compat
2021-10-18 12:03:49 +03:00
bors[bot]
d9080addf9
Merge #10562
...
10562: fix: Fix clippy attribute completions always prefixing inserting `clippy::` r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7144
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-17 11:30:49 +00:00
Lukas Wirth
99906baa17
Fix clippy attribute completions always prefixing with clippy::
2021-10-17 13:07:49 +02:00
Milo
6f28325830
fix
2021-10-16 15:02:56 +01:00
Milo
30be95a821
add a comment
2021-10-16 14:15:17 +01:00
Milo
35e5daacc3
more clippy fixes
2021-10-16 12:32:55 +01:00
bors[bot]
a30941e2a5
Merge #10517
...
10517: Show cargo check failures to the user r=Veykril a=Veykril
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10515
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-14 11:57:16 +00:00
bors[bot]
c5354877c9
Merge #10503
...
10503: Only include targets of packages that are workspace members r=Veykril a=bcully
CargoWorkspace's package list includes packages that are path
dependencies, even if those packages aren't actually members of the
cargo workspace. As a result, rust-analyzer's runnable finder, which
returns the target from the first workspace that has a matching package,
may select the wrong working directory, causing runnables to fail, e.g.,
```
error: package `root` cannot be tested because it requires dev-dependencies and is not a member of the workspace
```
To fix this, we filter out packages that aren't members of the workspace
when searching for targets.
Fixes #7764
Co-authored-by: Brendan Cully <brendan@cully.org>
2021-10-14 11:42:53 +00:00
bors[bot]
f87debcf87
Merge #10434
...
10434: Allow `Locate parent module` command in Cargo.toml r=Veykril a=rainy-me
close #10355
Co-authored-by: rainy-me <github@rainy.me>
Co-authored-by: rainy-me <github@yue.coffee>
2021-10-14 10:56:08 +00:00
bors[bot]
7d1015b8d1
Merge #10537
...
10537: minor: Document rustc source auto-discovery r=lnicola a=lnicola
CC #10521
bors r+
Co-authored-by: Laurențiu Nicola <lnicola@dend.ro>
2021-10-14 05:57:31 +00:00
Laurențiu Nicola
e43e1240a7
Document rustc source auto-discovery
2021-10-14 08:57:07 +03:00
rainy-me
59c755227d
Provide navigations to parent modules
2021-10-14 07:16:42 +09:00
bors[bot]
f185d1c533
Merge #10423
...
10423: Internal: refactor for mdbook plugin r=Veykril a=HKalbasi
This PR is for upstreaming changes that I made for mdbook plugin. Changes are adding inlay hints to `StaticIndex` and changing some functions for working around privacy of crates.
Aside this, is it okay if I bring the plugin in tree? It is a simple binary crate. I feel it will better maintained here and become resistant to api changes.
Co-authored-by: hamidreza kalbasi <hamidrezakalbasi@protonmail.com>
2021-10-12 18:35:03 +00:00
hamidreza kalbasi
0f49c97e93
internal changes for mdbook
2021-10-12 11:54:00 +03:30
bors[bot]
1cca1fa5bf
Merge #10525
...
10525: Regenerate lints and features r=Veykril a=Veykril
bors r+
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-12 07:56:00 +00:00
Lukas Wirth
22f471d81f
Update tidy ignore path
2021-10-12 09:47:21 +02:00
Brendan Cully
841d4f9dad
Only include targets of packages that are workspace members
...
CargoWorkspace's package list includes packages that are path
dependencies, even if those packages aren't actually members of the
cargo workspace. As a result, rust-analyzer's runnable finder, which
returns the target from the first workspace that has a matching package,
may select the wrong working directory, causing runnables to fail, e.g.,
```
error: package `root` cannot be tested because it requires dev-dependencies and is not a member of the workspace
```
To fix this, we filter out packages that aren't members of the workspace
when searching for targets.
Fixes #7764
2021-10-11 18:28:05 -07:00
bors[bot]
098284aec8
Merge #10522
...
10522: fix: make signature info response conform to spec r=lnicola a=muscar
This addreses https://github.com/rust-analyzer/rust-analyzer/issues/10464 .
This patch picks up `lsp-types` 0.90.1, which serialises the `SignatureInformation` and `ParameterInformation` with the right casing. It also adds `activeSignature` field as part of the top-level signature response. It keeps `activeParameter` at the top-level for backwards compatibility.
Co-authored-by: Alex Muscar <alex@muscar.eu>
2021-10-11 19:58:27 +00:00
Alex Muscar
41856e2682
fix: make signature info response conform to spec
...
This addreses
https://github.com/rust-analyzer/rust-analyzer/issues/10464 .
This patch picks up `lsp-types` 0.90.1, which serialises the
`SignatureInformation` and `ParameterInformation` with the right casing.
It also adds `activeSignature` field as part of the top-level signature
response. It keeps `activeParameter` at the top-level for backwards
compatibility.
2021-10-11 20:42:16 +01:00
Quentin Gliech
824b7a8564
Add toolInfo in MetaData vertex in LSIF dumps
...
This helps with uploading LSIF dumps to Sourcegraph without having to
specify an indexer name.
2021-10-11 14:45:58 +02:00
Lukas Wirth
d14c9be321
Show cargo check failures to the user
2021-10-11 14:09:20 +02:00
bors[bot]
64ca0f63bf
Merge #10504
...
10504: Remove needless clone r=lnicola a=k-nasa
## Why
Delete clones for efficiency
## What
- I erased unnecessary clones
Co-authored-by: k-nasa <htilcs1115@gmail.com>
2021-10-10 07:17:52 +00:00
k-nasa
b50cb5c261
Remove neesless clone
2021-10-10 10:50:51 +09:00
Aleksey Kladov
afacdd612d
internal: update expect
2021-10-09 17:17:16 +03:00
rainy-me
aaa0771719
Fix: compare pkg via manifest
2021-10-07 23:44:25 +09:00
bors[bot]
5ff992465e
Merge #10447
...
10447: Add enum variant references CodeLens. r=Veykril a=ericsampson
Co-authored-by: Eric Sampson <esampson@eaze.com>
2021-10-05 22:03:23 +00:00
bors[bot]
c409cf0e26
Merge #10458
...
10458: feat: Implement custom user snippets r=Veykril a=Veykril
![Y24dX7fOWX](https://user-images.githubusercontent.com/3757771/136059454-ceccfc2c-2c90-46da-8ad1-bac9c2e83ec1.gif )
Allows us to address the following issues:
- `.arc / .rc / .pin, similar to .box?` https://github.com/rust-analyzer/rust-analyzer/issues/7033
- `Add unsafe snippet` https://github.com/rust-analyzer/rust-analyzer/issues/10392 , would allow users to have this without the diagnostic)
- `.ok() postfix snippet is annoying` https://github.com/rust-analyzer/rust-analyzer/issues/9636 , allows us to get rid of the `ok` postfix and similar ones
- `Postfix vec completion` https://github.com/rust-analyzer/rust-analyzer/issues/7773
cc https://github.com/rust-analyzer/rust-analyzer/issues/772
Zulipd discussion: https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Custom.20Postfix.20snippets
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
2021-10-05 16:41:11 +00:00
Lukas Wirth
77cbf4adbc
Bring the implementation closer to VSCode snippet definitions
2021-10-05 17:18:40 +02:00
Aramis Razzaghipour
9583dd5725
Replace if let
with match
where appropriate
2021-10-05 09:00:21 +11:00
Lukas Wirth
ca1fdd75f1
Regen docs
2021-10-04 22:13:12 +02:00
Lukas Wirth
454ecd167c
Make multiple import edits work for completions
2021-10-04 21:44:33 +02:00
Lukas Wirth
046c85ef0c
Add custom non-postfix snippets
2021-10-04 19:22:41 +02:00
Lukas Wirth
88f213eadd
Initial implementation of custom postfix snippets
2021-10-04 17:49:21 +02:00
Eric Sampson
a0bb31587e
Add enum variant references CodeLens.
2021-10-04 02:18:31 -05:00
Aramis Razzaghipour
55c0b86cde
Add semicolons for consistency
...
`clippy::semicolon_if_nothing_returned`
2021-10-03 23:39:43 +11:00
rainy-me
39044fe39c
Allow locate parent module action in cargo toml
2021-10-03 11:58:10 +09:00
Aleksey Kladov
12103b16de
internal: untangle usages of ReferenceCategory somewhat
...
Not everything that can be read or write is a reference, let's try to
use more precise types.
2021-10-02 13:02:06 +03:00
Aleksey Kladov
46eb03d99a
internal: use naming that matches intended use-case
2021-10-02 12:18:18 +03:00
lhvy
dbb02370a4
Add semantic token modifier for crate root
2021-10-01 20:52:13 +10:00
Lukas Wirth
0c7ea0c9a1
Fix add missing semantic token modifier in SUPPORTED_MODIFIERS
2021-09-30 20:38:05 +02:00
lhvy
f713cfb818
Remove unneeded semantic token definition
2021-10-01 01:55:29 +10:00
lhvy
2b3baa8503
Give defaultLibrary semantic token modifier to items from standard library
2021-10-01 01:19:24 +10:00