rust-analyzer/crates/syntax/src
bors a91ca0e2fc Auto merge of #18038 - roife:fix-issue-18034, r=Veykril
feat: generate names for tuple-struct in add-missing-match-arms

fix #18034.

This PR includes the following enhancement:

- Introduced a `NameGenerator` in `suggest_name`, which implements an automatic renaming algorithm to avoid name conflicts. Here are a few examples:

```rust
let mut generator = NameGenerator::new();
assert_eq!(generator.suggest_name("a"), "a");
assert_eq!(generator.suggest_name("a"), "a1");
assert_eq!(generator.suggest_name("a"), "a2");

assert_eq!(generator.suggest_name("b"), "b");
assert_eq!(generator.suggest_name("b"), "b1");
assert_eq!(generator.suggest_name("b2"), "b2");
assert_eq!(generator.suggest_name("b"), "b3");
assert_eq!(generator.suggest_name("b"), "b4");
assert_eq!(generator.suggest_name("b3"), "b5");
```

- Updated existing testcases in ide-assists for the new `NameGenerator` (only modified generated names).
- Generate names for tuple structs instead of using wildcard patterns in `add-missing-match-arms`.
2024-09-12 08:21:37 +00:00
..
ast Give InlineAsmOperand a HIR representation 2024-09-05 12:40:48 +02:00
parsing Fix edition used for include macro parsing 2024-07-19 20:29:53 +02:00
syntax_editor bundle old root into SyntaxEdit result 2024-09-03 11:20:23 -04:00
validation Implement unsafe attribute parsing 2024-05-06 12:11:29 +02:00
algo.rs Avoid ref when using format! in compiler 2024-07-19 14:41:59 -04:00
ast.rs HasGenericArgs syntax trait 2024-07-07 11:18:28 +02:00
fuzz.rs internal: Thread edition through to parsing/tt-to-syntax-tree routines for macros 2024-04-14 16:02:38 +02:00
hacks.rs Modify hacks::parse_expr_from_str() to take an edition too 2024-08-24 23:46:32 +03:00
lib.rs Auto merge of #18038 - roife:fix-issue-18034, r=Veykril 2024-09-12 08:21:37 +00:00
parsing.rs Fix edition used for include macro parsing 2024-07-19 20:29:53 +02:00
ptr.rs internal: Thread edition through to parsing/tt-to-syntax-tree routines for macros 2024-04-14 16:02:38 +02:00
syntax_editor.rs bundle old root into SyntaxEdit result 2024-09-03 11:20:23 -04:00
syntax_error.rs Run cargo fix --edition-idioms 2022-07-20 15:02:08 +02:00
syntax_node.rs ⬆️ rust-analyzer 2023-02-13 13:55:14 +02:00
ted.rs Complete desugared and resugared async fn in trait impls 2024-09-01 11:22:50 +02:00
tests.rs internal: Remove AbsPathBuf::TryFrom impl that checks too many things at once 2024-08-02 11:08:19 +02:00
token_text.rs Merge commit '457b966b17' into sync-from-ra 2023-12-11 11:16:01 +02:00
utils.rs Properly account for editions in names 2024-08-16 16:46:24 +03:00
validation.rs chore: Prefer tracing span shorthand macros 2024-06-06 16:52:25 -07:00