使用Coffeescript打开Mac应用程序

时间:2014-03-14 02:06:43

标签: node.js coffeescript atom-editor

我正在从Git编写Atom文本编辑器的包,它使用Coffeescript。我有一个键绑定将启动我正在创建的功能。

只需打开一个应用程序,我需要写什么?在这种情况下,我想打开Transmit.app。

2 个答案:

答案 0 :(得分:2)

使用来自节点的spawn或来自Atom的内置BufferedProcess来运行流程非常简单。 BufferedProcess包装spawn并提供标准输出和错误行缓冲。

来自the docs的示例:

{BufferedProcess} = require 'atom'

 command = 'ps'
 args = ['-ef']
 stdout = (output) -> console.log(output)
 exit = (code) -> console.log("ps -ef exited with #{code}")
 process = new BufferredProcess({command, args, stdout, exit})

来自atom-script的更多充实示例(已修改):

{BufferedProcess} = require 'atom'

command = "open"
args = ["/path/to/Transmit.app"]

# Default to where the user opened atom
options =
  cwd: atom.project.getPath()
  env: process.env

stdout = (output) -> console.log(output)
stderr = (output) -> console.error(output)

exit = (return_code) ->
  if return_code is 0
    console.log("Exited with 0")
  else
    console.log("Exited with " + return_code)

# Run process
bufferedProcess = new BufferedProcess({command, args, options, stdout, stderr, exit})

如果您选择去产卵路线,我建议您查看test-status的做法。

答案 1 :(得分:1)

我的快速谷歌搜索说Atom编辑器集成了nodejs,因此您应该可以使用child_process.spawn

{spawn} = require 'child_process'
spawn 'path/to/your/transmit/app'