diff --git a/.zsh_aliases b/.zsh_aliases index aeb6b1f..39ba1b9 100644 --- a/.zsh_aliases +++ b/.zsh_aliases @@ -53,13 +53,20 @@ if grep -qEi "(Microsoft|WSL)" /proc/version &> /dev/null; then alias open="/mnt/c/Windows/explorer.exe" # Mac-style 'open' command # 2. VS Code (Dynamic Alias) - # This finds the username automatically so it works on any Windows machine - _WIN_USER=$(cmd.exe /c 'echo %USERNAME%' 2>/dev/null | tr -d '\r') - - if [ -d "/mnt/c/Users/$_WIN_USER/AppData/Local/Programs/Microsoft VS Code/bin" ]; then - alias code="/mnt/c/Users/$_WIN_USER/AppData/Local/Programs/Microsoft\ VS\ Code/bin/code" - elif [ -d "/mnt/c/Program Files/Microsoft VS Code/bin" ]; then - alias code="/mnt/c/Program\ Files/Microsoft\ VS\ Code/bin/code" - fi + if [ -f "/mnt/c/Windows/System32/cmd.exe" ]; then + _WIN_USER=$(/mnt/c/Windows/System32/cmd.exe /c 'echo %USERNAME%' 2>/dev/null | tr -d '\r') + + # Only proceed if we actually got a username back + if [ -n "$_WIN_USER" ]; then + USER_CODE="/mnt/c/Users/$_WIN_USER/AppData/Local/Programs/Microsoft VS Code/bin/code" + SYS_CODE="/mnt/c/Program Files/Microsoft VS Code/bin/code" -fi \ No newline at end of file + if [ -f "$USER_CODE" ]; then + # We use single quotes for the alias definition to handle the spaces safely + alias code="'$USER_CODE'" + elif [ -f "$SYS_CODE" ]; then + alias code="'$SYS_CODE'" + fi + fi + fi +fi