From 9bc3c6810ba0319a29a7eb1dd78391ac39478ac2 Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 14 Jun 2024 15:29:20 -0400 Subject: [PATCH] Register Markdown language in some tests to silence error logs (#13066) This PR registers the Markdown language in some of the tests in the `zed` crate to silence the error logs about the language not being found when the chat panel attempts to load it. Release Notes: - N/A --- Cargo.lock | 1 + .../src/chat_panel/message_editor.rs | 4 +- crates/zed/Cargo.toml | 1 + crates/zed/src/zed.rs | 50 +++++++++++++++++-- 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 704b0fe0cc..60f20b957a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13336,6 +13336,7 @@ dependencies = [ "terminal_view", "theme", "theme_selector", + "tree-sitter-markdown", "tree-sitter-rust", "urlencoding", "util", diff --git a/crates/collab_ui/src/chat_panel/message_editor.rs b/crates/collab_ui/src/chat_panel/message_editor.rs index b50fb6ffdf..4a0ff2adfc 100644 --- a/crates/collab_ui/src/chat_panel/message_editor.rs +++ b/crates/collab_ui/src/chat_panel/message_editor.rs @@ -1,4 +1,4 @@ -use anyhow::Result; +use anyhow::{Context, Result}; use channel::{ChannelChat, ChannelStore, MessageParams}; use client::{UserId, UserStore}; use collections::HashSet; @@ -133,7 +133,7 @@ impl MessageEditor { let markdown = language_registry.language_for_name("Markdown"); cx.spawn(|_, mut cx| async move { - let markdown = markdown.await?; + let markdown = markdown.await.context("failed to load Markdown language")?; buffer.update(&mut cx, |buffer, cx| { buffer.set_language(Some(markdown), cx) }) diff --git a/crates/zed/Cargo.toml b/crates/zed/Cargo.toml index 7ac8bd64b9..05390aa950 100644 --- a/crates/zed/Cargo.toml +++ b/crates/zed/Cargo.toml @@ -113,6 +113,7 @@ editor = { workspace = true, features = ["test-support"] } gpui = { workspace = true, features = ["test-support"] } language = { workspace = true, features = ["test-support"] } project = { workspace = true, features = ["test-support"] } +tree-sitter-markdown.workspace = true tree-sitter-rust.workspace = true workspace = { workspace = true, features = ["test-support"] } diff --git a/crates/zed/src/zed.rs b/crates/zed/src/zed.rs index 8585eafcb7..7b039291bc 100644 --- a/crates/zed/src/zed.rs +++ b/crates/zed/src/zed.rs @@ -1397,6 +1397,9 @@ mod tests { .await; let project = Project::test(app_state.fs.clone(), ["/root".as_ref()], cx).await; + project.update(cx, |project, _cx| { + project.languages().add(markdown_language()) + }); let window = cx.add_window(|cx| Workspace::test_new(project, cx)); let workspace = window.root(cx).unwrap(); @@ -1758,6 +1761,9 @@ mod tests { .await; let project = Project::test(app_state.fs.clone(), ["/root".as_ref()], cx).await; + project.update(cx, |project, _cx| { + project.languages().add(markdown_language()) + }); let window = cx.add_window(|cx| Workspace::test_new(project, cx)); let workspace = window.root(cx).unwrap(); @@ -1853,6 +1859,9 @@ mod tests { .await; let project = Project::test(app_state.fs.clone(), ["/root".as_ref()], cx).await; + project.update(cx, |project, _cx| { + project.languages().add(markdown_language()) + }); let window = cx.add_window(|cx| Workspace::test_new(project, cx)); let workspace = window.root(cx).unwrap(); @@ -1914,7 +1923,10 @@ mod tests { app_state.fs.create_dir(Path::new("/root")).await.unwrap(); let project = Project::test(app_state.fs.clone(), ["/root".as_ref()], cx).await; - project.update(cx, |project, _| project.languages().add(rust_lang())); + project.update(cx, |project, _| { + project.languages().add(markdown_language()); + project.languages().add(rust_lang()); + }); let window = cx.add_window(|cx| Workspace::test_new(project, cx)); let worktree = cx.update(|cx| window.read(cx).unwrap().worktrees(cx).next().unwrap()); @@ -2048,7 +2060,10 @@ mod tests { app_state.fs.create_dir(Path::new("/root")).await.unwrap(); let project = Project::test(app_state.fs.clone(), [], cx).await; - project.update(cx, |project, _| project.languages().add(rust_lang())); + project.update(cx, |project, _| { + project.languages().add(rust_lang()); + project.languages().add(markdown_language()); + }); let window = cx.add_window(|cx| Workspace::test_new(project, cx)); // Create a new untitled buffer @@ -2123,6 +2138,9 @@ mod tests { .await; let project = Project::test(app_state.fs.clone(), ["/root".as_ref()], cx).await; + project.update(cx, |project, _cx| { + project.languages().add(markdown_language()) + }); let window = cx.add_window(|cx| Workspace::test_new(project, cx)); let workspace = window.root(cx).unwrap(); @@ -2212,6 +2230,9 @@ mod tests { .await; let project = Project::test(app_state.fs.clone(), ["/root".as_ref()], cx).await; + project.update(cx, |project, _cx| { + project.languages().add(markdown_language()) + }); let workspace = cx.add_window(|cx| Workspace::test_new(project.clone(), cx)); let pane = workspace .read_with(cx, |workspace, _| workspace.active_pane().clone()) @@ -2558,6 +2579,9 @@ mod tests { .await; let project = Project::test(app_state.fs.clone(), ["/root".as_ref()], cx).await; + project.update(cx, |project, _cx| { + project.languages().add(markdown_language()) + }); let workspace = cx.add_window(|cx| Workspace::test_new(project, cx)); let pane = workspace .read_with(cx, |workspace, _| workspace.active_pane().clone()) @@ -3097,12 +3121,15 @@ mod tests { fn init_test(cx: &mut TestAppContext) -> Arc { cx.update(|cx| { + env_logger::try_init().ok(); + let mut app_state = AppState::test(cx); let state = Arc::get_mut(&mut app_state).unwrap(); - env_logger::try_init().ok(); - state.build_window_options = build_window_options; + + app_state.languages.add(markdown_language()); + theme::init(theme::LoadThemes::JustBase, cx); audio::init((), cx); channel::init(&app_state.client, app_state.user_store.clone(), cx); @@ -3138,6 +3165,21 @@ mod tests { Some(tree_sitter_rust::language()), )) } + + fn markdown_language() -> Arc { + Arc::new(language::Language::new( + language::LanguageConfig { + name: "Markdown".into(), + matcher: LanguageMatcher { + path_suffixes: vec!["md".to_string()], + ..Default::default() + }, + ..Default::default() + }, + Some(tree_sitter_markdown::language()), + )) + } + #[track_caller] fn assert_key_bindings_for( window: AnyWindowHandle,