Explorar el Código

Forward VLS env vars to Windows via WSLENV

cere hace 1 mes
padre
commit
6be9fafd81
Se han modificado 1 ficheros con 34 adiciones y 0 borrados
  1. 34 0
      vls_python

+ 34 - 0
vls_python

@@ -50,5 +50,39 @@ else
   ARGS=("$@")
 fi
 
+# Ensure any VLS_* env vars are forwarded to the Windows process by listing
+# them in WSLENV.
+WSLENV_EXISTING="${WSLENV-}"
+WSLENV_ENTRIES=()
+if [[ -n "$WSLENV_EXISTING" ]]; then
+  IFS=':' read -r -a WSLENV_ENTRIES <<<"$WSLENV_EXISTING"
+fi
+
+# Build a list of VLS_* vars present in the environment.
+VLS_ENV_VARS=()
+while IFS='=' read -r name _; do
+  if [[ "$name" == VLS_* ]]; then
+    VLS_ENV_VARS+=("$name")
+  fi
+done < <(env)
+
+# Append any missing VLS_* names to WSLENV (keeping existing ordering intact).
+if (( ${#VLS_ENV_VARS[@]} > 0 )); then
+  for var_name in "${VLS_ENV_VARS[@]}"; do
+    already_present=0
+    for existing in "${WSLENV_ENTRIES[@]}"; do
+      if [[ "$existing" == "$var_name" ]]; then
+        already_present=1
+        break
+      fi
+    done
+    if (( already_present == 0 )); then
+      WSLENV_ENTRIES+=("$var_name")
+    fi
+  done
+  WSLENV="$(IFS=:; echo "${WSLENV_ENTRIES[*]}")"
+  export WSLENV
+fi
+
 # -u = unbuffered for immediate streaming
 exec "$PY" -u "$SCRIPT_WIN" "${ARGS[@]}"