mirror of
https://github.com/sharkdp/bat
synced 2024-11-16 21:25:56 +00:00
Better placement of bat detection
This commit is contained in:
parent
8a0c30b385
commit
01fcbf2183
@ -28,20 +28,21 @@ impl OutputType {
|
|||||||
fn try_pager(quit_if_one_screen: bool, pager_from_config: Option<&str>) -> Result<Self> {
|
fn try_pager(quit_if_one_screen: bool, pager_from_config: Option<&str>) -> Result<Self> {
|
||||||
let pager_from_env = env::var("BAT_PAGER").or_else(|_| env::var("PAGER"));
|
let pager_from_env = env::var("BAT_PAGER").or_else(|_| env::var("PAGER"));
|
||||||
|
|
||||||
let mut pager = pager_from_config
|
let pager = pager_from_config
|
||||||
.map(|p| p.to_string())
|
.map(|p| p.to_string())
|
||||||
.or(pager_from_env.ok())
|
.or(pager_from_env.ok())
|
||||||
.unwrap_or(String::from("less"));
|
.unwrap_or(String::from("less"));
|
||||||
|
|
||||||
if pager == "bat" {
|
|
||||||
pager = String::from("less");
|
|
||||||
}
|
|
||||||
|
|
||||||
let pagerflags = shell_words::split(&pager)
|
let pagerflags = shell_words::split(&pager)
|
||||||
.chain_err(|| "Could not parse (BAT_)PAGER environment variable.")?;
|
.chain_err(|| "Could not parse (BAT_)PAGER environment variable.")?;
|
||||||
|
|
||||||
match pagerflags.split_first() {
|
match pagerflags.split_first() {
|
||||||
Some((pager_name, args)) => {
|
Some((initial_pager, args)) => {
|
||||||
|
let pager_name = match initial_pager.as_ref() {
|
||||||
|
"bat" => "less",
|
||||||
|
_ => initial_pager,
|
||||||
|
};
|
||||||
|
|
||||||
let pager_path = PathBuf::from(pager_name);
|
let pager_path = PathBuf::from(pager_name);
|
||||||
let is_less = pager_path.file_stem() == Some(&OsString::from("less"));
|
let is_less = pager_path.file_stem() == Some(&OsString::from("less"));
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user