Support CRLF when splitting code lines for display (#1862)

* Support CRLF when splitting code lines for display

* refactor, fix mixed match

* fmt

* split on both LF and CRLF, use raw literals in regexes

* simplify
This commit is contained in:
silverwind 2017-06-10 17:20:25 +02:00 committed by Lunny Xiao
parent 446a41d595
commit f2fcd9dcd8
3 changed files with 7 additions and 3 deletions

View File

@ -1435,7 +1435,7 @@ footer .ui.language .menu {
.repository.file.list #file-content .code-view .lines-code ol li,
.repository.file.list #file-content .code-view .lines-num .hljs li,
.repository.file.list #file-content .code-view .lines-code .hljs li {
display: inline-block;
display: block;
width: 100%;
}
.repository.file.list #file-content .code-view .lines-num pre li.active,

View File

@ -296,7 +296,7 @@
margin: 0;
padding: 0 !important;
li {
display: inline-block;
display: block;
width: 100%;
&.active {
background: #ffffdd;

View File

@ -212,7 +212,11 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
var output bytes.Buffer
lines := strings.Split(fileContent, "\n")
for index, line := range lines {
output.WriteString(fmt.Sprintf(`<li class="L%d" rel="L%d">%s</li>`, index+1, index+1, gotemplate.HTMLEscapeString(line)) + "\n")
line = gotemplate.HTMLEscapeString(line)
if index != len(lines)-1 {
line += "\n"
}
output.WriteString(fmt.Sprintf(`<li class="L%d" rel="L%d">%s</li>`, index+1, index+1, line))
}
ctx.Data["FileContent"] = gotemplate.HTML(output.String())