Unnamed repository; edit this file 'description' to name the repository.
| -rw-r--r-- | crates/ide-assists/src/handlers/convert_char_literal.rs | 9 | ||||
| -rw-r--r-- | crates/ide-assists/src/tests/generated.rs | 13 |
2 files changed, 21 insertions, 1 deletions
diff --git a/crates/ide-assists/src/handlers/convert_char_literal.rs b/crates/ide-assists/src/handlers/convert_char_literal.rs index 1ab0163752..0a50ba86ba 100644 --- a/crates/ide-assists/src/handlers/convert_char_literal.rs +++ b/crates/ide-assists/src/handlers/convert_char_literal.rs @@ -5,6 +5,13 @@ use crate::{AssistContext, AssistId, Assists, GroupLabel}; // Assist: convert_char_literal // // Converts character literals between different representations. Currently supports normal character -> ASCII / Unicode escape. +// ``` +// const _: char = 'a'$0; +// ``` +// -> +// ``` +// const _: char = '\x61'; +// ``` pub(crate) fn convert_char_literal(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> { if !ctx.has_empty_selection() { return None; @@ -17,7 +24,7 @@ pub(crate) fn convert_char_literal(acc: &mut Assists, ctx: &AssistContext<'_>) - }; let value = literal.value().ok()?; - let text = literal.syntax().text().to_string(); + let text = literal.syntax().text().to_owned(); let range = literal.syntax().text_range(); let group_id = GroupLabel("Convert char representation".into()); diff --git a/crates/ide-assists/src/tests/generated.rs b/crates/ide-assists/src/tests/generated.rs index 160b31af0a..7eef257b95 100644 --- a/crates/ide-assists/src/tests/generated.rs +++ b/crates/ide-assists/src/tests/generated.rs @@ -425,6 +425,19 @@ fn main() { } #[test] +fn doctest_convert_char_literal() { + check_doc_test( + "convert_char_literal", + r#####" +const _: char = 'a'$0; +"#####, + r#####" +const _: char = '\x61'; +"#####, + ) +} + +#[test] fn doctest_convert_closure_to_fn() { check_doc_test( "convert_closure_to_fn", |