edit function edit_project_files

This commit is contained in:
2025-09-26 14:04:22 +02:00
parent 4c3a447579
commit 5cfc16d797

View File

@@ -324,7 +324,7 @@ change_project_setting() {
sed -i "s|^$key=.*|$key=$new_value|" "$config_file"
}
# Editor aus global config auslesen
# Aktuellen Editor aus global/config.json holen
get_editor_cmd() {
if [[ -f "$GLOBAL_CONFIG" ]]; then
jq -r '.editor // "nano"' "$GLOBAL_CONFIG"
@@ -337,39 +337,28 @@ get_editor_cmd() {
edit_project_files() {
local project=$1
local project_dir="$PROJECTS_DIR/$project"
[ ! -d "$project_dir" ] && { whiptail --msgbox "Projektordner nicht gefunden." 10 60; return; }
# Datei auswählen
file=$(whiptail --title "Datei auswählen" --fselect "$project_dir/" 20 70 3>&1 1>&2 2>&3) || return
if [[ ! -d "$project_dir" ]]; then
whiptail --msgbox "Projektordner nicht gefunden." 10 60
return
fi
# Editor aus globaler config laden
EDITOR_CMD=$(get_editor_cmd)
# Datei auswählen (Abbrechen = zurück ins Menü, Script stürzt nicht ab)
if ! file=$(whiptail --title "Datei auswählen" \
--fselect "$project_dir/" 20 70 \
3>&1 1>&2 2>&3); then
return
fi
# Wenn kein File gewählt, zurück
[[ -z "$file" ]] && return
# Editor aus globaler Config holen
local editor_cmd
editor_cmd=$(get_editor_cmd)
# Datei im gewählten Editor öffnen
$EDITOR_CMD "$file"
}
edit_project_registries() {
local config_file=$1
# vorhandene registries aus Config
local current=$(grep "^registry=" "$config_file" | cut -d= -f2 | tr ',' ' ')
# alle bekannten Registries aus Registry-Verwaltung
local all_registries=$(ls "$REGISTRY_CONFIG_DIR" 2>/dev/null)
menu_list=()
for r in $all_registries; do
if [[ " $current " =~ " $r " ]]; then
menu_list+=("$r" "$r" ON)
else
menu_list+=("$r" "$r" OFF)
fi
done
selected=$(whiptail --title "Registries auswählen" --checklist "Mehrere auswählen" 20 70 10 "${menu_list[@]}" 3>&1 1>&2 2>&3) || return
# whiptail gibt " " separierte Liste zurück, entfernen von Anführungszeichen
selected=$(echo $selected | tr -d '"')
sed -i "s|^registry=.*|registry=$selected|" "$config_file"
"$editor_cmd" "$file"
}
edit_project_architectures() {