customFileTypes

~/.atom/config.cson ファイルを編集する。

"*":
  core:
    customFileTypes:
      "source.ruby.rails": [
        "rb"
      ]
      "source.shell": [
        "envrc"
        ".env"
        ".env.example"
      ]

配列内に拡張子もしくはファイル名を指定する。ワイルドカードや正規表現は使用できない。CSON 形式では要素間のコンマは不要。

参考:

Atom Editor の拡張子による言語選択をカスタマイズする – Qiita

Atom のデフォルト syntax を変更する | ObjecTips

Atom で拡張子の設定 – teratail

How do I make Atom recognize a file with extension X as language Y? | Atom Discussion [Official]

Make file type -> language mapping locally configurable · Issue #1718 · atom/atom – GitHub

How do I make a default syntax by filetype in Atom text editor? – Stack Overflow

Is it possible to customize Atom language recognition based on filename not extension? – Stack Overflow

file-types パッケージ

config.csoncustomFileTypes で設定できるようになったため、拡張子にシンタックスを割り当てるためにわざわざパッケージを追加する必要はなくなった。正規表現によるシンタックスの割り当てをしたい場合は file-types パッケージを使う必要がある。

参考:

file-types | Atom packages

拡張子を追加し、ハイライトカラーを割り当てる方法 | とーますメモ

Atom で .mtml を HTML のシンタックスカラーに設定 | bit part blog

コーディング作業を加速する Atom 活用法 | satoyan419.com

Is it possible to customize Atom language recognition based on filename not extension? – Stack Overflow

scope name

カーソル位置の scope name を調べる。

MacCmd + Alt + P

参考:

Atom で特定の言語のために新しい文法 grammar を作る – Qiita

Atom scope name list – GitHub Gist

How to find the current scope | Atom Discussion [Official]

Canonical list of syntax scope names? | Atom Discussion [Official]

独自の grammar を作成する

参考:

Atom で特定の言語のために新しい文法 grammar を作る – Qiita

How To Develop a Package for GitHub’s Atom Code Editor | SitePoint

Guide to writing an Atom language grammar – GitHub Gist

Creating a Grammar | Atom Flight Manual [Official]

How do I edit a language grammar / syntax in Atom? | Atom Discussion

Where to put grammar cson file? | Atom Discussion

Help creating a grammar from scratch | Atom Discussion

Syntax Highlighting Guide for Atom – Stack Overflow

新規ファイルの grammar を指定する

参考:

Atom で新規ファイルのデフォルトの Syntax をなんとかする | Trial and Spiral

$self / $base

  • $selfinclude したファイルで定義されている grammar を再帰的に含める。
  • $base別ファイルで参照されて include された場合、参照元の grammar を含める。

grammar A の定義

# A.cson
scope: 'source.A'
patterns: [
  {
    begin: 'begin'
    end: 'end'
    patterns: [{ include: '$self' }]
    # => include `source.A` between `begin` and `end`
  }
  {
    begin: 'begin_ex'
    end: 'end_ex'
    patterns: [{ include: '$base' }]
  }
]

grammar B の定義

# B.cson
scope: 'source.B'
pattrens: [
  {
    begin: 'begin_A'
    end: 'end_A'
    patterns: [{ include 'source.A' }]
    # => include `source.A` between `begin_A` and `end_A`
    # => include `source.A` as $self between `begin` and `end`
    # => include `source.B` as $base between `begin_ex` and `end_ex`
  }
]

別ファイルから include した場合に $self$base では挙動が変わる。$self を指定した場合は常に元のファイルの grammer がインクルードされるのに対して、$base を指定した場合は、include を使用した現在のファイルの grammar が $base としてインクルードされる。($base はインクルードする grammar を動的に決定する。)

参考:

Complex multiline rule – Guide to writing an Atom language grammar – GitHub Gist

Project Manager

参考:

Default scope names | Atom Discussion [Official]

project-manager | Atom Packages

Grammar Selector

現在のファイルに適用する grammar を選択するために標準で用意されているユーザーインターフェイス。

参考:

Grammar | Atom flight manual [Official]

atom/grammar-selector: Pick a grammar for the current editor – GitHub

Ruby Heredoc

参考:

Heredoc improperly highlighted. · Issue #75 · atom/language-ruby – GitHub

その他の情報

参考:

Atom で Langage パッケージの対象拡張子を増やしたい – Qiita

GitHub 製エディタ Atom 入門 – Qiita

Change syntax highlighting based on file extension | Atom Discussion [Official]

How do I make a default syntax by filetype in Atom text editor? – Stack Overflow

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA