GitHub 上のリポジトリでコードの言語を設定する方法
Github 上に置いたリポジトリのコードを閲覧するときに、シンタックスハイライトに使われる言語を設定する方法についてかんたんにまとめておきます。
GitHub のコードの言語判定には Linguist というオープンソースのライブラリが使われていて(正確には「開発したライブラリを GitHub がオープンソースとして公開していて」)、そのドキュメントにこの言語設定を上書きする方法が書かれています。
言語設定を上書きするには大きく 2 通りの方法があります:
.gitattributes
ファイルで指定する- Emacs や Vim のモードラインで指定する
1. .gitattributes
ファイルで指定する
リポジトリのルートに .gitattributes
ファイルを作成してその中で linguist-language
属性を使ってファイルごとの言語を指定します。
公式ドキュメントのサンプルの日本語訳:
# `.gitattributes` ファイルの例: `.rb` ファイルを Java に分類する
*.rb linguist-language=Java
# 言語名の空白はハイフンに置換する
*.glyphs linguist-language=OpenStep-Property-List
2. Emacs や Vim のモードラインで指定する
2 つめの方法は Emacs や Vim のモードラインで指定する方法です。 以下、公式ドキュメントのサンプルです。
Emacs:
-*- mode: php; -*-
-*- c++ -*-
Vim:
# さまざまなスタイルの例:
vim: syntax=java
vim: set syntax=ruby:
vim: set filetype=prolog:
vim: set ft=cpp:
こちらの方法はファイルごとに指定する必要があります。
基本的には .gitattributes
の方法を使って、何らかの理由で .gitattributes
が使えないときにかぎりこちらの方法を使うというのがよさそうな気がします。
ということで、 GitHub 上のリポジトリでコードのシンタックスハイライトに使用する言語を設定する方法についてでした。
なお、どんな言語が利用できるのかは Linguist の languages.yml
で確認できます:
詳細に興味のある方は Linguist のリポジトリをご覧ください。