From f5a4c6a7c1afb2696d101b0118a548b9cb7b78f3 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 16 Mar 2023 10:45:46 +0100 Subject: [PATCH] Provide `editor.tabSize` in workspace configuration for YAML This fixes a bug that caused the hover popover to display lots of ` ` occurrences. --- crates/zed/src/languages/yaml.rs | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/crates/zed/src/languages/yaml.rs b/crates/zed/src/languages/yaml.rs index 46569111f1ddc82743c4ec379c3e3424b7d6b326..9750ecce88d6f5ea73824bb801d9ac73764d69d9 100644 --- a/crates/zed/src/languages/yaml.rs +++ b/crates/zed/src/languages/yaml.rs @@ -1,12 +1,13 @@ -use std::{any::Any, path::PathBuf, sync::Arc}; - use anyhow::{anyhow, Context, Result}; use async_trait::async_trait; use client::http::HttpClient; -use futures::StreamExt; -use smol::fs; - +use futures::{future::BoxFuture, FutureExt, StreamExt}; +use gpui::MutableAppContext; use language::{LanguageServerName, LspAdapter}; +use serde_json::Value; +use settings::Settings; +use smol::fs; +use std::{any::Any, future, path::PathBuf, sync::Arc}; use util::ResultExt; use super::installation::{npm_install_packages, npm_package_latest_version}; @@ -90,4 +91,19 @@ impl LspAdapter for YamlLspAdapter { .await .log_err() } + + fn workspace_configuration( + &self, + cx: &mut MutableAppContext, + ) -> Option> { + let settings = cx.global::(); + Some( + future::ready(serde_json::json!({ + "[yaml]": { + "editor.tabSize": settings.tab_size(Some("YAML")) + } + })) + .boxed(), + ) + } }