Skip to content

Instantly share code, notes, and snippets.

@marcinczenko
Created December 31, 2015 04:04
Show Gist options
  • Save marcinczenko/363a9b3b336ea2d3df17 to your computer and use it in GitHub Desktop.
Save marcinczenko/363a9b3b336ea2d3df17 to your computer and use it in GitHub Desktop.
Automator: opens the folder in a new iTerm2 tab.
-- Adapted from these sources:
-- http://peterdowns.com/posts/open-iterm-finder-service.html
-- https://gist.github.com/cowboy/905546
--
-- Modified to work with files as well, cd-ing to their container folder
on run {input, parameters}
tell application "Finder"
set my_file to first item of input
set filetype to (kind of (info for my_file))
-- Treats OS X applications as files. To treat them as folders, integrate this SO answer:
-- http://stackoverflow.com/a/6881524/640517
if filetype is "Folder" or filetype is "Volume" then
set dir_path to quoted form of (POSIX path of my_file)
else
set dir_path to quoted form of (POSIX path of (container of my_file as string))
end if
end tell
CD_to(dir_path, my_file)
end run
on CD_to(theDir, my_file)
tell application "iTerm"
activate
try
set t to the last terminal
on error
set t to (make new terminal)
end try
tell t
launch session "Default Session"
tell the last session
write text "cd " & theDir
set filetype to (kind of (info for my_file))
if filetype is not "Folder" and filetype is not "Volume" then
write text "ls -l " & (POSIX path of my_file)
end if
end tell
end tell
end tell
end CD_to
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment