Skip to content

Instantly share code, notes, and snippets.

@npenkov
Forked from eric-hu/Open iterm tab here
Created February 4, 2016 12:26
Show Gist options
  • Select an option

  • Save npenkov/509f0ea8057a4eef8e02 to your computer and use it in GitHub Desktop.

Select an option

Save npenkov/509f0ea8057a4eef8e02 to your computer and use it in GitHub Desktop.

Revisions

  1. eric-hu revised this gist Jun 23, 2013. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions Open iterm tab here
    Original file line number Diff line number Diff line change
    @@ -7,6 +7,8 @@ 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
  2. eric-hu created this gist Jun 23, 2013.
    35 changes: 35 additions & 0 deletions Open iterm tab here
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,35 @@
    -- 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))
    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)
    end run

    on CD_to(theDir)
    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
    write text "ls"
    end tell
    end tell
    end tell
    end CD_to