edit function edit_project_files
This commit is contained in:
@@ -324,7 +324,7 @@ change_project_setting() {
|
|||||||
sed -i "s|^$key=.*|$key=$new_value|" "$config_file"
|
sed -i "s|^$key=.*|$key=$new_value|" "$config_file"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Editor aus global config auslesen
|
# Aktuellen Editor aus global/config.json holen
|
||||||
get_editor_cmd() {
|
get_editor_cmd() {
|
||||||
if [[ -f "$GLOBAL_CONFIG" ]]; then
|
if [[ -f "$GLOBAL_CONFIG" ]]; then
|
||||||
jq -r '.editor // "nano"' "$GLOBAL_CONFIG"
|
jq -r '.editor // "nano"' "$GLOBAL_CONFIG"
|
||||||
@@ -337,39 +337,28 @@ get_editor_cmd() {
|
|||||||
edit_project_files() {
|
edit_project_files() {
|
||||||
local project=$1
|
local project=$1
|
||||||
local project_dir="$PROJECTS_DIR/$project"
|
local project_dir="$PROJECTS_DIR/$project"
|
||||||
[ ! -d "$project_dir" ] && { whiptail --msgbox "Projektordner nicht gefunden." 10 60; return; }
|
|
||||||
|
|
||||||
# Datei auswählen
|
if [[ ! -d "$project_dir" ]]; then
|
||||||
file=$(whiptail --title "Datei auswählen" --fselect "$project_dir/" 20 70 3>&1 1>&2 2>&3) || return
|
whiptail --msgbox "Projektordner nicht gefunden." 10 60
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
# Editor aus globaler config laden
|
# Datei auswählen (Abbrechen = zurück ins Menü, Script stürzt nicht ab)
|
||||||
EDITOR_CMD=$(get_editor_cmd)
|
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
|
# Datei im gewählten Editor öffnen
|
||||||
$EDITOR_CMD "$file"
|
"$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"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
edit_project_architectures() {
|
edit_project_architectures() {
|
||||||
|
|||||||
Reference in New Issue
Block a user