@@ -213,15 +213,24 @@ var highlightDiff = function(diff, element, callbacks) {
213
213
continue ;
214
214
}
215
215
216
+ var isMissingEOFNewline =
217
+ lineno + 1 < lines . length &&
218
+ lines [ lineno + 1 ] == "\\ No newline at end of file" ;
219
+ var missingEOFNewlineClass = isMissingEOFNewline ? " nonewline" : "" ;
220
+ var wrapLine = function ( cls ) {
221
+ return "<div " + sindex + "class='" + cls + missingEOFNewlineClass + "'>"
222
+ + l + "</div>" ;
223
+ } ;
224
+
216
225
sindex = "index=" + lindex . toString ( ) + " " ;
217
226
if ( firstChar == "+" ) {
218
227
line1 += "\n" ;
219
228
line2 += ++ hunk_start_line_2 + "\n" ;
220
- diffContent += "<div " + sindex + "class=' addline'>" + l + "</div>" ;
229
+ diffContent += wrapLine ( " addline" ) ;
221
230
} else if ( firstChar == "-" ) {
222
231
line1 += ++ hunk_start_line_1 + "\n" ;
223
232
line2 += "\n" ;
224
- diffContent += "<div " + sindex + "class=' delline'>" + l + "</div>" ;
233
+ diffContent += wrapLine ( " delline" ) ;
225
234
} else if ( firstChar == "@" ) {
226
235
if ( header ) {
227
236
header = false ;
@@ -234,13 +243,13 @@ var highlightDiff = function(diff, element, callbacks) {
234
243
}
235
244
line1 += "...\n" ;
236
245
line2 += "...\n" ;
237
- diffContent += "<div " + sindex + "class=' hunkheader'>" + l + "</div>" ;
246
+ diffContent += wrapLine ( " hunkheader" ) ;
238
247
} else if ( firstChar == " " ) {
239
248
line1 += ++ hunk_start_line_1 + "\n" ;
240
249
line2 += ++ hunk_start_line_2 + "\n" ;
241
- diffContent += "<div " + sindex + "class=' noopline'>" + l + "</div>" ;
250
+ diffContent += wrapLine ( " noopline" ) ;
242
251
} else if ( firstChar == "\\" ) {
243
- diffContent += "<div " + sindex + "class=' markerline'>" + l + "</div>" ;
252
+ diffContent += wrapLine ( " markerline" ) ;
244
253
}
245
254
lindex ++ ;
246
255
}
0 commit comments