From 80e1a3d22da92f1f53d2448bf85d870eeea86c65 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr>
Date: Fri, 8 Jul 2022 21:54:23 +0200
Subject: [PATCH] [log] exporting tty mode for channels

---
 src/kernel_services/plugin_entry_points/log.ml  | 3 +++
 src/kernel_services/plugin_entry_points/log.mli | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/src/kernel_services/plugin_entry_points/log.ml b/src/kernel_services/plugin_entry_points/log.ml
index 932b1e506f5..a07e413449c 100644
--- a/src/kernel_services/plugin_entry_points/log.ml
+++ b/src/kernel_services/plugin_entry_points/log.ml
@@ -804,6 +804,7 @@ sig
     ('a,formatter,unit) format -> 'a
 
   val result  : ?level:int -> ?dkey:category -> 'a pretty_printer
+  val has_tty : unit -> bool
   val feedback: ?ontty:ontty -> ?level:int -> ?dkey:category -> 'a pretty_printer
   val debug   : ?level:int -> ?dkey:category -> 'a pretty_printer
   val warning : ?wkey: warn_category -> 'a pretty_printer
@@ -1038,6 +1039,8 @@ struct
 
   let transient channel = channel.terminal.isatty && !tty ()
 
+  let has_tty () = transient channel
+
   let feedback
       ?(ontty=`Message)
       ?(level=1) ?dkey ?current ?source
diff --git a/src/kernel_services/plugin_entry_points/log.mli b/src/kernel_services/plugin_entry_points/log.mli
index d1b3621e3bc..8a97b6a8dec 100644
--- a/src/kernel_services/plugin_entry_points/log.mli
+++ b/src/kernel_services/plugin_entry_points/log.mli
@@ -158,6 +158,9 @@ module type Messages = sig
       @since Beryllium-20090601-beta1
       @see <https://frama-c.com/download/frama-c-plugin-development-guide.pdf> Plug-in Development Guide *)
 
+  val has_tty : unit -> bool
+  (** Returns [true] is this Log's channel is in console mode *)
+
   val feedback : ?ontty:ontty -> ?level:int -> ?dkey:category -> 'a pretty_printer
   (** Progress and feedback. Level is tested against the verbosity level.
       @since Beryllium-20090601-beta1
-- 
GitLab