in crates/llm-ls/src/main.rs [275:303]
fn format_generations(
generations: Vec<Generation>,
tokens_to_clear: &[String],
completion_type: CompletionType,
) -> Vec<Completion> {
generations
.into_iter()
.map(|g| {
let mut generated_text = g.generated_text;
for token in tokens_to_clear {
generated_text = generated_text.replace(token, "")
}
match completion_type {
CompletionType::Empty => {
warn!("completion type should not be empty when post processing completions");
Completion { generated_text }
}
CompletionType::SingleLine => Completion {
generated_text: generated_text
.split_once('\n')
.unwrap_or((&generated_text, ""))
.0
.to_owned(),
},
CompletionType::MultiLine => Completion { generated_text },
}
})
.collect()
}