Function resolve_document_language

Source
pub fn resolve_document_language(
    document: &Document,
    override_language: Option<EditorLanguage>,
) -> EditorLanguage
Expand description

Resolves an override, explicit language, or extension-derived fallback.

override_language always wins, including Unknown. Without it, explicit languages other than PlainText/Unknown win. Failed detection preserves the document’s existing plain/unknown value.

§Examples

use ailloli_ui_editor::{resolve_document_language, Document, DocumentId, EditorLanguage};
use ailloli_ui_text::TextBuffer;
let document = Document::new(DocumentId(1), TextBuffer::new()).with_path("lib.rs");
assert_eq!(resolve_document_language(&document, None), EditorLanguage::Rust);
assert_eq!(resolve_document_language(&document, Some(EditorLanguage::Markdown)), EditorLanguage::Markdown);