構文ハイライト
- プラン: 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を参照してください。
ファイルタイプの構文ハイライトをオーバーライドするには:
.gitattributesファイルがプロジェクトのルートディレクトリに存在しない場合は、この名前で空のファイルを作成します。変更したいファイルタイプごとに、ファイル拡張子と希望のハイライト言語を宣言する行を
.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変更をコミット、プッシュ、マージしてデフォルトブランチに反映します。
変更がデフォルトブランチにマージされると、プロジェクト内のすべての*.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ハイライトの制限を変更するには:
プロジェクトの
gitlab.yml設定ファイルを開きます。このセクションを追加し、
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変更をコミット、プッシュ、マージしてデフォルトブランチに反映します。