@@ -6,6 +6,7 @@ use crate::job::Job;
6use super::*;
6use super::*;
8use helix_core::encoding;
8use helix_core::encoding;
9+use helix_view::document::DEFAULT_LANGUAGE_NAME;
9use helix_view::editor::{Action, CloseError, ConfigEvent};
10use helix_view::editor::{Action, CloseError, ConfigEvent};
10use serde_json::Value;
11use serde_json::Value;
11use ui::completers::{self, Completer};
12use ui::completers::{self, Completer};
@@ -1697,13 +1698,20 @@ fn language(
1697 return Ok(());
1698 return Ok(());
1701+ if args.is_empty() {
1702+ let doc = doc!(cx.editor);
1703+ let language = &doc.language_name().unwrap_or(DEFAULT_LANGUAGE_NAME);
1704+ cx.editor.set_status(language.to_string());
1700 if args.len() != 1 {
1708 if args.len() != 1 {
1701 anyhow::bail!("Bad arguments. Usage: `:set-language language`");
1709 anyhow::bail!("Bad arguments. Usage: `:set-language language`");
1704 let doc = doc_mut!(cx.editor);
1712 let doc = doc_mut!(cx.editor);
1706− if args[0] == "text" {
1714+ if args[0] == DEFAULT_LANGUAGE_NAME {
1707 doc.set_language(None, None)
1715 doc.set_language(None, None)
1708 } else {
1716 } else {
1709 doc.set_language_by_language_id(&args[0], cx.editor.syn_loader.clone())?;
1717 doc.set_language_by_language_id(&args[0], cx.editor.syn_loader.clone())?;
@@ -2414,7 +2422,7 @@ pub const TYPABLE_COMMAND_LIST: &[TypableCommand] = &[
2414 TypableCommand {
2422 TypableCommand {
2415 name: "set-language",
2423 name: "set-language",
2416 aliases: &["lang"],
2424 aliases: &["lang"],
2417− doc: "Set the language of current buffer.",
2425+ doc: "Set the language of current buffer (show current language if no value specified).",
2418 fun: language,
2426 fun: language,
2419 completer: Some(completers::language),
2427 completer: Some(completers::language),