Use async_maybe!
instead of inline IIFEs (#6906)
This PR replaces instances where we were using an async IIFE with the `async_maybe!` macro. Release Notes: - N/A
This commit is contained in:
parent
5b9cc26194
commit
bbdf401a78
14 changed files with 55 additions and 44 deletions
|
@ -28,7 +28,8 @@ use std::{
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::{
|
use util::{
|
||||||
fs::remove_matching, github::latest_github_release, http::HttpClient, paths, ResultExt,
|
async_maybe, fs::remove_matching, github::latest_github_release, http::HttpClient, paths,
|
||||||
|
ResultExt,
|
||||||
};
|
};
|
||||||
|
|
||||||
actions!(
|
actions!(
|
||||||
|
@ -992,7 +993,7 @@ async fn get_copilot_lsp(http: Arc<dyn HttpClient>) -> anyhow::Result<PathBuf> {
|
||||||
e @ Err(..) => {
|
e @ Err(..) => {
|
||||||
e.log_err();
|
e.log_err();
|
||||||
// Fetch a cached binary, if it exists
|
// Fetch a cached binary, if it exists
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(paths::COPILOT_DIR.as_path()).await?;
|
let mut entries = fs::read_dir(paths::COPILOT_DIR.as_path()).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -1012,7 +1013,7 @@ async fn get_copilot_lsp(http: Arc<dyn HttpClient>) -> anyhow::Result<PathBuf> {
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ use lsp::LanguageServerBinary;
|
||||||
use smol::fs::{self, File};
|
use smol::fs::{self, File};
|
||||||
use std::{any::Any, path::PathBuf, sync::Arc};
|
use std::{any::Any, path::PathBuf, sync::Arc};
|
||||||
use util::{
|
use util::{
|
||||||
|
async_maybe,
|
||||||
fs::remove_matching,
|
fs::remove_matching,
|
||||||
github::{latest_github_release, GitHubLspBinaryVersion},
|
github::{latest_github_release, GitHubLspBinaryVersion},
|
||||||
ResultExt,
|
ResultExt,
|
||||||
|
@ -244,7 +245,7 @@ impl super::LspAdapter for CLspAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServerBinary> {
|
async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_clangd_dir = None;
|
let mut last_clangd_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -266,7 +267,7 @@ async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServ
|
||||||
clangd_dir
|
clangd_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::ResultExt;
|
use util::{async_maybe, ResultExt};
|
||||||
|
|
||||||
const SERVER_PATH: &'static str =
|
const SERVER_PATH: &'static str =
|
||||||
"node_modules/vscode-langservers-extracted/bin/vscode-css-language-server";
|
"node_modules/vscode-langservers-extracted/bin/vscode-css-language-server";
|
||||||
|
@ -102,7 +102,7 @@ async fn get_cached_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -124,7 +124,7 @@ async fn get_cached_server_binary(
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,8 +10,12 @@ use serde_json::json;
|
||||||
use settings::Settings;
|
use settings::Settings;
|
||||||
use smol::{fs, fs::File};
|
use smol::{fs, fs::File};
|
||||||
use std::{any::Any, env::consts, ffi::OsString, path::PathBuf, sync::Arc};
|
use std::{any::Any, env::consts, ffi::OsString, path::PathBuf, sync::Arc};
|
||||||
use util::{fs::remove_matching, github::latest_github_release};
|
use util::{
|
||||||
use util::{github::GitHubLspBinaryVersion, ResultExt};
|
async_maybe,
|
||||||
|
fs::remove_matching,
|
||||||
|
github::{latest_github_release, GitHubLspBinaryVersion},
|
||||||
|
ResultExt,
|
||||||
|
};
|
||||||
|
|
||||||
#[derive(Clone, Serialize, Deserialize, JsonSchema)]
|
#[derive(Clone, Serialize, Deserialize, JsonSchema)]
|
||||||
pub struct DenoSettings {
|
pub struct DenoSettings {
|
||||||
|
@ -196,7 +200,7 @@ impl LspAdapter for DenoLspAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServerBinary> {
|
async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last = None;
|
let mut last = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -217,7 +221,7 @@ async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServ
|
||||||
}
|
}
|
||||||
|
|
||||||
Err(anyhow!("no cached binary"))
|
Err(anyhow!("no cached binary"))
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ use std::{
|
||||||
Arc,
|
Arc,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use util::{fs::remove_matching, github::latest_github_release, ResultExt};
|
use util::{async_maybe, fs::remove_matching, github::latest_github_release, ResultExt};
|
||||||
|
|
||||||
fn server_binary_arguments() -> Vec<OsString> {
|
fn server_binary_arguments() -> Vec<OsString> {
|
||||||
vec!["-mode=stdio".into()]
|
vec!["-mode=stdio".into()]
|
||||||
|
@ -329,7 +329,7 @@ impl super::LspAdapter for GoLspAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServerBinary> {
|
async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_binary_path = None;
|
let mut last_binary_path = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -352,7 +352,7 @@ async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServ
|
||||||
} else {
|
} else {
|
||||||
Err(anyhow!("no cached binary"))
|
Err(anyhow!("no cached binary"))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::ResultExt;
|
use util::{async_maybe, ResultExt};
|
||||||
|
|
||||||
const SERVER_PATH: &'static str =
|
const SERVER_PATH: &'static str =
|
||||||
"node_modules/vscode-langservers-extracted/bin/vscode-html-language-server";
|
"node_modules/vscode-langservers-extracted/bin/vscode-html-language-server";
|
||||||
|
@ -102,7 +102,7 @@ async fn get_cached_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -124,7 +124,7 @@ async fn get_cached_server_binary(
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::{Arc, OnceLock},
|
sync::{Arc, OnceLock},
|
||||||
};
|
};
|
||||||
use util::{paths, ResultExt};
|
use util::{async_maybe, paths, ResultExt};
|
||||||
|
|
||||||
const SERVER_PATH: &'static str =
|
const SERVER_PATH: &'static str =
|
||||||
"node_modules/vscode-json-languageserver/bin/vscode-json-languageserver";
|
"node_modules/vscode-json-languageserver/bin/vscode-json-languageserver";
|
||||||
|
@ -158,7 +158,7 @@ async fn get_cached_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -181,7 +181,7 @@ async fn get_cached_server_binary(
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::ResultExt;
|
use util::{async_maybe, ResultExt};
|
||||||
|
|
||||||
fn intelephense_server_binary_arguments(server_path: &Path) -> Vec<OsString> {
|
fn intelephense_server_binary_arguments(server_path: &Path) -> Vec<OsString> {
|
||||||
vec![server_path.into(), "--stdio".into()]
|
vec![server_path.into(), "--stdio".into()]
|
||||||
|
@ -108,7 +108,7 @@ async fn get_cached_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -130,7 +130,7 @@ async fn get_cached_server_binary(
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ use regex::Regex;
|
||||||
use smol::fs::{self, File};
|
use smol::fs::{self, File};
|
||||||
use std::{any::Any, borrow::Cow, env::consts, path::PathBuf, str, sync::Arc};
|
use std::{any::Any, borrow::Cow, env::consts, path::PathBuf, str, sync::Arc};
|
||||||
use util::{
|
use util::{
|
||||||
|
async_maybe,
|
||||||
fs::remove_matching,
|
fs::remove_matching,
|
||||||
github::{latest_github_release, GitHubLspBinaryVersion},
|
github::{latest_github_release, GitHubLspBinaryVersion},
|
||||||
ResultExt,
|
ResultExt,
|
||||||
|
@ -272,7 +273,7 @@ impl LspAdapter for RustLspAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServerBinary> {
|
async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last = None;
|
let mut last = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -283,7 +284,7 @@ async fn get_cached_server_binary(container_dir: PathBuf) -> Option<LanguageServ
|
||||||
path: last.ok_or_else(|| anyhow!("no cached binary"))?,
|
path: last.ok_or_else(|| anyhow!("no cached binary"))?,
|
||||||
arguments: Default::default(),
|
arguments: Default::default(),
|
||||||
})
|
})
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::ResultExt;
|
use util::{async_maybe, ResultExt};
|
||||||
|
|
||||||
const SERVER_PATH: &'static str = "node_modules/svelte-language-server/bin/server.js";
|
const SERVER_PATH: &'static str = "node_modules/svelte-language-server/bin/server.js";
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ async fn get_cached_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -127,7 +127,7 @@ async fn get_cached_server_binary(
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::ResultExt;
|
use util::{async_maybe, ResultExt};
|
||||||
|
|
||||||
const SERVER_PATH: &'static str = "node_modules/.bin/tailwindcss-language-server";
|
const SERVER_PATH: &'static str = "node_modules/.bin/tailwindcss-language-server";
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ async fn get_cached_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -157,7 +157,7 @@ async fn get_cached_server_binary(
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,12 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::{fs::remove_matching, github::latest_github_release};
|
use util::{
|
||||||
use util::{github::GitHubLspBinaryVersion, ResultExt};
|
async_maybe,
|
||||||
|
fs::remove_matching,
|
||||||
|
github::{latest_github_release, GitHubLspBinaryVersion},
|
||||||
|
ResultExt,
|
||||||
|
};
|
||||||
|
|
||||||
fn typescript_server_binary_arguments(server_path: &Path) -> Vec<OsString> {
|
fn typescript_server_binary_arguments(server_path: &Path) -> Vec<OsString> {
|
||||||
vec![server_path.into(), "--stdio".into()]
|
vec![server_path.into(), "--stdio".into()]
|
||||||
|
@ -172,7 +176,7 @@ async fn get_cached_ts_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let old_server_path = container_dir.join(TypeScriptLspAdapter::OLD_SERVER_PATH);
|
let old_server_path = container_dir.join(TypeScriptLspAdapter::OLD_SERVER_PATH);
|
||||||
let new_server_path = container_dir.join(TypeScriptLspAdapter::NEW_SERVER_PATH);
|
let new_server_path = container_dir.join(TypeScriptLspAdapter::NEW_SERVER_PATH);
|
||||||
if new_server_path.exists() {
|
if new_server_path.exists() {
|
||||||
|
@ -191,7 +195,7 @@ async fn get_cached_ts_server_binary(
|
||||||
container_dir
|
container_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
@ -324,7 +328,7 @@ async fn get_cached_eslint_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
// This is unfortunate but we don't know what the version is to build a path directly
|
// This is unfortunate but we don't know what the version is to build a path directly
|
||||||
let mut dir = fs::read_dir(&container_dir).await?;
|
let mut dir = fs::read_dir(&container_dir).await?;
|
||||||
let first = dir.next().await.ok_or(anyhow!("missing first file"))??;
|
let first = dir.next().await.ok_or(anyhow!("missing first file"))??;
|
||||||
|
@ -337,7 +341,7 @@ async fn get_cached_eslint_server_binary(
|
||||||
path: node.binary_path().await?,
|
path: node.binary_path().await?,
|
||||||
arguments: eslint_server_binary_arguments(&server_path),
|
arguments: eslint_server_binary_arguments(&server_path),
|
||||||
})
|
})
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::ResultExt;
|
use util::{async_maybe, ResultExt};
|
||||||
|
|
||||||
pub struct VueLspVersion {
|
pub struct VueLspVersion {
|
||||||
vue_version: String,
|
vue_version: String,
|
||||||
|
@ -188,7 +188,7 @@ async fn get_cached_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: Arc<dyn NodeRuntime>,
|
node: Arc<dyn NodeRuntime>,
|
||||||
) -> Option<(LanguageServerBinary, TypescriptPath)> {
|
) -> Option<(LanguageServerBinary, TypescriptPath)> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -214,7 +214,7 @@ async fn get_cached_server_binary(
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ use std::{
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
};
|
};
|
||||||
use util::ResultExt;
|
use util::{async_maybe, ResultExt};
|
||||||
|
|
||||||
const SERVER_PATH: &'static str = "node_modules/yaml-language-server/bin/yaml-language-server";
|
const SERVER_PATH: &'static str = "node_modules/yaml-language-server/bin/yaml-language-server";
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ async fn get_cached_server_binary(
|
||||||
container_dir: PathBuf,
|
container_dir: PathBuf,
|
||||||
node: &dyn NodeRuntime,
|
node: &dyn NodeRuntime,
|
||||||
) -> Option<LanguageServerBinary> {
|
) -> Option<LanguageServerBinary> {
|
||||||
(|| async move {
|
async_maybe!({
|
||||||
let mut last_version_dir = None;
|
let mut last_version_dir = None;
|
||||||
let mut entries = fs::read_dir(&container_dir).await?;
|
let mut entries = fs::read_dir(&container_dir).await?;
|
||||||
while let Some(entry) = entries.next().await {
|
while let Some(entry) = entries.next().await {
|
||||||
|
@ -132,7 +132,7 @@ async fn get_cached_server_binary(
|
||||||
last_version_dir
|
last_version_dir
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
})()
|
})
|
||||||
.await
|
.await
|
||||||
.log_err()
|
.log_err()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue