GitHub 上のリポジトリでコードの言語を設定する方法

GitHub

Github 上に置いたリポジトリのコードを閲覧するときに、シンタックスハイライトに使われる言語を設定する方法についてかんたんにまとめておきます。

GitHub のコードの言語判定には Linguist というオープンソースのライブラリが使われていて(正確には「開発したライブラリを GitHub がオープンソースとして公開していて」)、そのドキュメントにこの言語設定を上書きする方法が書かれています。

言語設定を上書きするには大きく 2 通りの方法があります:

  1. .gitattributes ファイルで指定する
  2. 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 のリポジトリをご覧ください。

参考


アバター
後藤隼人 ( ごとうはやと )

Python や PHP を使ってソフトウェア開発やウェブ制作をしています。詳しくはこちら