Applescript 如果没有添加文件

Applescript if no file is added

我有以下正在使用的 automator apple 脚本,这样当我将文件拖到停靠栏图标时,它会在 vim 中打开该文件:

on run {input, parameters}

set filename to POSIX path of input

    set cmd to "clear && 'vim' '" & filename & "' && exit"

    tell application "iTerm"
        set newWindow to (create window with default profile)
            tell current session of newWindow
                write text cmd
            end tell
    end tell

end run

不过,我还想允许单击图标本身打开 vim 而没有任何文件,即 运行 $ vim。我将如何更改上述脚本以便:

以下示例 AppleScript 代码 将按您的要求执行;但是,请记住 input 是一个 list 并且目前 coded 它需要一个 单项列表,意味着您只将一个 文件 拖放到应用程序的 Dock Tile:

on run {input, parameters}

    if not input is equal to {} then
        set filename to POSIX path of first item of input
        set cmd to "clear && 'vim' '" & filename & "' && exit"
    else
        set cmd to "clear && 'vim' '" & "' && exit"
    end if

    tell application "iTerm"
        set newWindow to (create window with default profile)
        tell current session of newWindow
            write text cmd
        end tell
    end tell

end run

注意:示例 AppleScript code 就是这样,不包含任何可能适当的错误处理。用户有责任根据需要或需要添加任何 错误处理 。查看 try statement and error statement in the AppleScript Language Guide. See also, Working with Errors. Additionally, the use of the delay 命令 在适当的事件之间可能是必要的,例如delay 0.5,适当设置延迟