正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

構文ハイライト

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

GitLabは、2つの補完的なシステムを通じてファイルに構文ハイライトを提供します:

  • Rouge(Ruby gem): GitLabサーバー上でファイルを処理するサーバーサイドのハイライト機能です。用途:
    • リポジトリファイルの閲覧
    • マージリクエストの差分
    • コミットの差分
    • 比較ビュー
    • blameビュー
  • Highlight.js: ブラウザで実行されるクライアントサイドのハイライト機能です。サポートされている言語のリポジトリファイルをブラウザで表示するために使用されます。

ここでのパスは、Gitの.gitattributesインターフェースを使用しています。

Web IDEスニペットは、テキスト編集にMonaco Editorを使用しており、これは内部的にMonarch libraryを構文ハイライトに使用しています。

ファイルタイプの構文ハイライトをオーバーライドする

Web IDEは.gitattributesファイルをサポートしていません。詳細については、エピック18651を参照してください。

ファイルタイプの構文ハイライトをオーバーライドするには:

  1. .gitattributesファイルがプロジェクトのルートディレクトリに存在しない場合は、この名前で空のファイルを作成します。

  2. 変更したいファイルタイプごとに、ファイル拡張子と希望のハイライト言語を宣言する行を.gitattributesファイルに追加します:

    # This extension typically receives Perl syntax highlighting. If you
    # also use Prolog, you can override highlighting for this file extension:
    *.pl gitlab-language=prolog
  3. 変更をコミット、プッシュ、マージしてデフォルトブランチに反映します。

変更がデフォルトブランチにマージされると、プロジェクト内のすべての*.plファイルが選択した言語でハイライト表示されます。

Common Gateway Interface (CGI)オプションでハイライトを拡張することもできます。例:

# JSON file with .erb in it
/my-cool-file gitlab-language=erb?parent=json

# An entire file of highlighting errors!
/other-file gitlab-language=text?token=Error

ファイルタイプの構文ハイライトを無効にする

ファイルタイプ全体のハイライトを無効にするには、ファイルタイプのハイライトをオーバーライドする手順に従い、gitlab-language=textを使用します:

# Disable syntax highlighting for this file type
*.module gitlab-language=text

ハイライトの最大ファイルサイズを設定する

次のファイルサイズ制限が構文ハイライターに適用されます:

  • Rouge(サーバーサイド): デフォルトで512 KB(設定可能)
    • この制限より大きいファイルは、構文ハイライトなしのプレーンテキストで表示されます。
  • Highlight.js(クライアントサイド): 2 MB(設定不可)
    • 言語がサポートされていない場合、Rougeハイライトにフォールバックします。
    • この制限より大きいファイルはフロントエンドでハイライトできず、rawコンテンツとして表示する必要があります。

Rougeハイライトの制限を変更するには:

  1. プロジェクトのgitlab.yml設定ファイルを開きます。

  2. このセクションを追加し、maximum_text_highlight_size_kilobytesを希望する値に置き換えます。

    gitlab:
      extra:
        ## Maximum file size for syntax highlighting
        ## https://docs.gitlab.com/user/project/repository/files/highlighting/#configure-maximum-file-size-for-highlighting
        maximum_text_highlight_size_kilobytes: 512
  3. 変更をコミット、プッシュ、マージしてデフォルトブランチに反映します。