0

\ foo editFactor リスナーのデフォルト エディターとして Atom を使用して、入力すると Atom の定義が開かれるようにしたいと考えていますfoo。しかし、試してみると、代わりに次のようになります。

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-path get "atom" or ,

orword はスタックから 2 つの項目を取得し、そのうちの 1 つが true の場合は最初の項目を出力し、それ以外の場合は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 に答える