mirror of
https://github.com/dcarrillo/prezto.git
synced 2024-12-23 05:38:01 +00:00
57 lines
1.3 KiB
Plaintext
57 lines
1.3 KiB
Plaintext
#
|
|
# Opens a new Terminal.app/iTerm.app tab in the current directory.
|
|
#
|
|
# Authors:
|
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
#
|
|
|
|
# function tab {
|
|
|
|
local command="cd \\\"$PWD\\\""
|
|
(( $# > 0 )) && command="${command}; $*"
|
|
|
|
the_app=$(
|
|
osascript 2> /dev/null <<EOF
|
|
tell application "System Events"
|
|
name of first item of (every process whose frontmost is true)
|
|
end tell
|
|
EOF
|
|
)
|
|
|
|
[[ "$the_app" == 'Terminal' ]] && {
|
|
osascript 2> /dev/null <<EOF
|
|
tell application "System Events"
|
|
tell process "Terminal" to keystroke "t" using command down
|
|
tell application "Terminal" to do script "${command}" in front window
|
|
end tell
|
|
EOF
|
|
}
|
|
|
|
[[ "$the_app" == 'iTerm' ]] && {
|
|
osascript 2> /dev/null <<EOF
|
|
tell application "iTerm"
|
|
set current_terminal to current terminal
|
|
tell current_terminal
|
|
launch session "Default Session"
|
|
set current_session to current session
|
|
tell current_session
|
|
write text "${command}"
|
|
end tell
|
|
end tell
|
|
end tell
|
|
EOF
|
|
}
|
|
|
|
[[ "$the_app" == 'iTerm2' ]] && {
|
|
osascript 2> /dev/null <<EOF
|
|
tell application "iTerm2"
|
|
tell current window
|
|
create tab with default profile
|
|
tell current session to write text "${command}"
|
|
end tell
|
|
end tell
|
|
EOF
|
|
}
|
|
|
|
# }
|