Skip to content

Instantly share code, notes, and snippets.

@nalinbhardwaj
Created June 8, 2016 17:08
Show Gist options
  • Save nalinbhardwaj/7759f056f486b322b5f5aa0980b8b6b9 to your computer and use it in GitHub Desktop.
Save nalinbhardwaj/7759f056f486b322b5f5aa0980b8b6b9 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Modified following this issue: https://github.com/wbond/sublime_terminal/issues/89
CD_CMD="cd "\\\"$(pwd)\\\"" && clear"
if echo "$SHELL" | grep -E "/fish$" &> /dev/null; then
CD_CMD="cd "\\\"$(pwd)\\\""; and clear"
fi
VERSION=$(sw_vers -productVersion)
OPEN_IN_TAB=0
while [ "$1" != "" ]; do
PARAM="$1"
VALUE="$2"
case "$PARAM" in
--open-in-tab)
OPEN_IN_TAB=1
;;
esac
shift
done
if (( $(expr $VERSION '<' 10.7) )); then
RUNNING=$(osascript<<END
tell application "System Events"
count(processes whose name is "iTerm")
end tell
END
)
else
RUNNING=1
fi
if (( ! $RUNNING )); then
osascript<<END
tell application "iTerm"
tell current window
tell current session of (create tab with default profile)
write text "$CD_CMD"
end tell
end tell
activate
end tell
END
else
if (( $OPEN_IN_TAB )); then
osascript &>/dev/null <<EOF
tell application "iTerm"
if (count of windows) = 0 then
set theWindow to (create window with default profile)
set theSession to current session of theWindow
else
set theWindow to current window
tell current window
set theTab to create tab with default profile
set theSession to current session of theTab
end tell
end if
tell theSession
write text "$CD_CMD"
end tell
activate
end tell
EOF
else
osascript &>/dev/null <<EOF
tell application "iTerm"
set theWindow to (create window with default profile)
set theSession to current session of theWindow
tell theSession
write text "$CD_CMD"
end tell
activate
end tell
EOF
fi
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment