mirror of
https://github.com/alexpasmantier/television.git
synced 2025-06-07 03:55:23 +00:00
chore(deps): remove color_eyre and other unneeded features (#309)
This commit is contained in:
parent
1e8c8dbc96
commit
51b1b42c74
68
Cargo.lock
generated
68
Cargo.lock
generated
@ -103,6 +103,12 @@ dependencies = [
|
|||||||
"windows-sys 0.59.0",
|
"windows-sys 0.59.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "anyhow"
|
||||||
|
version = "1.0.95"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "autocfg"
|
name = "autocfg"
|
||||||
version = "1.4.0"
|
version = "1.4.0"
|
||||||
@ -381,33 +387,6 @@ dependencies = [
|
|||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "color-eyre"
|
|
||||||
version = "0.6.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "55146f5e46f237f7423d74111267d4597b59b0dad0ffaf7303bce9945d843ad5"
|
|
||||||
dependencies = [
|
|
||||||
"backtrace",
|
|
||||||
"color-spantrace",
|
|
||||||
"eyre",
|
|
||||||
"indenter",
|
|
||||||
"once_cell",
|
|
||||||
"owo-colors",
|
|
||||||
"tracing-error",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "color-spantrace"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2"
|
|
||||||
dependencies = [
|
|
||||||
"once_cell",
|
|
||||||
"owo-colors",
|
|
||||||
"tracing-core",
|
|
||||||
"tracing-error",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "colorchoice"
|
name = "colorchoice"
|
||||||
version = "1.0.3"
|
version = "1.0.3"
|
||||||
@ -709,16 +688,6 @@ dependencies = [
|
|||||||
"windows-sys 0.59.0",
|
"windows-sys 0.59.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "eyre"
|
|
||||||
version = "0.6.12"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "7cd915d99f24784cdc19fd37ef22b97e3ff0ae756c7e492e9fbfe897d61e2aec"
|
|
||||||
dependencies = [
|
|
||||||
"indenter",
|
|
||||||
"once_cell",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fastrand"
|
name = "fastrand"
|
||||||
version = "2.3.0"
|
version = "2.3.0"
|
||||||
@ -888,12 +857,6 @@ dependencies = [
|
|||||||
"winapi-util",
|
"winapi-util",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "indenter"
|
|
||||||
version = "0.3.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "indexmap"
|
name = "indexmap"
|
||||||
version = "2.7.1"
|
version = "2.7.1"
|
||||||
@ -1272,12 +1235,6 @@ version = "0.1.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "owo-colors"
|
|
||||||
version = "3.5.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "c1b04fb49957986fdce4d6ee7a65027d55d4b6d2265e5848bbb507b58ccfdb6f"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "parking_lot"
|
name = "parking_lot"
|
||||||
version = "0.12.3"
|
version = "0.12.3"
|
||||||
@ -1846,10 +1803,10 @@ dependencies = [
|
|||||||
name = "television"
|
name = "television"
|
||||||
version = "0.9.4"
|
version = "0.9.4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
"bat",
|
"bat",
|
||||||
"better-panic",
|
"better-panic",
|
||||||
"clap",
|
"clap",
|
||||||
"color-eyre",
|
|
||||||
"copypasta",
|
"copypasta",
|
||||||
"criterion",
|
"criterion",
|
||||||
"crossterm",
|
"crossterm",
|
||||||
@ -2070,16 +2027,6 @@ dependencies = [
|
|||||||
"valuable",
|
"valuable",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "tracing-error"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "8b1581020d7a273442f5b45074a6a57d5757ad0a47dac0e9f0bd57b81936f3db"
|
|
||||||
dependencies = [
|
|
||||||
"tracing",
|
|
||||||
"tracing-subscriber",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tracing-log"
|
name = "tracing-log"
|
||||||
version = "0.2.0"
|
version = "0.2.0"
|
||||||
@ -2101,7 +2048,6 @@ dependencies = [
|
|||||||
"nu-ansi-term 0.46.0",
|
"nu-ansi-term 0.46.0",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"regex",
|
"regex",
|
||||||
"serde",
|
|
||||||
"sharded-slab",
|
"sharded-slab",
|
||||||
"smallvec",
|
"smallvec",
|
||||||
"thread_local",
|
"thread_local",
|
||||||
|
@ -30,13 +30,13 @@ path = "television/lib.rs"
|
|||||||
[dependencies]
|
[dependencies]
|
||||||
television-derive = { path = "television-derive", version = "0.0.23" }
|
television-derive = { path = "television-derive", version = "0.0.23" }
|
||||||
|
|
||||||
|
anyhow = "1.0"
|
||||||
directories = "5.0"
|
directories = "5.0"
|
||||||
devicons = "0.6"
|
devicons = "0.6"
|
||||||
color-eyre = { version = "0.6" }
|
|
||||||
lazy_static = "1.5"
|
lazy_static = "1.5"
|
||||||
tokio = { version = "1.43", features = ["full"] }
|
tokio = { version = "1.43", features = ["full"] }
|
||||||
tracing = "0.1"
|
tracing = "0.1"
|
||||||
tracing-subscriber = { version = "0.3", features = ["env-filter", "serde"] }
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
||||||
rustc-hash = "2.1"
|
rustc-hash = "2.1"
|
||||||
syntect = { version = "5.2", default-features = false }
|
syntect = { version = "5.2", default-features = false }
|
||||||
unicode-width = "0.2"
|
unicode-width = "0.2"
|
||||||
@ -69,7 +69,7 @@ toml = "0.8"
|
|||||||
winapi-util = "0.1.9"
|
winapi-util = "0.1.9"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
criterion = "0.5.1"
|
criterion = "0.5"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
simd = ["dep:simdutf8"]
|
simd = ["dep:simdutf8"]
|
||||||
|
@ -2,7 +2,7 @@ use rustc_hash::FxHashSet;
|
|||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use crate::screen::mode::Mode;
|
use crate::screen::mode::Mode;
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use tokio::sync::{mpsc, Mutex};
|
use tokio::sync::{mpsc, Mutex};
|
||||||
use tracing::{debug, info};
|
use tracing::{debug, info};
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ use std::path::PathBuf;
|
|||||||
use rustc_hash::FxHashMap;
|
use rustc_hash::FxHashMap;
|
||||||
|
|
||||||
use crate::channels::cable::{CableChannelPrototype, CableChannels};
|
use crate::channels::cable::{CableChannelPrototype, CableChannels};
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use tracing::{debug, error};
|
use tracing::{debug, error};
|
||||||
|
|
||||||
use crate::config::get_config_dir;
|
use crate::config::get_config_dir;
|
||||||
|
@ -8,7 +8,7 @@ use std::collections::HashSet;
|
|||||||
use std::io::{BufRead, BufReader};
|
use std::io::{BufRead, BufReader};
|
||||||
use std::process::Stdio;
|
use std::process::Stdio;
|
||||||
|
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use lazy_static::lazy_static;
|
use lazy_static::lazy_static;
|
||||||
use regex::Regex;
|
use regex::Regex;
|
||||||
use rustc_hash::{FxBuildHasher, FxHashSet};
|
use rustc_hash::{FxBuildHasher, FxHashSet};
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
use crate::channels::entry::Entry;
|
use crate::channels::entry::Entry;
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use rustc_hash::FxHashSet;
|
use rustc_hash::FxHashSet;
|
||||||
use television_derive::{Broadcast, ToCliChannel, ToUnitChannel};
|
use television_derive::{Broadcast, ToCliChannel, ToUnitChannel};
|
||||||
|
|
||||||
|
@ -5,8 +5,8 @@ use crate::channels::cable::{CableChannelPrototype, CableChannels};
|
|||||||
use crate::channels::entry::{Entry, PreviewType};
|
use crate::channels::entry::{Entry, PreviewType};
|
||||||
use crate::channels::{CliTvChannel, OnAir, TelevisionChannel, UnitChannel};
|
use crate::channels::{CliTvChannel, OnAir, TelevisionChannel, UnitChannel};
|
||||||
use crate::matcher::{config::Config, Matcher};
|
use crate::matcher::{config::Config, Matcher};
|
||||||
|
use anyhow::Result;
|
||||||
use clap::ValueEnum;
|
use clap::ValueEnum;
|
||||||
use color_eyre::Result;
|
|
||||||
use devicons::FileIcon;
|
use devicons::FileIcon;
|
||||||
use rustc_hash::{FxBuildHasher, FxHashSet};
|
use rustc_hash::{FxBuildHasher, FxHashSet};
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ impl RemoteControl {
|
|||||||
}
|
}
|
||||||
None => match UnitChannel::try_from(channel_name) {
|
None => match UnitChannel::try_from(channel_name) {
|
||||||
Ok(channel) => Ok(channel.into()),
|
Ok(channel) => Ok(channel.into()),
|
||||||
Err(_) => Err(color_eyre::eyre::eyre!(
|
Err(_) => Err(anyhow::anyhow!(
|
||||||
"No channel or cable channel prototype found for {}",
|
"No channel or cable channel prototype found for {}",
|
||||||
channel_name
|
channel_name
|
||||||
)),
|
)),
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
use rustc_hash::FxHashMap;
|
use rustc_hash::FxHashMap;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
|
use anyhow::{anyhow, Result};
|
||||||
use clap::{Parser, Subcommand, ValueEnum};
|
use clap::{Parser, Subcommand, ValueEnum};
|
||||||
use color_eyre::{eyre::eyre, Result};
|
|
||||||
use tracing::debug;
|
use tracing::debug;
|
||||||
|
|
||||||
use crate::channels::{
|
use crate::channels::{
|
||||||
@ -186,7 +186,7 @@ fn parse_channel(channel: &str) -> Result<ParsedCliChannel> {
|
|||||||
// try to parse the channel as a builtin channel
|
// try to parse the channel as a builtin channel
|
||||||
CliTvChannel::try_from(channel)
|
CliTvChannel::try_from(channel)
|
||||||
.map(ParsedCliChannel::Builtin)
|
.map(ParsedCliChannel::Builtin)
|
||||||
.map_err(|_| eyre!("Unknown channel: {}", channel))
|
.map_err(|_| anyhow!("Unknown channel: {}", channel))
|
||||||
},
|
},
|
||||||
|(_, v)| Ok(ParsedCliChannel::Cable(v.clone())),
|
|(_, v)| Ok(ParsedCliChannel::Cable(v.clone())),
|
||||||
)
|
)
|
||||||
@ -251,7 +251,7 @@ pub fn guess_channel_from_prompt(
|
|||||||
if prompt.trim().is_empty() {
|
if prompt.trim().is_empty() {
|
||||||
return match command_mapping.get("") {
|
return match command_mapping.get("") {
|
||||||
Some(channel) => parse_channel(channel),
|
Some(channel) => parse_channel(channel),
|
||||||
None => Err(eyre!("No channel found for prompt: {}", prompt)),
|
None => Err(anyhow!("No channel found for prompt: {}", prompt)),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
let rev_prompt_words = prompt.split_whitespace().rev();
|
let rev_prompt_words = prompt.split_whitespace().rev();
|
||||||
@ -280,7 +280,7 @@ pub fn guess_channel_from_prompt(
|
|||||||
// reset the stack
|
// reset the stack
|
||||||
stack.clear();
|
stack.clear();
|
||||||
}
|
}
|
||||||
Err(eyre!("No channel found for prompt: {}", prompt))
|
Err(anyhow!("No channel found for prompt: {}", prompt))
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(clippy::unnecessary_wraps)]
|
#[allow(clippy::unnecessary_wraps)]
|
||||||
|
@ -77,7 +77,7 @@ pub enum SerializedBinding {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl<'de> Deserialize<'de> for KeyBindings {
|
impl<'de> Deserialize<'de> for KeyBindings {
|
||||||
fn deserialize<D>(deserializer: D) -> color_eyre::Result<Self, D::Error>
|
fn deserialize<D>(deserializer: D) -> anyhow::Result<Self, D::Error>
|
||||||
where
|
where
|
||||||
D: Deserializer<'de>,
|
D: Deserializer<'de>,
|
||||||
{
|
{
|
||||||
@ -123,7 +123,7 @@ impl<'de> Deserialize<'de> for KeyBindings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse_key_event(raw: &str) -> color_eyre::Result<KeyEvent, String> {
|
pub fn parse_key_event(raw: &str) -> anyhow::Result<KeyEvent, String> {
|
||||||
let raw_lower = raw.to_ascii_lowercase();
|
let raw_lower = raw.to_ascii_lowercase();
|
||||||
let (remaining, modifiers) = extract_modifiers(&raw_lower);
|
let (remaining, modifiers) = extract_modifiers(&raw_lower);
|
||||||
parse_key_code_with_modifiers(remaining, modifiers)
|
parse_key_code_with_modifiers(remaining, modifiers)
|
||||||
@ -157,7 +157,7 @@ fn extract_modifiers(raw: &str) -> (&str, KeyModifiers) {
|
|||||||
fn parse_key_code_with_modifiers(
|
fn parse_key_code_with_modifiers(
|
||||||
raw: &str,
|
raw: &str,
|
||||||
mut modifiers: KeyModifiers,
|
mut modifiers: KeyModifiers,
|
||||||
) -> color_eyre::Result<KeyEvent, String> {
|
) -> anyhow::Result<KeyEvent, String> {
|
||||||
let c = match raw {
|
let c = match raw {
|
||||||
"esc" => KeyCode::Esc,
|
"esc" => KeyCode::Esc,
|
||||||
"enter" => KeyCode::Enter,
|
"enter" => KeyCode::Enter,
|
||||||
@ -267,7 +267,7 @@ pub fn key_event_to_string(key_event: &KeyEvent) -> String {
|
|||||||
key
|
key
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn parse_key(raw: &str) -> color_eyre::Result<Key, String> {
|
pub fn parse_key(raw: &str) -> anyhow::Result<Key, String> {
|
||||||
if raw.chars().filter(|c| *c == '>').count()
|
if raw.chars().filter(|c| *c == '>').count()
|
||||||
!= raw.chars().filter(|c| *c == '<').count()
|
!= raw.chars().filter(|c| *c == '<').count()
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#![allow(clippy::module_name_repetitions)]
|
#![allow(clippy::module_name_repetitions)]
|
||||||
use std::{env, path::PathBuf};
|
use std::{env, path::PathBuf};
|
||||||
|
|
||||||
use color_eyre::{eyre::Context, Result};
|
use anyhow::Result;
|
||||||
use directories::ProjectDirs;
|
use directories::ProjectDirs;
|
||||||
use keybindings::merge_keybindings;
|
use keybindings::merge_keybindings;
|
||||||
pub use keybindings::{parse_key, Binding, KeyBindings};
|
pub use keybindings::{parse_key, Binding, KeyBindings};
|
||||||
@ -82,7 +82,7 @@ impl Config {
|
|||||||
pub fn new() -> Result<Self> {
|
pub fn new() -> Result<Self> {
|
||||||
// Load the default_config values as base defaults
|
// Load the default_config values as base defaults
|
||||||
let default_config: Config = toml::from_str(DEFAULT_CONFIG)
|
let default_config: Config = toml::from_str(DEFAULT_CONFIG)
|
||||||
.wrap_err("Error parsing default config")?;
|
.expect("Error parsing default config");
|
||||||
|
|
||||||
// initialize the config builder
|
// initialize the config builder
|
||||||
let data_dir = get_data_dir();
|
let data_dir = get_data_dir();
|
||||||
@ -99,8 +99,12 @@ impl Config {
|
|||||||
let path = config_dir.join(CONFIG_FILE_NAME);
|
let path = config_dir.join(CONFIG_FILE_NAME);
|
||||||
let contents = std::fs::read_to_string(&path)?;
|
let contents = std::fs::read_to_string(&path)?;
|
||||||
|
|
||||||
let cfg: Config = toml::from_str(&contents)
|
let cfg: Config = toml::from_str(&contents).unwrap_or_else(|_| {
|
||||||
.wrap_err(format!("error parsing config: {path:?}"))?;
|
warn!(
|
||||||
|
"Error parsing config file, using default configuration"
|
||||||
|
);
|
||||||
|
default_config.clone()
|
||||||
|
});
|
||||||
|
|
||||||
// merge keybindings with default keybindings
|
// merge keybindings with default keybindings
|
||||||
let keybindings = merge_keybindings(
|
let keybindings = merge_keybindings(
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use crate::screen::colors::{
|
use crate::screen::colors::{
|
||||||
|
@ -1,43 +1,31 @@
|
|||||||
use std::env;
|
use std::panic;
|
||||||
|
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use tracing::error;
|
use tracing::error;
|
||||||
|
|
||||||
pub fn init() -> Result<()> {
|
pub fn init() -> Result<()> {
|
||||||
let (panic_hook, eyre_hook) = color_eyre::config::HookBuilder::default()
|
panic::set_hook(Box::new(move |panic_info| {
|
||||||
.panic_section(format!(
|
// Clean up the terminal
|
||||||
"This is a bug. Consider reporting it at {}",
|
|
||||||
env!("CARGO_PKG_REPOSITORY")
|
|
||||||
))
|
|
||||||
.capture_span_trace_by_default(false)
|
|
||||||
.display_location_section(false)
|
|
||||||
.display_env_section(false)
|
|
||||||
.into_hooks();
|
|
||||||
eyre_hook.install()?;
|
|
||||||
std::panic::set_hook(Box::new(move |panic_info| {
|
|
||||||
if let Ok(mut t) = crate::tui::Tui::new(std::io::stderr()) {
|
if let Ok(mut t) = crate::tui::Tui::new(std::io::stderr()) {
|
||||||
if let Err(r) = t.exit() {
|
if let Err(err) = t.exit() {
|
||||||
error!("Unable to exit Terminal: {:?}", r);
|
error!("Unable to exit terminal: {:?}", err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// In release builds, use human-panic to generate a friendly crash report:
|
||||||
#[cfg(not(debug_assertions))]
|
#[cfg(not(debug_assertions))]
|
||||||
{
|
{
|
||||||
use human_panic::{handle_dump, metadata, print_msg};
|
use human_panic::{handle_dump, metadata, print_msg};
|
||||||
let metadata = metadata!();
|
let meta = metadata!();
|
||||||
let file_path = handle_dump(&metadata, panic_info);
|
let file_path = handle_dump(&meta, panic_info);
|
||||||
// prints human-panic message
|
print_msg(file_path, &meta).expect(
|
||||||
print_msg(file_path, &metadata).expect(
|
|
||||||
"human-panic: printing error message to console failed",
|
"human-panic: printing error message to console failed",
|
||||||
);
|
);
|
||||||
eprintln!("{}", panic_hook.panic_report(panic_info)); // prints color-eyre stack trace to stderr
|
|
||||||
}
|
}
|
||||||
let msg = format!("{}", panic_hook.panic_report(panic_info));
|
|
||||||
error!("Error: {}", msg);
|
|
||||||
|
|
||||||
|
// In debug builds, use better-panic for a more detailed dev stacktrace:
|
||||||
#[cfg(debug_assertions)]
|
#[cfg(debug_assertions)]
|
||||||
{
|
{
|
||||||
// Better Panic stacktrace that is only enabled when debugging.
|
|
||||||
better_panic::Settings::auto()
|
better_panic::Settings::auto()
|
||||||
.most_recent_first(false)
|
.most_recent_first(false)
|
||||||
.lineno_suffix(true)
|
.lineno_suffix(true)
|
||||||
@ -47,31 +35,6 @@ pub fn init() -> Result<()> {
|
|||||||
|
|
||||||
std::process::exit(1);
|
std::process::exit(1);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Similar to the `std::dbg!` macro, but generates `tracing` events rather
|
|
||||||
/// than printing to stdout.
|
|
||||||
///
|
|
||||||
/// By default, the verbosity level for the generated events is `DEBUG`, but
|
|
||||||
/// this can be customized.
|
|
||||||
#[macro_export]
|
|
||||||
macro_rules! trace_dbg {
|
|
||||||
(target: $target:expr, level: $level:expr, $ex:expr) => {{
|
|
||||||
match $ex {
|
|
||||||
value => {
|
|
||||||
tracing::event!(target: $target, $level, ?value, stringify!($ex));
|
|
||||||
value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}};
|
|
||||||
(level: $level:expr, $ex:expr) => {
|
|
||||||
trace_dbg!(target: module_path!(), level: $level, $ex)
|
|
||||||
};
|
|
||||||
(target: $target:expr, $ex:expr) => {
|
|
||||||
trace_dbg!(target: $target, level: tracing::Level::DEBUG, $ex)
|
|
||||||
};
|
|
||||||
($ex:expr) => {
|
|
||||||
trace_dbg!(level: tracing::Level::DEBUG, $ex)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
@ -2,7 +2,7 @@ use rustc_hash::FxHashMap;
|
|||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
|
||||||
use crate::screen::mode::Mode;
|
use crate::screen::mode::Mode;
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
|
|
||||||
use crate::action::Action;
|
use crate::action::Action;
|
||||||
use crate::config::{Binding, KeyBindings};
|
use crate::config::{Binding, KeyBindings};
|
||||||
@ -47,9 +47,10 @@ impl Keymap {
|
|||||||
mode: Mode,
|
mode: Mode,
|
||||||
mappings: Vec<(Key, Action)>,
|
mappings: Vec<(Key, Action)>,
|
||||||
) -> Result<Self> {
|
) -> Result<Self> {
|
||||||
let mode_keymap = self.0.get_mut(&mode).ok_or_else(|| {
|
let mode_keymap = self
|
||||||
color_eyre::eyre::eyre!("Mode {:?} not found", mode)
|
.0
|
||||||
})?;
|
.get_mut(&mode)
|
||||||
|
.ok_or_else(|| anyhow::anyhow!("Mode {:?} not found", mode))?;
|
||||||
for (key, action) in mappings {
|
for (key, action) in mappings {
|
||||||
mode_keymap.insert(key, action);
|
mode_keymap.insert(key, action);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use tracing_subscriber::{fmt, prelude::*, EnvFilter};
|
use tracing_subscriber::{fmt, prelude::*, EnvFilter};
|
||||||
|
|
||||||
use crate::config::get_data_dir;
|
use crate::config::get_data_dir;
|
||||||
|
@ -3,8 +3,8 @@ use std::io::{stdout, BufWriter, IsTerminal, Write};
|
|||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::process::exit;
|
use std::process::exit;
|
||||||
|
|
||||||
|
use anyhow::Result;
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use color_eyre::Result;
|
|
||||||
use tracing::{debug, error, info};
|
use tracing::{debug, error, info};
|
||||||
|
|
||||||
use television::app::App;
|
use television::app::App;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use ratatui::layout::Rect;
|
use ratatui::layout::Rect;
|
||||||
use std::{
|
use std::{
|
||||||
io::{stderr, stdout, LineWriter},
|
io::{stderr, stdout, LineWriter},
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
use crate::utils::input::Input;
|
use crate::utils::input::Input;
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use ratatui::{
|
use ratatui::{
|
||||||
layout::{
|
layout::{
|
||||||
Alignment, Constraint, Direction, Layout as RatatuiLayout, Rect,
|
Alignment, Constraint, Direction, Layout as RatatuiLayout, Rect,
|
||||||
|
@ -11,7 +11,7 @@ use crate::utils::strings::{
|
|||||||
replace_non_printable, shrink_with_ellipsis, ReplaceNonPrintableConfig,
|
replace_non_printable, shrink_with_ellipsis, ReplaceNonPrintableConfig,
|
||||||
EMPTY_STRING,
|
EMPTY_STRING,
|
||||||
};
|
};
|
||||||
use color_eyre::eyre::Result;
|
use anyhow::Result;
|
||||||
use devicons::FileIcon;
|
use devicons::FileIcon;
|
||||||
use ratatui::widgets::{Block, BorderType, Borders, Padding, Paragraph, Wrap};
|
use ratatui::widgets::{Block, BorderType, Borders, Padding, Paragraph, Wrap};
|
||||||
use ratatui::Frame;
|
use ratatui::Frame;
|
||||||
|
@ -7,7 +7,7 @@ use crate::screen::mode::{mode_color, Mode};
|
|||||||
use crate::screen::results::build_results_list;
|
use crate::screen::results::build_results_list;
|
||||||
use crate::utils::input::Input;
|
use crate::utils::input::Input;
|
||||||
|
|
||||||
use color_eyre::eyre::Result;
|
use anyhow::Result;
|
||||||
use ratatui::layout::{Alignment, Constraint, Direction, Layout, Rect};
|
use ratatui::layout::{Alignment, Constraint, Direction, Layout, Rect};
|
||||||
use ratatui::prelude::Style;
|
use ratatui::prelude::Style;
|
||||||
use ratatui::style::{Color, Stylize};
|
use ratatui::style::{Color, Stylize};
|
||||||
|
@ -5,7 +5,7 @@ use crate::utils::strings::{
|
|||||||
make_matched_string_printable, next_char_boundary,
|
make_matched_string_printable, next_char_boundary,
|
||||||
slice_at_char_boundaries,
|
slice_at_char_boundaries,
|
||||||
};
|
};
|
||||||
use color_eyre::eyre::Result;
|
use anyhow::Result;
|
||||||
use ratatui::layout::{Alignment, Rect};
|
use ratatui::layout::{Alignment, Rect};
|
||||||
use ratatui::prelude::{Color, Line, Span, Style};
|
use ratatui::prelude::{Color, Line, Span, Style};
|
||||||
use ratatui::style::Stylize;
|
use ratatui::style::Stylize;
|
||||||
|
@ -24,7 +24,7 @@ use crate::screen::spinner::{Spinner, SpinnerState};
|
|||||||
use crate::utils::metadata::AppMetadata;
|
use crate::utils::metadata::AppMetadata;
|
||||||
use crate::utils::strings::EMPTY_STRING;
|
use crate::utils::strings::EMPTY_STRING;
|
||||||
use crate::{cable::load_cable_channels, keymap::Keymap};
|
use crate::{cable::load_cable_channels, keymap::Keymap};
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use copypasta::{ClipboardContext, ClipboardProvider};
|
use copypasta::{ClipboardContext, ClipboardProvider};
|
||||||
use ratatui::{layout::Rect, style::Color, Frame};
|
use ratatui::{layout::Rect, style::Color, Frame};
|
||||||
use rustc_hash::{FxBuildHasher, FxHashMap, FxHashSet};
|
use rustc_hash::{FxBuildHasher, FxHashMap, FxHashSet};
|
||||||
|
@ -3,7 +3,7 @@ use std::{
|
|||||||
ops::{Deref, DerefMut},
|
ops::{Deref, DerefMut},
|
||||||
};
|
};
|
||||||
|
|
||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
use crossterm::{
|
use crossterm::{
|
||||||
cursor, execute,
|
cursor, execute,
|
||||||
terminal::{
|
terminal::{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
use color_eyre::Result;
|
use anyhow::Result;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||||
pub enum Shell {
|
pub enum Shell {
|
||||||
@ -18,9 +18,6 @@ pub fn completion_script(shell: Shell) -> Result<&'static str> {
|
|||||||
Shell::Bash => Ok(COMPLETION_BASH),
|
Shell::Bash => Ok(COMPLETION_BASH),
|
||||||
Shell::Zsh => Ok(COMPLETION_ZSH),
|
Shell::Zsh => Ok(COMPLETION_ZSH),
|
||||||
Shell::Fish => Ok(COMPLETION_FISH),
|
Shell::Fish => Ok(COMPLETION_FISH),
|
||||||
_ => color_eyre::eyre::bail!(
|
_ => anyhow::bail!("This shell is not yet supported: {:?}", shell),
|
||||||
"This shell is not yet supported: {:?}",
|
|
||||||
shell
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
use anyhow::Result;
|
||||||
use bat::assets::HighlightingAssets;
|
use bat::assets::HighlightingAssets;
|
||||||
use color_eyre::Result;
|
|
||||||
use gag::Gag;
|
use gag::Gag;
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
use syntect::easy::HighlightLines;
|
use syntect::easy::HighlightLines;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user