Use existing analyzer module for language detection for highlighting (#13522)
* Use existing analyzer module for language detction for highlighting Thanks @lafriks for pointing out we can reuse existing code for more reliable language detection here. * Update modules/highlight/highlight.go Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
parent
3cd00c33ce
commit
6280af0324
1 changed files with 5 additions and 2 deletions
|
@ -13,6 +13,7 @@ import (
|
|||
"strings"
|
||||
"sync"
|
||||
|
||||
"code.gitea.io/gitea/modules/analyze"
|
||||
"code.gitea.io/gitea/modules/log"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"github.com/alecthomas/chroma/formatters/html"
|
||||
|
@ -117,9 +118,11 @@ func File(numLines int, fileName string, code []byte) map[int]string {
|
|||
fileName = "test." + val
|
||||
}
|
||||
|
||||
lexer := lexers.Match(fileName)
|
||||
language := analyze.GetCodeLanguage(fileName, code)
|
||||
|
||||
lexer := lexers.Get(language)
|
||||
if lexer == nil {
|
||||
lexer = lexers.Analyse(string(code))
|
||||
lexer = lexers.Match(fileName)
|
||||
if lexer == nil {
|
||||
lexer = lexers.Fallback
|
||||
}
|
||||
|
|
Reference in a new issue