🎨
GitHubに上げたgitconfigに色がついてなかった
TL;DR
.gitattributes に下記を追記
.gitattributes
gitconfig linguist-language=Git-Config
はじめに
先日、自分のdotfilesレポジトリにgitconfigを追加したところ、GitHubのWeb UI上でシンタックスハイライトがされませんでした。
この記事ではデフォルトで検出されないファイルタイプを設定する方法について記載します。
ファイルタイプの設定について
GitHubでのファイルタイプ検出にはLinguistライブラリが使用されており、GitHub上で公開されています。
このリポジトリ内でLinguistの動作を変更する方法が記載されています。
このページによると、動作を変更するには以下の2つの方法があります。
-
.gitattributes
に設定を追記する - VimまたはEmacsのモードライン[1]を設定する
.gitattributes に追記
gitconfigにlinguist-language=Git-Config
を指定します。(gitconfig
でも可)
.gitattributes
gitconfig linguist-language=Git-Config
モードラインを設定
Vim
Vimではモードラインを使用してファイルタイプを設定します。
gitconfig
# vi: ft=gitconfig:
Emacs
Emacsではファイルローカル変数を使用してファイルタイプ (=メジャーモード) を設定します。
ファイル先頭に追加する記法のみLinguistに認識されます。
gitconfig
# -*- mode: gitconfig -*-
Linguistで認識されるためにはモードにgitconfig
を指定する必要がありますが、Emacsにはgitconfig-mode
はないのでエラーになります。 (設定されるのはconf-mode
)
おわりに
上記の通りに変更を行ってプッシュすることでgitconfigにシンタックスハイライトさせることができました。
モードラインで指定するのはVim/Emacsで対応していないファイルタイプがあるかもしれないので.gitattributes
での設定をおすすめします。
-
Emacsのモードラインは別のもの (Vimでいうステータスライン)を指しますが、原文のニュアンスのままにしています。 ↩︎
Discussion