From d160c7e565ef3c3429ca601b5a10b13949579b36 Mon Sep 17 00:00:00 2001
From: Andrey Nering <andrey.nering@gmail.com>
Date: Sun, 21 Feb 2016 18:45:24 -0300
Subject: [PATCH] Little refactoring of diff highlight.

Moving cache variable to template instead of in the struct.
---
 models/git_diff.go           | 6 +-----
 templates/repo/diff_box.tmpl | 7 ++++---
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/models/git_diff.go b/models/git_diff.go
index 9796ef59f8..ab70139fb3 100644
--- a/models/git_diff.go
+++ b/models/git_diff.go
@@ -161,7 +161,6 @@ type DiffFile struct {
 	IsBin              bool
 	IsRenamed          bool
 	Sections           []*DiffSection
-	HighlightClass     string
 }
 
 func (diffFile *DiffFile) GetType() int {
@@ -169,10 +168,7 @@ func (diffFile *DiffFile) GetType() int {
 }
 
 func (diffFile *DiffFile) GetHighlightClass() string {
-	if diffFile.HighlightClass == "" {
-		diffFile.HighlightClass = highlight.FileNameToHighlightClass(diffFile.Name)
-	}
-	return diffFile.HighlightClass
+	return highlight.FileNameToHighlightClass(diffFile.Name)
 }
 
 type Diff struct {
diff --git a/templates/repo/diff_box.tmpl b/templates/repo/diff_box.tmpl
index f96ebda52d..455f07002c 100644
--- a/templates/repo/diff_box.tmpl
+++ b/templates/repo/diff_box.tmpl
@@ -34,6 +34,7 @@
 	</div>
 
 	{{range $i, $file := .Diff.Files}}
+		{{$highlightClass := $file.GetHighlightClass}}
 		<div class="diff-file-box diff-box file-content" id="diff-{{.Index}}">
 			<h4 class="ui top attached normal header">
 				<div class="diff-counter count ui left">
@@ -76,13 +77,13 @@
 														<span rel="{{if $line.LeftIdx}}diff-{{Sha1 $file.Name}}L{{$line.LeftIdx}}{{end}}">{{if $line.LeftIdx}}{{$line.LeftIdx}}{{end}}</span>
 													</td>
 													<td class="lines-code halfwidth">
-														<pre><code class="wrap {{if $file.GetHighlightClass}}language-{{$file.GetHighlightClass}}{{else}}nohighlight{{end}}">{{if $line.LeftIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></pre>
+														<pre><code class="wrap {{if $highlightClass}}language-{{$highlightClass}}{{else}}nohighlight{{end}}">{{if $line.LeftIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></pre>
 													</td>
 													<td class="lines-num lines-num-new">
 														<span rel="{{if $line.RightIdx}}diff-{{Sha1 $file.Name}}R{{$line.RightIdx}}{{end}}">{{if $line.RightIdx}}{{$line.RightIdx}}{{end}}</span>
 													</td>
 													<td class="lines-code halfwidth">
-														<pre><code class="wrap {{if $file.GetHighlightClass}}language-{{$file.GetHighlightClass}}{{else}}nohighlight{{end}}">{{if $line.RightIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></pre>
+														<pre><code class="wrap {{if $highlightClass}}language-{{$highlightClass}}{{else}}nohighlight{{end}}">{{if $line.RightIdx}}{{$section.GetComputedInlineDiffFor $line}}{{end}}</code></pre>
 													</td>
 												</tr>
 											{{end}}
@@ -104,7 +105,7 @@
 													</td>
 													{{end}}
 													<td class="lines-code">
-														<pre><code class="{{if $file.GetHighlightClass}}language-{{$file.GetHighlightClass}}{{else}}nohighlight{{end}}">{{$section.GetComputedInlineDiffFor $line}}</code></pre>
+														<pre><code class="{{if $highlightClass}}language-{{$highlightClass}}{{else}}nohighlight{{end}}">{{$section.GetComputedInlineDiffFor $line}}</code></pre>
 													</td>
 												</tr>
 											{{end}}