summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrsdizzie <info@mrsdizzie.com>2020-07-07 18:30:21 -0400
committerGitHub <noreply@github.com>2020-07-08 01:30:21 +0300
commit078d2fbd4c386d0cf37378078443f5f8dbe89f37 (patch)
tree43be7a0241e20c214b5f2f5d0c0c75ecafdaf967
parent30399cf04ad7578c67d4268878df071cac515fc9 (diff)
downloadgitea-078d2fbd4c386d0cf37378078443f5f8dbe89f37.tar.gz
gitea-078d2fbd4c386d0cf37378078443f5f8dbe89f37.zip
Remove newline when highlighting random chunks of code (#12180)
* Remove newline when highlighting random chunks of code Somewhere when tokenizing a newline gets added to code formatted by chroma. This breaks the case of 'added-code' inside of an 'added-line' in a diff. Just remove any newline when processing chunks of code since we don't need it. Fixes #12172 * don't process empty lines * This is the proper way to fix this by telling chroma not to add the newline in the first place
-rw-r--r--go.mod2
-rw-r--r--modules/highlight/highlight.go3
2 files changed, 3 insertions, 2 deletions
diff --git a/go.mod b/go.mod
index 9be45c5028..d4a2d3cfb2 100644
--- a/go.mod
+++ b/go.mod
@@ -100,8 +100,8 @@ require (
github.com/urfave/cli v1.20.0
github.com/xanzy/go-gitlab v0.31.0
github.com/yohcop/openid-go v1.0.0
- github.com/yuin/goldmark-highlighting v0.0.0-20200307114337-60d527fdb691
github.com/yuin/goldmark v1.1.32
+ github.com/yuin/goldmark-highlighting v0.0.0-20200307114337-60d527fdb691
github.com/yuin/goldmark-meta v0.0.0-20191126180153-f0638e958b60
golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9
golang.org/x/net v0.0.0-20200602114024-627f9648deb9
diff --git a/modules/highlight/highlight.go b/modules/highlight/highlight.go
index 90590d220b..5d66e4c32d 100644
--- a/modules/highlight/highlight.go
+++ b/modules/highlight/highlight.go
@@ -14,6 +14,7 @@ import (
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
+ "github.com/alecthomas/chroma"
"github.com/alecthomas/chroma/formatters/html"
"github.com/alecthomas/chroma/lexers"
"github.com/alecthomas/chroma/styles"
@@ -68,7 +69,7 @@ func Code(fileName, code string) string {
lexer = lexers.Fallback
}
- iterator, err := lexer.Tokenise(nil, string(code))
+ iterator, err := lexer.Tokenise(&chroma.TokeniseOptions{State: "root", Nested: true}, string(code))
if err != nil {
log.Error("Can't tokenize code: %v", err)
return code