From 251a4904304cce4aab914135b02be8b3a79151ca Mon Sep 17 00:00:00 2001 From: Martin Aeschlimann Date: Thu, 11 Apr 2019 10:23:14 +0200 Subject: [PATCH] run code wsl in dev --- scripts/code.sh | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/scripts/code.sh b/scripts/code.sh index 8035059f65c..ba4177c33e5 100755 --- a/scripts/code.sh +++ b/scripts/code.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -e + if [[ "$OSTYPE" == "darwin"* ]]; then realpath() { [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"; } ROOT=$(dirname "$(dirname "$(realpath "$0")")") @@ -9,6 +11,9 @@ if [[ "$OSTYPE" == "darwin"* ]]; then export ELECTRON_ENABLE_LOGGING=1 else ROOT=$(dirname "$(dirname "$(readlink -f $0)")") + if grep -qi Microsoft /proc/version; then + IN_WSL=true + fi fi function code() { @@ -50,4 +55,23 @@ function code() { exec "$CODE" . "$@" } -code "$@" +function code-wsl() +{ + # in a wsl shell + local WIN_CODE_CLI_CMD=$(wslpath -w "$ROOT/scripts/code-cli.bat") + + local WSL_EXT_ID="ms-vscode.remote-wsl" + local WSL_EXT_WLOC=$(cmd.exe /c "$WIN_CODE_CLI_CMD" --locate-extension $WSL_EXT_ID) + if ! [ -z "$WSL_EXT_WLOC" ]; then + # replace \r\n with \n in WSL_EXT_WLOC + local WSL_CODE=$(wslpath -u "${WSL_EXT_WLOC%%[[:cntrl:]]}")/scripts/wslCode-dev.sh + $WSL_CODE "$ROOT" "$@" + exit $? + fi +} + +if [ -z ${IN_WSL+x} ]; then + code "$@" +else + code-wsl "$@" +fi \ No newline at end of file -- GitLab