8

GolfScript プログラムを実行するための新しいビルド システムを作成しました。定義は次のとおりです。

{
    "cmd": ["ruby", "D:\\w\\sublime\\golfscript.rb", "$file"]
}

これは機能しますが、これを使用する必要があるときはいつでも手動でビルド システムを「自動」から「golfscript」に切り替えてから、Ruby や Python などを実行できるように元に戻す必要があります。

*.gsファイルを開いているときにビルド システムが自動的に適用されるようにしたいと考えています。

私はいくつかの ドキュメントを読み、これを達成するためにセレクターを使用できるという考えを得たので、既存の構成にセレクターを追加しました:

{
    "cmd": ["ruby", "D:\\w\\sublime\\golfscript.rb", "$file"],
    "selector": "source.gs"
}

さらにドキュメント/例を読んだ後、セレクターが実際に何であるかを崇高に伝える方法を理解できませんでした。

ファイルsource.gsを指すようにセレクターを構成するにはどうすればよいですか?*.gs

4

4 に答える 4

3

GolfScript の構文ファイルを作成する必要があります。

次の XML を名前golfScript.tmLanguageを付けて保存し、ここでPackages/Golfscript説明されているようにフォルダーに配置します。

ST の再起動が必要になる場合があります。

<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
    <key>fileTypes</key>
    <array>
        <string>gs</string>
    </array>
    <key>name</key>
    <string>GolfScript</string>
    <key>patterns</key>
    <array>
    </array>
    <key>scopeName</key>
    <string>source.gs</string>
    <key>uuid</key>
    <string>c4c7fc10-d937-4f5d-9cb7-4316026457e5</string>
</dict>
</plist>
于 2013-07-17T01:02:50.103 に答える
1

ビルドを特定の種類のファイルに関連付けるために一般的に適切なことはselector、問題のファイルの種類に基づいてビルドを選択する方法を Sublime に伝える a を使用することです。

ただし、言語の拡張機能がその言語の通常の拡張機能を追跡しない場合、または適切なスコープを提供するために使用できる構文定義がない場合 (したがって、その言語の構文強調表示も) を指定できます。ビルド システム オプションに関するドキュメントで概説されているようfile_patternsに、ファイル内のキーを介して使用するビルドに関するヒント。sublime-build

たとえば、GolfScript ファイルの拡張子がgs.

{
    "cmd": ["ruby", "D:\\w\\sublime\\golfscript.rb", "$file"],
    "file_patterns": ["*.gs"]
}

これは、この拡張子を持つすべてのファイルに対して、このビルドが適用可能であり、現在のファイルの潜在的なビルド システムと見なされることを Sublime に示します。

問題のファイルの種類によっては、ビルドに複数のバリアントがある場合と同様に、ビルドを初めて実行するときに Sublime から正しいビルドを選択するよう求められる場合があります。このような場合、ビルドを選択するように求められ、それが将来のビルドのために記憶されるため、Build With再度選択するために を使用する必要があります。

たとえば、.gsファイルが Ruby の構文 (たとえば) に関連付けられていると仮定すると、上記のビルドと Ruby ファイルのビルド (scopeそのビルド システムのセレクターに基づいて選択された) の両方が候補となり、最初のビルド。

于 2021-01-20T18:06:12.470 に答える