TypeScriptのSublime Text用文法定義

2 min read読了の目安(約1400字

2013-11-16にQiitaに投稿した記事のアーカイブです。本文中のリンクは動作しないことがあります。

Ver2系、あなたのTypeScriptを華やかに彩るSublime Text構文定義を掲載しました。今後はこちらを保守し、以下のサポートは終了します。


TypeScriptにおけるSublime Text用の文法定義としてはマイクロソフトが公式に公開していますが、着色範囲が少なくSublime Textのメソッド名認識の恩恵も受けられないため不満がありました。

今回、他言語の文法定義を参考に公開しました。スコープ名はsource.js系を参考に、公式のsource.tsともある程度互換性を持たせてあります。

https://github.com/armorik83/typescriptUnofficial.tmLanguage

クラスメソッドは言語仕様上、

class foo {
    methodName(n: number): string
    {
        return String(n);
    }
}

としても問題ないのですが、正規表現によるマッチを簡易にするため、

class foo {
    public methodName(n: number): string
    {
        return String(n);
    }

    private privateMethodName(str: string): string
    {
        return str;
    }
}

といった修飾子の使用を必須としています。ご了承下さい。

手元で問題の無いレベルまではバグを修正していますが、まだまだ予期せぬカラーリングをする・されない箇所があるかと思いますので、適宜修正頂くかご指摘頂けると幸いです。

(140221追記)v1.1より<Type>形式の型キャストを着色するよう修正しましたが、既定義のjs側のカラーリングが副作用として起こり、特定の語を使用した場合予期せぬ着色が起こることを確認していますのでご了承ください。<>直後に半角スペースを置くことで回避できます。

履歴

14/03/18 v2.0b1 - Ver2系を掲載しました。スクラッチで作成し大部分の互換性が無いため別扱いにしました。今後Ver1系の更新は予定していません。
14/03/02 v1.1.2 - public functionとfunctionにおける着色の差異を修正
14/02/28 v1.1.1 - 型キャストの着色における一部不具合を修正
14/02/21 v1.1 - <Type>形式の型キャストの着色を改善
13/11/19 v1.0.1 - いくつかの着色されない箇所を修正
13/11/16 v1.0