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 | ||||
| 		} | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue