From 7b4472a0cf5aab62156d161f1df34e8413a40a94 Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Thu, 21 Aug 2025 15:37:20 +0200 Subject: [PATCH] =?UTF-8?q?Feat:=20F=C3=BCgt=20eine=20Funktion=20hinzu,=20?= =?UTF-8?q?um=20Config-Parameter=20bearbeiten=20zu=20k=C3=B6nnen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/config.rs b/src/config.rs index 99dd349..f7a230f 100644 --- a/src/config.rs +++ b/src/config.rs @@ -144,6 +144,20 @@ pub fn get_config() -> &'static AppConfig { }) } +/// Modifiziert die aktuelle Konfiguration mit der übergebenen Mutator-Funktion. +/// +/// Die Funktion lädt die Konfiguration neu von der Festplatte, wendet die Mutator-Funktion an +/// und speichert die geänderte Konfiguration anschließend wieder. +pub fn modify_config(mutator: F) +where + F: FnOnce(&mut AppConfig), +{ + // Immer frisch von Disk laden, damit Änderungen konsistent sind + let mut cfg = load_config(); + mutator(&mut cfg); + save_config(cfg); +} + /// Lädt die Konfiguration aus der Konfigurationsdatei. fn load_config() -> AppConfig { #[cfg(target_os = "linux")]