読者です 読者をやめる 読者になる 読者になる

Override emmet snippets on Atom Editor

emmet 便利ですよね。
snippets や shift + cmd + ' でhtmlタグ除去とか、ctrl + d で outward 選択などはよく使います。
snippetsで1つ修正したい箇所があったので調べて見ました。

やりたいこと

! or html:5 で以下のようなsnippetsが展開されるのですが、 lang=“en” のところが余分だなと以前から思っていました。
(ちなみに lang は環境によって変わります)

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>

</body>
</html>

調べてみる

Atom Package Settings

設定画面の最下部にリンクがありました。
Customization
extensionsフォルダにsnippets.jsonを用意すればいいなど色々と書いてあります。
 
他にも以前から気になっていた tabstop の index が 0 始まりのものについての補足がありました。
0始まりはtextmate時代の名残のようで(tabstopが終わった後のキャレット位置を指定できる機能?)、現在は1から始めるのが望ましいと書いています。

ちなみにextensionsフォルダ(設定ファイルの場所)は default: ~/emmet ですが、以下のように変更可能です。
f:id:rochefort:20170411231723p:plain

書き方

default はどうやら以下にあるようなので、それを元に変更して見ました。
.atom/packages/emmet/node_modules/emmet/lib/snippets.json

{
    "html": {
        "abbreviations": {
        "!": "!!!+doc",
        "html:5":   "!!!+doc"
        }
    }
}

今回修正すべきは、snippets ではなく abbreviations でした。