follow neovim's truecolor detection (#9577)
This commit is contained in:
parent
581a1ebf5d
commit
786b5c533e
3 changed files with 21 additions and 6 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
@ -1387,6 +1387,7 @@ dependencies = [
|
|||
"signal-hook-tokio",
|
||||
"smallvec",
|
||||
"tempfile",
|
||||
"termini",
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
"toml",
|
||||
|
|
|
@ -42,6 +42,7 @@ signal-hook = "0.3"
|
|||
tokio-stream = "0.1"
|
||||
futures-util = { version = "0.3", features = ["std", "async-await"], default-features = false }
|
||||
arc-swap = { version = "1.6.0" }
|
||||
termini = "1"
|
||||
|
||||
# Logging
|
||||
fern = "0.6"
|
||||
|
|
|
@ -22,17 +22,30 @@ use url::Url;
|
|||
|
||||
pub use keymap::macros::*;
|
||||
|
||||
#[cfg(not(windows))]
|
||||
fn true_color() -> bool {
|
||||
std::env::var("COLORTERM")
|
||||
.map(|v| matches!(v.as_str(), "truecolor" | "24bit"))
|
||||
.unwrap_or(false)
|
||||
}
|
||||
#[cfg(windows)]
|
||||
fn true_color() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
#[cfg(not(windows))]
|
||||
fn true_color() -> bool {
|
||||
if matches!(
|
||||
std::env::var("COLORTERM").map(|v| matches!(v.as_str(), "truecolor" | "24bit")),
|
||||
Ok(true)
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
|
||||
match termini::TermInfo::from_env() {
|
||||
Ok(t) => {
|
||||
t.extended_cap("RGB").is_some()
|
||||
|| t.extended_cap("Tc").is_some()
|
||||
|| (t.extended_cap("setrgbf").is_some() && t.extended_cap("setrgbb").is_some())
|
||||
}
|
||||
Err(_) => false,
|
||||
}
|
||||
}
|
||||
|
||||
/// Function used for filtering dir entries in the various file pickers.
|
||||
fn filter_picker_entry(entry: &DirEntry, root: &Path, dedup_symlinks: bool) -> bool {
|
||||
// We always want to ignore the .git directory, otherwise if
|
||||
|
|
Loading…
Add table
Reference in a new issue