From 4f0ce39f3ecd2aff4f08d26401ca1627425e84f2 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 26 Oct 2022 18:53:25 -0600 Subject: [PATCH] Automatic file type detection --- examples/syntax/src/main.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/examples/syntax/src/main.rs b/examples/syntax/src/main.rs index cf3684e..699a16e 100644 --- a/examples/syntax/src/main.rs +++ b/examples/syntax/src/main.rs @@ -10,10 +10,16 @@ fn main() { let font_system = FontSystem::new(); - let text = if let Some(arg) = env::args().nth(1) { - fs::read_to_string(&arg).expect("failed to open file") + let (path, text) = if let Some(arg) = env::args().nth(1) { + ( + arg.clone(), + fs::read_to_string(&arg).expect("failed to open file") + ) } else { - String::new() + ( + String::new(), + String::new() + ) }; let display_scale = match orbclient::get_display_size() { @@ -84,7 +90,10 @@ fn main() { ); } - let syntax = ps.find_syntax_by_extension("rs").unwrap(); + let syntax = match ps.find_syntax_for_file(&path).unwrap() { + Some(some) => some, + None => ps.find_syntax_plain_text(), + }; buffer.lines.clear();