summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Davison <dandavison7@gmail.com>2021-11-11 20:35:50 -0500
committerDan Davison <dandavison7@gmail.com>2021-11-14 14:35:33 -0500
commit8f0d3574f7f6d144ab6900dccc5e232a1abafaaf (patch)
tree0089071d642cf6b5a6dbaa1ae61f2bc397ccfe18
parent6719cf8e07d3bc6fb5a229e00aeaefbfb852d9a3 (diff)
Try to determine blame file language from parent process
-rw-r--r--src/handlers/blame.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/handlers/blame.rs b/src/handlers/blame.rs
index d6ba66c9..e57ec249 100644
--- a/src/handlers/blame.rs
+++ b/src/handlers/blame.rs
@@ -11,6 +11,7 @@ use crate::delta::{self, State, StateMachine};
use crate::format::{self, Placeholder};
use crate::paint::BgShouldFill;
use crate::style::Style;
+use crate::utils;
impl<'a> StateMachine<'a> {
/// If this is a line of git blame output then render it accordingly. If
@@ -72,7 +73,10 @@ impl<'a> StateMachine<'a> {
// Emit syntax-highlighted code
if matches!(self.state, State::Unknown) {
- if let Some(lang) = self.config.default_language.as_ref() {
+ if let Some(lang) = utils::parent_filename_extension()
+ .as_ref()
+ .or_else(|| self.config.default_language.as_ref())
+ {
self.painter.set_syntax(Some(lang));
self.painter.set_highlighter();
}