editor: Improve snippet completion to show key inline in completion and description as aside (#30603)

Closes #28028

Before:
<img width="742" alt="image"
src="https://github.com/user-attachments/assets/31723970-5420-40ea-a394-4ffa0038925c"
/>

After:
<img width="989" alt="image"
src="https://github.com/user-attachments/assets/0aebc317-a234-4e68-8304-cb479513af15"
/>


Release Notes:

- Improved snippet code completion to show key in completion menu and
description in aside.
This commit is contained in:
Smit Barmase 2025-05-12 16:58:59 -07:00 committed by GitHub
parent 229f3dab22
commit e5d497ee08
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 46 additions and 20 deletions

View file

@ -34,10 +34,11 @@ fn file_stem_to_key(stem: &str) -> SnippetKind {
fn file_to_snippets(file_contents: VsSnippetsFile) -> Vec<Arc<Snippet>> {
let mut snippets = vec![];
for (prefix, snippet) in file_contents.snippets {
for (name, snippet) in file_contents.snippets {
let snippet_name = name.clone();
let prefixes = snippet
.prefix
.map_or_else(move || vec![prefix], |prefixes| prefixes.into());
.map_or_else(move || vec![snippet_name], |prefixes| prefixes.into());
let description = snippet
.description
.map(|description| description.to_string());
@ -49,6 +50,7 @@ fn file_to_snippets(file_contents: VsSnippetsFile) -> Vec<Arc<Snippet>> {
body,
prefix: prefixes,
description,
name,
}));
}
snippets
@ -59,6 +61,7 @@ pub struct Snippet {
pub prefix: Vec<String>,
pub body: String,
pub description: Option<String>,
pub name: String,
}
async fn process_updates(