* Server-side syntax hilighting for all code This PR does a few things: * Remove all traces of highlight.js * Use chroma library to provide fast syntax hilighting directly on the server * Provide syntax hilighting for diffs * Re-style both unified and split diffs views * Add custom syntax hilighting styling for both regular and arc-green Fixes #7729 Fixes #10157 Fixes #11825 Fixes #7728 Fixes #3872 Fixes #3682 And perhaps gets closer to #9553 * fix line marker * fix repo search * Fix single line select * properly load settings * npm uninstall highlight.js * review suggestion * code review * forgot to call function * fix test * Apply suggestions from code review suggestions from @silverwind thanks Co-authored-by: silverwind <me@silverwind.io> * code review * copy/paste error * Use const for highlight size limit * Update web_src/less/_repository.less Co-authored-by: Lauris BH <lauris@nix.lv> * update size limit to 1MB and other styling tweaks * fix highlighting for certain diff sections * fix test * add worker back as suggested Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Lauris BH <lauris@nix.lv>
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Go
		
	
	
	
		
			Vendored
		
	
	
	
| package styles
 | |
| 
 | |
| import (
 | |
| 	"github.com/alecthomas/chroma"
 | |
| )
 | |
| 
 | |
| // Native style.
 | |
| var Native = Register(chroma.MustNewStyle("native", chroma.StyleEntries{
 | |
| 	chroma.Background:         "#d0d0d0 bg:#202020",
 | |
| 	chroma.TextWhitespace:     "#666666",
 | |
| 	chroma.Comment:            "italic #999999",
 | |
| 	chroma.CommentPreproc:     "noitalic bold #cd2828",
 | |
| 	chroma.CommentSpecial:     "noitalic bold #e50808 bg:#520000",
 | |
| 	chroma.Keyword:            "bold #6ab825",
 | |
| 	chroma.KeywordPseudo:      "nobold",
 | |
| 	chroma.OperatorWord:       "bold #6ab825",
 | |
| 	chroma.LiteralString:      "#ed9d13",
 | |
| 	chroma.LiteralStringOther: "#ffa500",
 | |
| 	chroma.LiteralNumber:      "#3677a9",
 | |
| 	chroma.NameBuiltin:        "#24909d",
 | |
| 	chroma.NameVariable:       "#40ffff",
 | |
| 	chroma.NameConstant:       "#40ffff",
 | |
| 	chroma.NameClass:          "underline #447fcf",
 | |
| 	chroma.NameFunction:       "#447fcf",
 | |
| 	chroma.NameNamespace:      "underline #447fcf",
 | |
| 	chroma.NameException:      "#bbbbbb",
 | |
| 	chroma.NameTag:            "bold #6ab825",
 | |
| 	chroma.NameAttribute:      "#bbbbbb",
 | |
| 	chroma.NameDecorator:      "#ffa500",
 | |
| 	chroma.GenericHeading:     "bold #ffffff",
 | |
| 	chroma.GenericSubheading:  "underline #ffffff",
 | |
| 	chroma.GenericDeleted:     "#d22323",
 | |
| 	chroma.GenericInserted:    "#589819",
 | |
| 	chroma.GenericError:       "#d22323",
 | |
| 	chroma.GenericEmph:        "italic",
 | |
| 	chroma.GenericStrong:      "bold",
 | |
| 	chroma.GenericPrompt:      "#aaaaaa",
 | |
| 	chroma.GenericOutput:      "#cccccc",
 | |
| 	chroma.GenericTraceback:   "#d22323",
 | |
| 	chroma.GenericUnderline:   "underline",
 | |
| 	chroma.Error:              "bg:#e3d2d2 #a61717",
 | |
| }))
 |