Start language servers based on buffers' languages
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
co-authored by
Nathan Sobo
parent
a66b81d60a
commit
8d3f42de52
@@ -127,10 +127,16 @@ impl ItemView for Editor {
|
||||
|
||||
cx.spawn(|buffer, mut cx| async move {
|
||||
save_as.await.map(|new_file| {
|
||||
let (language, language_server) = worktree.read_with(&cx, |worktree, _| {
|
||||
let language = worktree.languages().select_language(new_file.full_path());
|
||||
let language_server = worktree.language_server();
|
||||
(language.cloned(), language_server.cloned())
|
||||
let (language, language_server) = worktree.update(&mut cx, |worktree, cx| {
|
||||
let worktree = worktree.as_local_mut().unwrap();
|
||||
let language = worktree
|
||||
.languages()
|
||||
.select_language(new_file.full_path())
|
||||
.cloned();
|
||||
let language_server = language
|
||||
.as_ref()
|
||||
.and_then(|language| worktree.ensure_language_server(language, cx));
|
||||
(language, language_server.clone())
|
||||
});
|
||||
|
||||
buffer.update(&mut cx, |buffer, cx| {
|
||||
|
||||
Reference in New Issue
Block a user