2015-03-18 102 views
0

我想將Atom用作Factor監聽器的默認編輯器,因此鍵入\ foo edit將在Atom中打開foo的定義。但是,當我嘗試它,我得到這個:使用Atom作爲因子監聽器的默認編輯器

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進入目錄,執行從PowerShell的atom filename.factor(我在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的定義,但我不確定它有什麼問題。

任何想法?

回答

1

原子可執行文件可能不在您的路徑中。如果你看一下下面一行:

atom-path get "atom" or , 

or字需要2個項目從堆棧中,如果其中有一個爲真,它將輸出其中第一個,否則,f(假)返回(如果您正在使用GUI偵聽器,則可以通過單擊該單詞本身來交互地查看幫助瀏覽器中特定單詞的文檔!因此,您可以單擊or並閱讀文檔以瞭解其工作原理)。

望着錯誤消息,"atom"被退回,所以我們可以推斷出

atom-path get 

肯定沒有返回f(假)。所以,你需要做的是執行edit字之前,編輯器的可執行文件的路徑設置爲atom-path

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

現在我不能肯定,如果我使用的路徑分隔符將工作的,是在Windows,但你明白了。

+0

您可以使用「/」或「\\」作爲路徑分隔符,它們都可以在Windows中工作,我也認爲其他操作系統也是如此。 – 2016-04-03 03:39:00