diff --git a/src/bin/bat/main.rs b/src/bin/bat/main.rs
index 43e9d288..6e5b71be 100644
--- a/src/bin/bat/main.rs
+++ b/src/bin/bat/main.rs
@@ -227,9 +227,19 @@ pub fn list_themes(cfg: &Config, config_dir: &Path, cache_dir: &Path) -> Result<
Ok(())
}
+fn set_terminal_title_to_inputs_names(inputs: &Vec) {
+ let mut input_names = "bat: ".to_string();
+ for input in inputs.iter() {
+ input_names = input_names + &input.description.name.to_string() + ", "
+ }
+ print!("\x1b]2;{}\x07", input_names);
+ io::stdout().flush().unwrap();
+}
+
fn run_controller(inputs: Vec, config: &Config, cache_dir: &Path) -> Result {
let assets = assets_from_cache_or_binary(config.use_custom_assets, cache_dir)?;
let controller = Controller::new(config, &assets);
+ set_terminal_title_to_inputs_names(&inputs);
controller.run(inputs, None)
}
diff --git a/src/controller.rs b/src/controller.rs
index f378cbc6..6333ebb1 100644
--- a/src/controller.rs
+++ b/src/controller.rs
@@ -88,6 +88,7 @@ impl<'b> Controller<'b> {
clircle::Identifier::stdout()
};
+
let mut writer = match output_buffer {
Some(buf) => OutputHandle::FmtWrite(buf),
None => OutputHandle::IoWrite(output_type.handle()?),
diff --git a/src/input.rs b/src/input.rs
index ccab98bf..724c5e15 100644
--- a/src/input.rs
+++ b/src/input.rs
@@ -13,7 +13,7 @@ use crate::error::*;
/// This tells bat how to refer to the input.
#[derive(Clone)]
pub struct InputDescription {
- pub(crate) name: String,
+ pub name: String,
/// The input title.
/// This replaces the name if provided.
@@ -94,7 +94,7 @@ pub(crate) struct InputMetadata {
pub struct Input<'a> {
pub(crate) kind: InputKind<'a>,
pub(crate) metadata: InputMetadata,
- pub(crate) description: InputDescription,
+ pub description: InputDescription,
}
pub(crate) enum OpenedInputKind {
diff --git a/src/pager.rs b/src/pager.rs
index 052cdbff..d627e903 100644
--- a/src/pager.rs
+++ b/src/pager.rs
@@ -1,6 +1,5 @@
use shell_words::ParseError;
-use std::{env, io};
-use std::io::Write;
+use std::{env};
/// If we use a pager, this enum tells us from where we were told to use it.
#[derive(Debug, PartialEq)]
@@ -37,11 +36,6 @@ pub(crate) enum PagerKind {
Unknown,
}
-fn set_terminal_title(title: &str) {
- print!("\x1b]2;{}\x07", title);
- io::stdout().flush().unwrap();
-}
-
impl PagerKind {
fn from_bin(bin: &str) -> PagerKind {
use std::path::Path;
@@ -108,7 +102,6 @@ pub(crate) fn get_pager(config_pager: Option<&str>) -> Result