mirror of
				https://github.com/dcarrillo/prezto.git
				synced 2025-11-04 06:19:09 +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
 | 
						|
}
 | 
						|
 | 
						|
# }
 |