From a46e992396343575748209831202dded4d54ec0f Mon Sep 17 00:00:00 2001 From: Piotr <114903054+elevenhsoft@users.noreply.github.com> Date: Wed, 12 Jun 2024 17:17:27 +0200 Subject: [PATCH] add method to set syntax highlighting by file extension --- src/edit/syntect.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/edit/syntect.rs b/src/edit/syntect.rs index 28f367f..d6ef2d8 100644 --- a/src/edit/syntect.rs +++ b/src/edit/syntect.rs @@ -147,6 +147,23 @@ impl<'syntax_system, 'buffer> SyntaxEditor<'syntax_system, 'buffer> { Ok(()) } + /// Set syntax highlighting by file extension + pub fn syntax_by_extension(&mut self, extension: &str) { + self.syntax = match self + .syntax_system + .syntax_set + .find_syntax_by_extension(extension) + { + Some(some) => some, + None => { + log::warn!("no syntax found for {}", extension); + self.syntax_system.syntax_set.find_syntax_plain_text() + } + }; + + self.syntax_cache.clear(); + } + /// Get the default background color pub fn background_color(&self) -> Color { if let Some(background) = self.theme.settings.background {