mirror of
https://github.com/kristoferssolo/traxor.git
synced 2026-03-22 00:36:23 +00:00
refactor(merge): use existing merge create
This commit is contained in:
@@ -1,14 +1,18 @@
|
||||
use crate::merge::Merge;
|
||||
use derive_macro::Merge;
|
||||
use merge::Merge;
|
||||
use ratatui::prelude::*;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize, Merge)]
|
||||
pub struct ColorsConfig {
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub highlight_background: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub highlight_foreground: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub warning_foreground: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub info_foreground: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub error_foreground: Option<String>,
|
||||
}
|
||||
|
||||
|
||||
@@ -1,23 +1,37 @@
|
||||
use crate::merge::Merge;
|
||||
use derive_macro::Merge;
|
||||
use merge::Merge;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Debug, Deserialize, Serialize, Merge)]
|
||||
pub struct KeybindsConfig {
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub quit: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub next_tab: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub prev_tab: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub next_torrent: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub prev_torrent: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub switch_tab_1: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub switch_tab_2: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub switch_tab_3: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub toggle_torrent: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub toggle_all: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub delete: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub delete_force: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub select: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub toggle_help: Option<String>,
|
||||
#[merge(strategy = merge::option::overwrite_none)]
|
||||
pub move_torrent: Option<String>,
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
mod colors;
|
||||
mod keybinds;
|
||||
|
||||
use crate::merge::Merge;
|
||||
use color_eyre::Result;
|
||||
use colors::ColorsConfig;
|
||||
use derive_macro::Merge;
|
||||
use keybinds::KeybindsConfig;
|
||||
use merge::Merge;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::path::PathBuf;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user