Embed a plain text grammar and override settings for that too
This commit is contained in:
parent
2c17ae9aa6
commit
9d7039ed51
4 changed files with 25 additions and 1 deletions
|
@ -518,7 +518,9 @@ impl Editor {
|
||||||
_: &workspace::OpenNew,
|
_: &workspace::OpenNew,
|
||||||
cx: &mut ViewContext<Workspace>,
|
cx: &mut ViewContext<Workspace>,
|
||||||
) {
|
) {
|
||||||
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);
|
workspace.add_item(BufferItemHandle(buffer), cx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
use crate::HighlightMap;
|
use crate::HighlightMap;
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
use gpui::{executor::Background, AppContext};
|
use gpui::{executor::Background, AppContext};
|
||||||
|
use lazy_static::lazy_static;
|
||||||
use lsp::LanguageServer;
|
use lsp::LanguageServer;
|
||||||
use parking_lot::Mutex;
|
use parking_lot::Mutex;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
@ -9,6 +10,19 @@ use theme::SyntaxTheme;
|
||||||
use tree_sitter::{self, Query};
|
use tree_sitter::{self, Query};
|
||||||
pub use tree_sitter::{Parser, Tree};
|
pub use tree_sitter::{Parser, Tree};
|
||||||
|
|
||||||
|
lazy_static! {
|
||||||
|
pub static ref PLAIN_TEXT: Arc<Language> = 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)]
|
#[derive(Default, Deserialize)]
|
||||||
pub struct LanguageConfig {
|
pub struct LanguageConfig {
|
||||||
pub name: String,
|
pub name: String,
|
||||||
|
|
|
@ -8,6 +8,7 @@ pub use self::{
|
||||||
highlight_map::{HighlightId, HighlightMap},
|
highlight_map::{HighlightId, HighlightMap},
|
||||||
language::{
|
language::{
|
||||||
BracketPair, Grammar, Language, LanguageConfig, LanguageRegistry, LanguageServerConfig,
|
BracketPair, Grammar, Language, LanguageConfig, LanguageRegistry, LanguageServerConfig,
|
||||||
|
PLAIN_TEXT,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use anyhow::{anyhow, Result};
|
use anyhow::{anyhow, Result};
|
||||||
|
|
|
@ -27,6 +27,13 @@ fn main() {
|
||||||
let theme = themes.get(DEFAULT_THEME_NAME).unwrap();
|
let theme = themes.get(DEFAULT_THEME_NAME).unwrap();
|
||||||
let settings = Settings::new("Inconsolata", &app.font_cache(), theme)
|
let settings = Settings::new("Inconsolata", &app.font_cache(), theme)
|
||||||
.unwrap()
|
.unwrap()
|
||||||
|
.with_overrides(
|
||||||
|
language::PLAIN_TEXT.name(),
|
||||||
|
settings::Override {
|
||||||
|
soft_wrap: Some(settings::SoftWrap::PreferredLineLength),
|
||||||
|
..Default::default()
|
||||||
|
},
|
||||||
|
)
|
||||||
.with_overrides(
|
.with_overrides(
|
||||||
"Markdown",
|
"Markdown",
|
||||||
settings::Override {
|
settings::Override {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue