Simplify default prettier installation function

This commit is contained in:
Kirill Bulatov 2023-11-28 23:23:05 +02:00
parent 96f6b89508
commit f1314afe35
2 changed files with 33 additions and 33 deletions

View file

@ -925,8 +925,14 @@ impl Project {
.detach();
}
let mut prettier_plugins_by_worktree = HashMap::default();
for (worktree, language, settings) in language_formatters_to_check {
self.install_default_prettier(worktree, &language, &settings, cx);
if let Some(plugins) = prettier_support::prettier_plugins_for_language(&language, &settings) {
prettier_plugins_by_worktree.entry(worktree).or_insert_with(|| HashSet::default()).extend(plugins);
}
}
for (worktree, prettier_plugins) in prettier_plugins_by_worktree {
self.install_default_prettier(worktree, prettier_plugins, cx);
}
// Start all the newly-enabled language servers.
@ -2682,8 +2688,9 @@ impl Project {
let settings = language_settings(Some(&new_language), buffer_file.as_ref(), cx).clone();
let buffer_file = File::from_dyn(buffer_file.as_ref());
let worktree = buffer_file.as_ref().map(|f| f.worktree_id(cx));
self.install_default_prettier(worktree, &new_language, &settings, cx);
if let Some(prettier_plugins) = prettier_support::prettier_plugins_for_language(&new_language, &settings) {
self.install_default_prettier(worktree, prettier_plugins, cx);
};
if let Some(file) = buffer_file {
let worktree = file.worktree.clone();
if let Some(tree) = worktree.read(cx).as_local() {