Commit graph

262194 commits

Author SHA1 Message Date
Chayim Refael Friedman
0cbf6a7a76 Test for word boundary in FindUsages
This speeds up short identifiers search significantly, while unlikely to have an effect on long identifiers (the analysis takes much longer than some character comparison).

Tested by finding all references to `eq()` (from `PartialEq`) in the rust-analyzer repo. Total time went down from 100s to 10s (a 10x reduction!).
2024-08-16 10:02:36 +03:00
bors
ec03068320 Auto merge of #17844 - Veykril:find-path-std-fix, r=Veykril
fix: Fix find_path not respecting non-std preference config correctly

Fixes https://github.com/rust-lang/rust-analyzer/issues/17840
2024-08-10 15:47:18 +00:00
bors
2e0f5f6336 Auto merge of #17849 - Veykril:rust-analyzer-crate, r=Veykril
internal: Move some main crate stuff
2024-08-10 15:07:37 +00:00
Lukas Wirth
01262d972a Add comments regarding workspace structure change querying 2024-08-10 17:04:38 +02:00
Lukas Wirth
e219ac64c0 Move some stuff 2024-08-10 16:46:53 +02:00
Lukas Wirth
cbd00f1dda fix: Fix find_path not respecting non-std preference config correctly 2024-08-10 10:32:10 +02:00
bors
bee4926ae7 Auto merge of #17836 - winstxnhdw:sysroot, r=Veykril
minor: log error when sysroot can't be discovered

Closes #17808
2024-08-09 09:20:44 +00:00
winstxnhdw
077403a053
minor: log error when sysroot can't be discovered 2024-08-09 03:50:48 +08:00
bors
b086040121 Auto merge of #17832 - ShoyuVanilla:issue-17811, r=Veykril
fix: Panic while rendering function type hint with impl trait arg

Fixes #17811
2024-08-08 13:39:42 +00:00
Shoyu Vanilla
ce846da6d6 fix: Panic while rendering function with impl trait arg 2024-08-08 22:03:31 +09:00
bors
8666a717db Auto merge of #17831 - Veykril:flycheck-move-to-rust-analyzer, r=Veykril
internal: Move and split flycheck crate into rust-analyzer main crate

The crate no longer is about flychecking, it mainly hosts common command process handling shared by flycheck, test explorer and now project discovery. This re-organizes that into the main crate.
2024-08-08 11:10:28 +00:00
Lukas Wirth
8ff6b2f160 Split up flycheck module 2024-08-08 13:08:50 +02:00
Lukas Wirth
1114de0c37 Move flycheck crate into rust-analyzer main crate 2024-08-08 13:06:39 +02:00
bors
fe4d83c462 Auto merge of #17827 - regexident:improve-crate-manifests-continuation, r=lnicola
Improve crate manifest of 'syntax-bridge', adding missing `[package.repository]` and `[package.description]` fields

This is a follow-up of https://github.com/rust-lang/rust-analyzer/pull/17745, specifically [this comment](https://github.com/rust-lang/rust-analyzer/pull/17745#issuecomment-2271102382) by `@lnicola.`

It refines the manifest of the newly added 'syntax-bridge' crate, adding a `[package.repository]` as `workspace = true` and changes the existing `[package.description]` from "TBD" to a more useful description.
2024-08-08 09:35:56 +00:00
Vincent Esche
d8bb3c80f5 Add missing [package.description] for 'syntax-bridge' crate 2024-08-07 19:58:13 +02:00
Vincent Esche
1555fd9a39 Make 'syntax-bridge' crate inherit [package.repository] from workspace 2024-08-07 19:57:59 +02:00
bors
2a6655a9d7 Auto merge of #17825 - Veykril:server-things, r=Veykril
internal: Offload diagnostics serialization to the task pool
2024-08-07 15:01:52 +00:00
bors
7614de46ae Auto merge of #17824 - ShoyuVanilla:fix-diags, r=Veykril
fix: Native diagnostics not working

              This should be a `continue` now

_Originally posted by `@Veykril` in https://github.com/rust-lang/rust-analyzer/pull/17775#discussion_r1706845633_

I've tested the release compile output with IDE in the original PR, but my test workspace had only one `.rs` file 🤦 😢
2024-08-07 14:47:34 +00:00
Lukas Wirth
3e4632d993 Offload diagnostics serialization to the task pool 2024-08-07 16:43:51 +02:00
Lukas Wirth
e7086a35b5 Slightly quieter fatal panics 2024-08-07 16:35:58 +02:00
Shoyu Vanilla
d366706cc3 Fix native diagnostics not working 2024-08-07 23:33:39 +09:00
bors
6fc5d09ab2 Auto merge of #17823 - Veykril:mod-unconfigured-diag, r=Veykril
fix: Fix unconfigured diagnostic being attached to the wrong file for modules

Fixes https://github.com/rust-lang/rust-analyzer/issues/17817
2024-08-07 13:08:35 +00:00
Lukas Wirth
c4809d0d6e Fix unconfigured diagnostic being attached to the wrong file for modules 2024-08-07 15:07:09 +02:00
bors
359d5b9283 Auto merge of #17821 - Veykril:project-model-cleanup, r=Veykril
internal: Remove unnecessary CfgFlag definition in project-model
2024-08-07 12:46:26 +00:00
Lukas Wirth
f1f048c9c9 Fix cargo config get env parsing 2024-08-07 14:36:22 +02:00
Lukas Wirth
dbf2c126a3 Remove unnecessary CfgFlag definition in project-model 2024-08-07 14:27:59 +02:00
bors
34cde836d5 Auto merge of #17809 - nicolas-guichard:index-vendored, r=Veykril
Include vendored crates in StaticIndex

`StaticIndex::compute` filters out modules from libraries. This makes an exceptions for vendored libraries, ie libraries actually defined inside the workspace being indexed.

This aims to solve https://bugzilla.mozilla.org/show_bug.cgi?id=1846041 In general StaticIndex is meant for code browsers, which likely want to index all visible source files.
2024-08-07 11:05:49 +00:00
bors
0713a47045 Auto merge of #17813 - roife:fix-issue-17803, r=Veykril
fix: tyck for non-ADT types when searching refs for `Self` kw

See https://github.com/rust-lang/rust-analyzer/pull/15864/files/e0276dc5ddc38c65240edb408522bb869f15afb4#r1389848845

For ADTs, to handle `{error}` in generic args, we should to convert them to ADT for comparisons; for others, we can directly compare the types.
2024-08-07 06:34:46 +00:00
bors
937ef11c55 Auto merge of #17818 - alibektas:hidden_rust_project_json, r=Veykril
Allow rust-project.json to be hidden

Closes #17816
2024-08-07 06:20:40 +00:00
Ali Bektas
7af01f7c90 Allow rust-project.json to be hidden 2024-08-07 03:27:03 +02:00
roife
ac7c466515 fix: tyck for non-ADT types when searching refs for Self kw 2024-08-06 21:52:43 +08:00
Nicolas Guichard
6c1d83b725 Include vendored crates in StaticIndex
StaticIndex::compute filters out modules from libraries. This makes an
exceptions for vendored libraries, ie libraries actually defined inside
the workspace being indexed.

This aims to solve https://bugzilla.mozilla.org/show_bug.cgi?id=1846041
In general StaticIndex is meant for code browsers, which likely want to
index all visible source files.
2024-08-06 14:27:22 +02:00
bors
e686ffe2de Auto merge of #17745 - regexident:improve-crate-manifests, r=Veykril
Improve crate manifests, adding missing `[package.repository]` and `[package.description]` fields

As [discussed on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/Could.20we.20add.20repository.20url.20to.20.60ra_ap_.60.20crates.20on.20crates.2Eio.3F/near/455095161).

cc `@Veykril` `@lnicola`
2024-08-06 06:28:54 +00:00
bors
54362cadba Auto merge of #17805 - ShoyuVanilla:issue-17578, r=Veykril
fix: Panic in path transform with default type parameters

Fixes #17578
2024-08-06 06:14:36 +00:00
Vincent Esche
584f9543ea Replace [package.repository] = "…" of published crates with [package.repository.workspace] = true 2024-08-06 00:26:42 +02:00
Vincent Esche
e15ffa5629 Unify package descriptions by adding references to "rust-analyzer"
With the lack of a README on the individually published library crates and the somewhat cryptic `ra_ap_` prefix it is hard to figure out where those crates belong to, so mentioning "rust-analyzer" feels like auseful hint there.
2024-08-06 00:25:02 +02:00
Vincent Esche
08d3d44c7d Apply Veykril's change suggestions 2024-08-06 00:25:02 +02:00
Vincent Esche
ccc4177911 Replace "ra_ap_ide" with "ide (aka ra_ap_ide)" 2024-08-06 00:25:02 +02:00
Vincent Esche
54e68e6adf Fix spelling of "data structure" 2024-08-06 00:25:02 +02:00
Vincent Esche
cc67602501 Fix spelling of "object-oriented" 2024-08-06 00:25:02 +02:00
Vincent Esche
a22691afd9 Fix obsolete repository URL in [package.repository] of rust-analyzer crate 2024-08-06 00:25:02 +02:00
Vincent Esche
163534182d Add repository URL for published crates' missing [package.repository] fields 2024-08-06 00:25:02 +02:00
Vincent Esche
88ea306270 Replace "TBD" with more helpful desciptions in published crates' [package.description] fields 2024-08-06 00:25:02 +02:00
Shoyu Vanilla
ad4e8155ba fix: Panic in path transform with default type parameters 2024-08-06 04:24:40 +09:00
bors
37f75693a1 Auto merge of #17802 - Veykril:arg-mismatch-no-ty-mismatch, r=Veykril
fix: Surpress type mismatches in calls with mismatched arg counts

These tend to get very noisy, hiding the actual problem.
2024-08-05 14:35:50 +00:00
bors
64cd3da35d Auto merge of #17772 - Veykril:debug.ts, r=Veykril
internal: Reorganize debug.ts
2024-08-05 14:21:45 +00:00
Lukas Wirth
3e23c4541b Surpress type mismatches in calls with mismatched arg counts 2024-08-05 16:15:28 +02:00
bors
7dd258a36d Auto merge of #17771 - Veykril:parallel-vfs-config, r=Veykril
internal: Load VFS config changes in parallel

Simple attempt to make some progress f or https://github.com/rust-lang/rust-analyzer/issues/17373
No clue if those atomic orderings are right, though I don't think they are really too relevant either.

A more complete fix would probably need to replace our `ProjectFolders` handling a bit.
2024-08-05 14:07:22 +00:00
Lukas Wirth
d95a4b8d2b Reorganize debug.ts 2024-08-05 16:06:25 +02:00
Lukas Wirth
314f30167f Slightly optimize watch list in vfs 2024-08-05 15:56:23 +02:00