* 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>
11 KiB
Vendored
Generated with:
g 'class.*RegexLexer' | pawk --strict -F: '"pygments.lexers.%s.%s" % (f[0].split(".")[0], f[2].split()[1].split("(")[0])' > lexers.txt
perl6: Requires a bunch of helpers that I do not have the time to convert.
kotlin: invalid unicode escape sequences FIXED: Have to disable wide Unicode characters in unistring.py
pygments.lexers.ambient.AmbientTalkLexer pygments.lexers.ampl.AmplLexer pygments.lexers.actionscript.ActionScriptLexer pygments.lexers.actionscript.ActionScript3Lexer pygments.lexers.actionscript.MxmlLexer pygments.lexers.algebra.GAPLexer pygments.lexers.algebra.MathematicaLexer pygments.lexers.algebra.MuPADLexer pygments.lexers.algebra.BCLexer pygments.lexers.apl.APLLexer pygments.lexers.bibtex.BibTeXLexer pygments.lexers.bibtex.BSTLexer pygments.lexers.basic.BlitzMaxLexer pygments.lexers.basic.BlitzBasicLexer pygments.lexers.basic.MonkeyLexer pygments.lexers.basic.CbmBasicV2Lexer pygments.lexers.basic.QBasicLexer pygments.lexers.automation.AutohotkeyLexer pygments.lexers.automation.AutoItLexer pygments.lexers.archetype.AtomsLexer pygments.lexers.c_like.ClayLexer pygments.lexers.c_like.ValaLexer pygments.lexers.asm.GasLexer pygments.lexers.asm.ObjdumpLexer pygments.lexers.asm.HsailLexer pygments.lexers.asm.LlvmLexer pygments.lexers.asm.NasmLexer pygments.lexers.asm.TasmLexer pygments.lexers.asm.Ca65Lexer pygments.lexers.business.CobolLexer pygments.lexers.business.ABAPLexer pygments.lexers.business.OpenEdgeLexer pygments.lexers.business.GoodDataCLLexer pygments.lexers.business.MaqlLexer pygments.lexers.capnproto.CapnProtoLexer pygments.lexers.chapel.ChapelLexer pygments.lexers.clean.CleanLexer pygments.lexers.c_cpp.CFamilyLexer pygments.lexers.console.VCTreeStatusLexer pygments.lexers.console.PyPyLogLexer pygments.lexers.csound.CsoundLexer pygments.lexers.csound.CsoundDocumentLexer pygments.lexers.csound.CsoundDocumentLexer pygments.lexers.crystal.CrystalLexer pygments.lexers.dalvik.SmaliLexer pygments.lexers.css.CssLexer pygments.lexers.css.SassLexer pygments.lexers.css.ScssLexer pygments.lexers.configs.IniLexer pygments.lexers.configs.RegeditLexer pygments.lexers.configs.PropertiesLexer pygments.lexers.configs.KconfigLexer pygments.lexers.configs.Cfengine3Lexer pygments.lexers.configs.ApacheConfLexer pygments.lexers.configs.SquidConfLexer pygments.lexers.configs.NginxConfLexer pygments.lexers.configs.LighttpdConfLexer pygments.lexers.configs.DockerLexer pygments.lexers.configs.TerraformLexer pygments.lexers.configs.TermcapLexer pygments.lexers.configs.TerminfoLexer pygments.lexers.configs.PkgConfigLexer pygments.lexers.configs.PacmanConfLexer pygments.lexers.data.YamlLexer pygments.lexers.data.JsonLexer pygments.lexers.diff.DiffLexer pygments.lexers.diff.DarcsPatchLexer pygments.lexers.diff.WDiffLexer pygments.lexers.dotnet.CSharpLexer pygments.lexers.dotnet.NemerleLexer pygments.lexers.dotnet.BooLexer pygments.lexers.dotnet.VbNetLexer pygments.lexers.dotnet.GenericAspxLexer pygments.lexers.dotnet.FSharpLexer pygments.lexers.dylan.DylanLexer pygments.lexers.dylan.DylanLidLexer pygments.lexers.ecl.ECLLexer pygments.lexers.eiffel.EiffelLexer pygments.lexers.dsls.ProtoBufLexer pygments.lexers.dsls.ThriftLexer pygments.lexers.dsls.BroLexer pygments.lexers.dsls.PuppetLexer pygments.lexers.dsls.RslLexer pygments.lexers.dsls.MscgenLexer pygments.lexers.dsls.VGLLexer pygments.lexers.dsls.AlloyLexer pygments.lexers.dsls.PanLexer pygments.lexers.dsls.CrmshLexer pygments.lexers.dsls.FlatlineLexer pygments.lexers.dsls.SnowballLexer pygments.lexers.elm.ElmLexer pygments.lexers.erlang.ErlangLexer pygments.lexers.erlang.ElixirLexer pygments.lexers.ezhil.EzhilLexer pygments.lexers.esoteric.BrainfuckLexer pygments.lexers.esoteric.BefungeLexer pygments.lexers.esoteric.CAmkESLexer pygments.lexers.esoteric.CapDLLexer pygments.lexers.esoteric.RedcodeLexer pygments.lexers.esoteric.AheuiLexer pygments.lexers.factor.FactorLexer pygments.lexers.fantom.FantomLexer pygments.lexers.felix.FelixLexer pygments.lexers.forth.ForthLexer pygments.lexers.fortran.FortranLexer pygments.lexers.fortran.FortranFixedLexer pygments.lexers.go.GoLexer pygments.lexers.foxpro.FoxProLexer pygments.lexers.graph.CypherLexer pygments.lexers.grammar_notation.BnfLexer pygments.lexers.grammar_notation.AbnfLexer pygments.lexers.grammar_notation.JsgfLexer pygments.lexers.graphics.GLShaderLexer pygments.lexers.graphics.PostScriptLexer pygments.lexers.graphics.AsymptoteLexer pygments.lexers.graphics.GnuplotLexer pygments.lexers.graphics.PovrayLexer pygments.lexers.hexdump.HexdumpLexer pygments.lexers.haskell.HaskellLexer pygments.lexers.haskell.IdrisLexer pygments.lexers.haskell.AgdaLexer pygments.lexers.haskell.CryptolLexer pygments.lexers.haskell.KokaLexer pygments.lexers.haxe.HaxeLexer pygments.lexers.haxe.HxmlLexer pygments.lexers.hdl.VerilogLexer pygments.lexers.hdl.SystemVerilogLexer pygments.lexers.hdl.VhdlLexer pygments.lexers.idl.IDLLexer pygments.lexers.inferno.LimboLexer pygments.lexers.igor.IgorLexer pygments.lexers.html.HtmlLexer pygments.lexers.html.DtdLexer pygments.lexers.html.XmlLexer pygments.lexers.html.HamlLexer pygments.lexers.html.ScamlLexer pygments.lexers.html.PugLexer pygments.lexers.installers.NSISLexer pygments.lexers.installers.RPMSpecLexer pygments.lexers.installers.SourcesListLexer pygments.lexers.installers.DebianControlLexer pygments.lexers.iolang.IoLexer pygments.lexers.julia.JuliaLexer pygments.lexers.int_fiction.Inform6Lexer pygments.lexers.int_fiction.Inform7Lexer pygments.lexers.int_fiction.Tads3Lexer pygments.lexers.make.BaseMakefileLexer pygments.lexers.make.CMakeLexer pygments.lexers.javascript.JavascriptLexer pygments.lexers.javascript.KalLexer pygments.lexers.javascript.LiveScriptLexer pygments.lexers.javascript.DartLexer pygments.lexers.javascript.TypeScriptLexer pygments.lexers.javascript.LassoLexer pygments.lexers.javascript.ObjectiveJLexer pygments.lexers.javascript.CoffeeScriptLexer pygments.lexers.javascript.MaskLexer pygments.lexers.javascript.EarlGreyLexer pygments.lexers.javascript.JuttleLexer pygments.lexers.jvm.JavaLexer pygments.lexers.jvm.ScalaLexer pygments.lexers.jvm.GosuLexer pygments.lexers.jvm.GroovyLexer pygments.lexers.jvm.IokeLexer pygments.lexers.jvm.ClojureLexer pygments.lexers.jvm.TeaLangLexer pygments.lexers.jvm.CeylonLexer pygments.lexers.jvm.KotlinLexer pygments.lexers.jvm.XtendLexer pygments.lexers.jvm.PigLexer pygments.lexers.jvm.GoloLexer pygments.lexers.jvm.JasminLexer pygments.lexers.markup.BBCodeLexer pygments.lexers.markup.MoinWikiLexer pygments.lexers.markup.RstLexer pygments.lexers.markup.TexLexer pygments.lexers.markup.GroffLexer pygments.lexers.markup.MozPreprocHashLexer pygments.lexers.markup.MarkdownLexer pygments.lexers.ml.SMLLexer pygments.lexers.ml.OcamlLexer pygments.lexers.ml.OpaLexer pygments.lexers.modeling.ModelicaLexer pygments.lexers.modeling.BugsLexer pygments.lexers.modeling.JagsLexer pygments.lexers.modeling.StanLexer pygments.lexers.matlab.MatlabLexer pygments.lexers.matlab.OctaveLexer pygments.lexers.matlab.ScilabLexer pygments.lexers.monte.MonteLexer pygments.lexers.lisp.SchemeLexer pygments.lexers.lisp.CommonLispLexer pygments.lexers.lisp.HyLexer pygments.lexers.lisp.RacketLexer pygments.lexers.lisp.NewLispLexer pygments.lexers.lisp.EmacsLispLexer pygments.lexers.lisp.ShenLexer pygments.lexers.lisp.XtlangLexer pygments.lexers.modula2.Modula2Lexer pygments.lexers.ncl.NCLLexer pygments.lexers.nim.NimLexer pygments.lexers.nit.NitLexer pygments.lexers.nix.NixLexer pygments.lexers.oberon.ComponentPascalLexer pygments.lexers.ooc.OocLexer pygments.lexers.objective.SwiftLexer pygments.lexers.parasail.ParaSailLexer pygments.lexers.pawn.SourcePawnLexer pygments.lexers.pawn.PawnLexer pygments.lexers.pascal.AdaLexer pygments.lexers.parsers.RagelLexer pygments.lexers.parsers.RagelEmbeddedLexer pygments.lexers.parsers.AntlrLexer pygments.lexers.parsers.TreetopBaseLexer pygments.lexers.parsers.EbnfLexer pygments.lexers.php.ZephirLexer pygments.lexers.php.PhpLexer pygments.lexers.perl.PerlLexer pygments.lexers.perl.Perl6Lexer pygments.lexers.praat.PraatLexer pygments.lexers.prolog.PrologLexer pygments.lexers.prolog.LogtalkLexer pygments.lexers.qvt.QVToLexer pygments.lexers.rdf.SparqlLexer pygments.lexers.rdf.TurtleLexer pygments.lexers.python.PythonLexer pygments.lexers.python.Python3Lexer pygments.lexers.python.PythonTracebackLexer pygments.lexers.python.Python3TracebackLexer pygments.lexers.python.CythonLexer pygments.lexers.python.DgLexer pygments.lexers.rebol.RebolLexer pygments.lexers.rebol.RedLexer pygments.lexers.resource.ResourceLexer pygments.lexers.rnc.RNCCompactLexer pygments.lexers.roboconf.RoboconfGraphLexer pygments.lexers.roboconf.RoboconfInstancesLexer pygments.lexers.rust.RustLexer pygments.lexers.ruby.RubyLexer pygments.lexers.ruby.FancyLexer pygments.lexers.sas.SASLexer pygments.lexers.smalltalk.SmalltalkLexer pygments.lexers.smalltalk.NewspeakLexer pygments.lexers.smv.NuSMVLexer pygments.lexers.shell.BashLexer pygments.lexers.shell.BatchLexer pygments.lexers.shell.TcshLexer pygments.lexers.shell.PowerShellLexer pygments.lexers.shell.FishShellLexer pygments.lexers.snobol.SnobolLexer pygments.lexers.scripting.LuaLexer pygments.lexers.scripting.ChaiscriptLexer pygments.lexers.scripting.LSLLexer pygments.lexers.scripting.AppleScriptLexer pygments.lexers.scripting.RexxLexer pygments.lexers.scripting.MOOCodeLexer pygments.lexers.scripting.HybrisLexer pygments.lexers.scripting.EasytrieveLexer pygments.lexers.scripting.JclLexer pygments.lexers.supercollider.SuperColliderLexer pygments.lexers.stata.StataLexer pygments.lexers.tcl.TclLexer pygments.lexers.sql.PostgresLexer pygments.lexers.sql.PlPgsqlLexer pygments.lexers.sql.PsqlRegexLexer pygments.lexers.sql.SqlLexer pygments.lexers.sql.TransactSqlLexer pygments.lexers.sql.MySqlLexer pygments.lexers.sql.RqlLexer pygments.lexers.testing.GherkinLexer pygments.lexers.testing.TAPLexer pygments.lexers.textedit.AwkLexer pygments.lexers.textedit.VimLexer pygments.lexers.textfmts.IrcLogsLexer pygments.lexers.textfmts.GettextLexer pygments.lexers.textfmts.HttpLexer pygments.lexers.textfmts.TodotxtLexer pygments.lexers.trafficscript.RtsLexer pygments.lexers.theorem.CoqLexer pygments.lexers.theorem.IsabelleLexer pygments.lexers.theorem.LeanLexer pygments.lexers.templates.SmartyLexer pygments.lexers.templates.VelocityLexer pygments.lexers.templates.DjangoLexer pygments.lexers.templates.MyghtyLexer pygments.lexers.templates.MasonLexer pygments.lexers.templates.MakoLexer pygments.lexers.templates.CheetahLexer pygments.lexers.templates.GenshiTextLexer pygments.lexers.templates.GenshiMarkupLexer pygments.lexers.templates.JspRootLexer pygments.lexers.templates.EvoqueLexer pygments.lexers.templates.ColdfusionLexer pygments.lexers.templates.ColdfusionMarkupLexer pygments.lexers.templates.TeaTemplateRootLexer pygments.lexers.templates.HandlebarsLexer pygments.lexers.templates.LiquidLexer pygments.lexers.templates.TwigLexer pygments.lexers.templates.Angular2Lexer pygments.lexers.urbi.UrbiscriptLexer pygments.lexers.typoscript.TypoScriptCssDataLexer pygments.lexers.typoscript.TypoScriptHtmlDataLexer pygments.lexers.typoscript.TypoScriptLexer pygments.lexers.varnish.VCLLexer pygments.lexers.verification.BoogieLexer pygments.lexers.verification.SilverLexer pygments.lexers.x10.X10Lexer pygments.lexers.whiley.WhileyLexer pygments.lexers.xorg.XorgLexer pygments.lexers.webmisc.DuelLexer pygments.lexers.webmisc.XQueryLexer pygments.lexers.webmisc.QmlLexer pygments.lexers.webmisc.CirruLexer pygments.lexers.webmisc.SlimLexer