0

我想将 Atom 用作 Factor 侦听器的默认编辑器,以便键入\ foo edit将打开fooAtom 中的定义。但是当我尝试它时,我得到了这个:

Launching failed with error:
Win32 error 0x2: The system cannot find the file specified.
Launch descriptor:

T{ process
    { command
        {
            "atom"
            "C:\\path\\to\\factor_directory\\Factor/work/file_directory/filename.factor:1"
        }
    }
    { detached t }
    { environment H{ } }
    { environment-mode +append-environment+ }
    { group +same-group+ }
}

但是如果我 cd 进入目录并atom filename.factor从 powershell 执行(我在 Windows 8.1 上),它工作正常,这表明 Factor 生成的命令有问题。于是我打开C:\path\to\factor_directory\Factor\basis\editors\atom发现

! Copyright (C) 2014 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: editors kernel make math.parser namespaces sequences ;
IN: editors.atom

SINGLETON: atom-editor
atom-editor \ editor-class set-global

SYMBOL: atom-path

M: atom-editor editor-command ( file line -- command )
    [
        atom-path get "atom" or ,
        number>string ":" glue ,
    ] { } make ;

我对这是如何工作的有最模糊的想法。我想我应该以某种方式更改 的定义editor-command,但我不确定它有什么问题。

有任何想法吗?

4

1 回答 1

1

atom 可执行文件可能不在您的路径中。如果您查看以下行:

atom-path get "atom" or ,

该词or从堆栈中取出 2 项,如果其中一项为真,它将输出第一项,否则f返回 (false)(如果您使用的是 GUI 侦听器,您实际上可以查找特定文档通过单击单词本身以交互方式在帮助浏览器中输入单词!因此您可以单击or并阅读文档以了解其工作原理)。

查看错误消息,"atom"正在返回,因此我们可以推断

atom-path get

必须返回f(false)。所以你需要做的是atom-path在执行edit单词之前将编辑器的可执行路径设置为:

"C:/path/to/atom.exe" \ atom-path set-global

现在我不确定我使用的路径分隔符是否可以在 Windows 中按原样工作,但你明白了。

于 2015-03-28T05:34:50.620 回答