diff --git a/crates/editor/src/lib.rs b/crates/editor/src/lib.rs index da1060b78d0a00859e1bc094bceac74831a1cdc5..4566badd9859b6ccb1bde33a34c975e7656a4829 100644 --- a/crates/editor/src/lib.rs +++ b/crates/editor/src/lib.rs @@ -518,7 +518,9 @@ impl Editor { _: &workspace::OpenNew, cx: &mut ViewContext, ) { - let buffer = cx.add_model(|cx| Buffer::new(0, "", cx)); + let buffer = cx.add_model(|cx| { + Buffer::new(0, "", cx).with_language(Some(language::PLAIN_TEXT.clone()), None, cx) + }); workspace.add_item(BufferItemHandle(buffer), cx); } diff --git a/crates/language/src/language.rs b/crates/language/src/language.rs index 8cb40438ace6045623d4577e7661077e20ed40f5..f8201b179b44682a2e8bcc7412c4a8a6897985a3 100644 --- a/crates/language/src/language.rs +++ b/crates/language/src/language.rs @@ -1,6 +1,7 @@ use crate::HighlightMap; use anyhow::{anyhow, Result}; use gpui::{executor::Background, AppContext}; +use lazy_static::lazy_static; use lsp::LanguageServer; use parking_lot::Mutex; use serde::Deserialize; @@ -9,6 +10,19 @@ use theme::SyntaxTheme; use tree_sitter::{self, Query}; pub use tree_sitter::{Parser, Tree}; +lazy_static! { + pub static ref PLAIN_TEXT: Arc = Arc::new(Language::new( + LanguageConfig { + name: "Plain Text".to_string(), + path_suffixes: Default::default(), + brackets: Default::default(), + line_comment: None, + language_server: None, + }, + None, + )); +} + #[derive(Default, Deserialize)] pub struct LanguageConfig { pub name: String, diff --git a/crates/language/src/lib.rs b/crates/language/src/lib.rs index 4d16eb6a248b5d654b6549d043cb733c9f566f12..07602e227f7df1e82cd38e361e0f558bf8c4886e 100644 --- a/crates/language/src/lib.rs +++ b/crates/language/src/lib.rs @@ -8,6 +8,7 @@ pub use self::{ highlight_map::{HighlightId, HighlightMap}, language::{ BracketPair, Grammar, Language, LanguageConfig, LanguageRegistry, LanguageServerConfig, + PLAIN_TEXT, }, }; use anyhow::{anyhow, Result}; diff --git a/crates/zed/src/main.rs b/crates/zed/src/main.rs index 16ca6ed67b45b26963e540d4012b88317ed61e6d..c6374c66e71f25dd5fc8015504086eb0dff916d0 100644 --- a/crates/zed/src/main.rs +++ b/crates/zed/src/main.rs @@ -27,6 +27,13 @@ fn main() { let theme = themes.get(DEFAULT_THEME_NAME).unwrap(); let settings = Settings::new("Inconsolata", &app.font_cache(), theme) .unwrap() + .with_overrides( + language::PLAIN_TEXT.name(), + settings::Override { + soft_wrap: Some(settings::SoftWrap::PreferredLineLength), + ..Default::default() + }, + ) .with_overrides( "Markdown", settings::Override {