fix: Don't add \ before {

The LSP snippet grammar only specifies that `$`, `}`, and `\` can be escaped with
backslashes, but not `{`.
This commit is contained in:
DropDemBits 2024-02-20 14:01:50 -05:00
parent 4760d856bc
commit 07421c13d4
No known key found for this signature in database
GPG key ID: D550F8DFBB392533

View file

@ -1002,10 +1002,8 @@ fn merge_text_and_snippet_edits(
let mut new_text = current_indel.insert; let mut new_text = current_indel.insert;
// find which snippet bits need to be escaped // find which snippet bits need to be escaped
let escape_places = new_text let escape_places =
.rmatch_indices(['\\', '$', '{', '}']) new_text.rmatch_indices(['\\', '$', '}']).map(|(insert, _)| insert).collect_vec();
.map(|(insert, _)| insert)
.collect_vec();
let mut escape_places = escape_places.into_iter().peekable(); let mut escape_places = escape_places.into_iter().peekable();
let mut escape_prior_bits = |new_text: &mut String, up_to: usize| { let mut escape_prior_bits = |new_text: &mut String, up_to: usize| {
for before in escape_places.peeking_take_while(|insert| *insert >= up_to) { for before in escape_places.peeking_take_while(|insert| *insert >= up_to) {
@ -2176,7 +2174,7 @@ fn bar(_: usize) {}
character: 0, character: 0,
}, },
}, },
new_text: "\\$${1:ab\\{\\}\\$c\\\\d}ef", new_text: "\\$${1:ab{\\}\\$c\\\\d}ef",
insert_text_format: Some( insert_text_format: Some(
Snippet, Snippet,
), ),
@ -2272,7 +2270,7 @@ struct ProcMacro {
character: 5, character: 5,
}, },
}, },
new_text: "$0disabled = false;\n ProcMacro \\{\n disabled,\n \\}", new_text: "$0disabled = false;\n ProcMacro {\n disabled,\n \\}",
insert_text_format: Some( insert_text_format: Some(
Snippet, Snippet,
), ),
@ -2336,7 +2334,7 @@ struct P {
character: 5, character: 5,
}, },
}, },
new_text: "$0disabled = false;\n ProcMacro \\{\n disabled,\n \\}", new_text: "$0disabled = false;\n ProcMacro {\n disabled,\n \\}",
insert_text_format: Some( insert_text_format: Some(
Snippet, Snippet,
), ),
@ -2401,7 +2399,7 @@ struct ProcMacro {
character: 5, character: 5,
}, },
}, },
new_text: "${0:disabled} = false;\n ProcMacro \\{\n disabled,\n \\}", new_text: "${0:disabled} = false;\n ProcMacro {\n disabled,\n \\}",
insert_text_format: Some( insert_text_format: Some(
Snippet, Snippet,
), ),
@ -2466,7 +2464,7 @@ struct P {
character: 5, character: 5,
}, },
}, },
new_text: "${0:disabled} = false;\n ProcMacro \\{\n disabled,\n \\}", new_text: "${0:disabled} = false;\n ProcMacro {\n disabled,\n \\}",
insert_text_format: Some( insert_text_format: Some(
Snippet, Snippet,
), ),