[IMPROVE] Load code highlighting languages on demand and fixes on new message parser (#23232)
parent
2fd913c0b8
commit
5c1a7623b3
@ -1,371 +1,361 @@ |
||||
import hljs from 'highlight.js/lib/highlight'; |
||||
// import onec from 'highlight.js/lib/languages/1c';
|
||||
// import abnf from 'highlight.js/lib/languages/abnf';
|
||||
// import accesslog from 'highlight.js/lib/languages/accesslog';
|
||||
// import actionscript from 'highlight.js/lib/languages/actionscript';
|
||||
// import ada from 'highlight.js/lib/languages/ada';
|
||||
// import angelscript from 'highlight.js/lib/languages/angelscript';
|
||||
// import apache from 'highlight.js/lib/languages/apache';
|
||||
// import applescript from 'highlight.js/lib/languages/applescript';
|
||||
// import arcade from 'highlight.js/lib/languages/arcade';
|
||||
// import cpp from 'highlight.js/lib/languages/cpp';
|
||||
// import arduino from 'highlight.js/lib/languages/arduino';
|
||||
// import armasm from 'highlight.js/lib/languages/armasm';
|
||||
// import xml from 'highlight.js/lib/languages/xml';
|
||||
// import asciidoc from 'highlight.js/lib/languages/asciidoc';
|
||||
// import aspectj from 'highlight.js/lib/languages/aspectj';
|
||||
// import autohotkey from 'highlight.js/lib/languages/autohotkey';
|
||||
// import autoit from 'highlight.js/lib/languages/autoit';
|
||||
// import avrasm from 'highlight.js/lib/languages/avrasm';
|
||||
// import awk from 'highlight.js/lib/languages/awk';
|
||||
// import axapta from 'highlight.js/lib/languages/axapta';
|
||||
import bash from 'highlight.js/lib/languages/bash'; |
||||
// import basic from 'highlight.js/lib/languages/basic';
|
||||
// import bnf from 'highlight.js/lib/languages/bnf';
|
||||
// import brainfuck from 'highlight.js/lib/languages/brainfuck';
|
||||
// import cal from 'highlight.js/lib/languages/cal';
|
||||
// import capnproto from 'highlight.js/lib/languages/capnproto';
|
||||
// import ceylon from 'highlight.js/lib/languages/ceylon';
|
||||
import clean from 'highlight.js/lib/languages/clean'; |
||||
// import clojure from 'highlight.js/lib/languages/clojure';
|
||||
// import clojureRepl from 'highlight.js/lib/languages/clojure-repl';
|
||||
// import cmake from 'highlight.js/lib/languages/cmake';
|
||||
// import coq from 'highlight.js/lib/languages/coq';
|
||||
// import cos from 'highlight.js/lib/languages/cos';
|
||||
// import crmsh from 'highlight.js/lib/languages/crmsh';
|
||||
// import crystal from 'highlight.js/lib/languages/crystal';
|
||||
// import cs from 'highlight.js/lib/languages/cs';
|
||||
// import csp from 'highlight.js/lib/languages/csp';
|
||||
import css from 'highlight.js/lib/languages/css'; |
||||
// import d from 'highlight.js/lib/languages/d';
|
||||
import markdown from 'highlight.js/lib/languages/markdown'; |
||||
// import dart from 'highlight.js/lib/languages/dart';
|
||||
// import delphi from 'highlight.js/lib/languages/delphi';
|
||||
// import diff from 'highlight.js/lib/languages/diff';
|
||||
// import django from 'highlight.js/lib/languages/django';
|
||||
// import dns from 'highlight.js/lib/languages/dns';
|
||||
import dockerfile from 'highlight.js/lib/languages/dockerfile'; |
||||
// import dos from 'highlight.js/lib/languages/dos';
|
||||
// import dsconfig from 'highlight.js/lib/languages/dsconfig';
|
||||
// import dts from 'highlight.js/lib/languages/dts';
|
||||
// import dust from 'highlight.js/lib/languages/dust';
|
||||
// import ebnf from 'highlight.js/lib/languages/ebnf';
|
||||
// import elixir from 'highlight.js/lib/languages/elixir';
|
||||
// import elm from 'highlight.js/lib/languages/elm';
|
||||
// import ruby from 'highlight.js/lib/languages/ruby';
|
||||
// import erb from 'highlight.js/lib/languages/erb';
|
||||
// import erlangRepl from 'highlight.js/lib/languages/erlang-repl';
|
||||
// import erlang from 'highlight.js/lib/languages/erlang';
|
||||
// import excel from 'highlight.js/lib/languages/excel';
|
||||
// import fix from 'highlight.js/lib/languages/fix';
|
||||
// import flix from 'highlight.js/lib/languages/flix';
|
||||
// import fortran from 'highlight.js/lib/languages/fortran';
|
||||
// import fsharp from 'highlight.js/lib/languages/fsharp';
|
||||
// import gams from 'highlight.js/lib/languages/gams';
|
||||
// import gauss from 'highlight.js/lib/languages/gauss';
|
||||
// import gcode from 'highlight.js/lib/languages/gcode';
|
||||
// import gherkin from 'highlight.js/lib/languages/gherkin';
|
||||
// import glsl from 'highlight.js/lib/languages/glsl';
|
||||
// import gml from 'highlight.js/lib/languages/gml';
|
||||
import go from 'highlight.js/lib/languages/go'; |
||||
// import golo from 'highlight.js/lib/languages/golo';
|
||||
// import gradle from 'highlight.js/lib/languages/gradle';
|
||||
// import groovy from 'highlight.js/lib/languages/groovy';
|
||||
// import haml from 'highlight.js/lib/languages/haml';
|
||||
// import handlebars from 'highlight.js/lib/languages/handlebars';
|
||||
// import haskell from 'highlight.js/lib/languages/haskell';
|
||||
// import haxe from 'highlight.js/lib/languages/haxe';
|
||||
// import hsp from 'highlight.js/lib/languages/hsp';
|
||||
// import htmlbars from 'highlight.js/lib/languages/htmlbars';
|
||||
// import http from 'highlight.js/lib/languages/http';
|
||||
// import hy from 'highlight.js/lib/languages/hy';
|
||||
// import inform7 from 'highlight.js/lib/languages/inform7';
|
||||
// import ini from 'highlight.js/lib/languages/ini';
|
||||
// import irpf90 from 'highlight.js/lib/languages/irpf90';
|
||||
// import isbl from 'highlight.js/lib/languages/isbl';
|
||||
// import java from 'highlight.js/lib/languages/java';
|
||||
import javascript from 'highlight.js/lib/languages/javascript'; |
||||
// import jbossCli from 'highlight.js/lib/languages/jboss-cli';
|
||||
import json from 'highlight.js/lib/languages/json'; |
||||
// import julia from 'highlight.js/lib/languages/julia';
|
||||
// import juliaRepl from 'highlight.js/lib/languages/julia-repl';
|
||||
// import kotlin from 'highlight.js/lib/languages/kotlin';
|
||||
// import lasso from 'highlight.js/lib/languages/lasso';
|
||||
// import ldif from 'highlight.js/lib/languages/ldif';
|
||||
// import leaf from 'highlight.js/lib/languages/leaf';
|
||||
// import less from 'highlight.js/lib/languages/less';
|
||||
// import lisp from 'highlight.js/lib/languages/lisp';
|
||||
// import livecodeserver from 'highlight.js/lib/languages/livecodeserver';
|
||||
// import llvm from 'highlight.js/lib/languages/llvm';
|
||||
// import lsl from 'highlight.js/lib/languages/lsl';
|
||||
// import lua from 'highlight.js/lib/languages/lua';
|
||||
// import makefile from 'highlight.js/lib/languages/makefile';
|
||||
// import mathematica from 'highlight.js/lib/languages/mathematica';
|
||||
// import matlab from 'highlight.js/lib/languages/matlab';
|
||||
// import maxima from 'highlight.js/lib/languages/maxima';
|
||||
// import mel from 'highlight.js/lib/languages/mel';
|
||||
// import mercury from 'highlight.js/lib/languages/mercury';
|
||||
// import mipsasm from 'highlight.js/lib/languages/mipsasm';
|
||||
// import mizar from 'highlight.js/lib/languages/mizar';
|
||||
// import perl from 'highlight.js/lib/languages/perl';
|
||||
// import mojolicious from 'highlight.js/lib/languages/mojolicious';
|
||||
// import monkey from 'highlight.js/lib/languages/monkey';
|
||||
// import moonscript from 'highlight.js/lib/languages/moonscript';
|
||||
// import n1ql from 'highlight.js/lib/languages/n1ql';
|
||||
// import nginx from 'highlight.js/lib/languages/nginx';
|
||||
// import nimrod from 'highlight.js/lib/languages/nimrod';
|
||||
// import nix from 'highlight.js/lib/languages/nix';
|
||||
// import nsis from 'highlight.js/lib/languages/nsis';
|
||||
// import objectivec from 'highlight.js/lib/languages/objectivec';
|
||||
// import ocaml from 'highlight.js/lib/languages/ocaml';
|
||||
// import openscad from 'highlight.js/lib/languages/openscad';
|
||||
// import oxygene from 'highlight.js/lib/languages/oxygene';
|
||||
// import parser3 from 'highlight.js/lib/languages/parser3';
|
||||
// import pf from 'highlight.js/lib/languages/pf';
|
||||
// import pgsql from 'highlight.js/lib/languages/pgsql';
|
||||
// import php from 'highlight.js/lib/languages/php';
|
||||
import plaintext from 'highlight.js/lib/languages/plaintext'; |
||||
// import pony from 'highlight.js/lib/languages/pony';
|
||||
import powershell from 'highlight.js/lib/languages/powershell'; |
||||
// import processing from 'highlight.js/lib/languages/processing';
|
||||
// import profile from 'highlight.js/lib/languages/profile';
|
||||
// import prolog from 'highlight.js/lib/languages/prolog';
|
||||
// import properties from 'highlight.js/lib/languages/properties';
|
||||
// import protobuf from 'highlight.js/lib/languages/protobuf';
|
||||
// import puppet from 'highlight.js/lib/languages/puppet';
|
||||
// import purebasic from 'highlight.js/lib/languages/purebasic';
|
||||
// import python from 'highlight.js/lib/languages/python';
|
||||
// import q from 'highlight.js/lib/languages/q';
|
||||
// import qml from 'highlight.js/lib/languages/qml';
|
||||
// import r from 'highlight.js/lib/languages/r';
|
||||
// import reasonml from 'highlight.js/lib/languages/reasonml';
|
||||
// import rib from 'highlight.js/lib/languages/rib';
|
||||
// import roboconf from 'highlight.js/lib/languages/roboconf';
|
||||
// import routeros from 'highlight.js/lib/languages/routeros';
|
||||
// import rsl from 'highlight.js/lib/languages/rsl';
|
||||
// import ruleslanguage from 'highlight.js/lib/languages/ruleslanguage';
|
||||
import rust from 'highlight.js/lib/languages/rust'; |
||||
// import sas from 'highlight.js/lib/languages/sas';
|
||||
// import scala from 'highlight.js/lib/languages/scala';
|
||||
// import scheme from 'highlight.js/lib/languages/scheme';
|
||||
// import scilab from 'highlight.js/lib/languages/scilab';
|
||||
import scss from 'highlight.js/lib/languages/scss'; |
||||
import shell from 'highlight.js/lib/languages/shell'; |
||||
// import smali from 'highlight.js/lib/languages/smali';
|
||||
// import smalltalk from 'highlight.js/lib/languages/smalltalk';
|
||||
// import sml from 'highlight.js/lib/languages/sml';
|
||||
// import sqf from 'highlight.js/lib/languages/sqf';
|
||||
// import sql from 'highlight.js/lib/languages/sql';
|
||||
// import stan from 'highlight.js/lib/languages/stan';
|
||||
// import stata from 'highlight.js/lib/languages/stata';
|
||||
// import step21 from 'highlight.js/lib/languages/step21';
|
||||
// import stylus from 'highlight.js/lib/languages/stylus';
|
||||
// import subunit from 'highlight.js/lib/languages/subunit';
|
||||
// import swift from 'highlight.js/lib/languages/swift';
|
||||
// import taggerscript from 'highlight.js/lib/languages/taggerscript';
|
||||
import yaml from 'highlight.js/lib/languages/yaml'; |
||||
// import tap from 'highlight.js/lib/languages/tap';
|
||||
// import tcl from 'highlight.js/lib/languages/tcl';
|
||||
// import tex from 'highlight.js/lib/languages/tex';
|
||||
// import thrift from 'highlight.js/lib/languages/thrift';
|
||||
// import tp from 'highlight.js/lib/languages/tp';
|
||||
// import twig from 'highlight.js/lib/languages/twig';
|
||||
// import typescript from 'highlight.js/lib/languages/typescript';
|
||||
// import vala from 'highlight.js/lib/languages/vala';
|
||||
// import vbnet from 'highlight.js/lib/languages/vbnet';
|
||||
// import vbscript from 'highlight.js/lib/languages/vbscript';
|
||||
// import vbscriptHtml from 'highlight.js/lib/languages/vbscript-html';
|
||||
// import verilog from 'highlight.js/lib/languages/verilog';
|
||||
// import vhdl from 'highlight.js/lib/languages/vhdl';
|
||||
import vim from 'highlight.js/lib/languages/vim'; |
||||
// import x86asm from 'highlight.js/lib/languages/x86asm';
|
||||
// import xl from 'highlight.js/lib/languages/xl';
|
||||
// import xquery from 'highlight.js/lib/languages/xquery';
|
||||
// import zephir from 'highlight.js/lib/languages/zephir';
|
||||
|
||||
|
||||
hljs.registerLanguage('javascript', javascript); |
||||
// hljs.registerLanguage('typescript', typescript);
|
||||
// hljs.registerLanguage('python', python);
|
||||
// hljs.registerLanguage('java', java);
|
||||
// hljs.registerLanguage('php', php);
|
||||
hljs.registerLanguage('css', css); |
||||
hljs.registerLanguage('markdown', markdown); |
||||
hljs.registerLanguage('dockerfile', dockerfile); |
||||
hljs.registerLanguage('json', json); |
||||
// hljs.registerLanguage('r', r);
|
||||
// hljs.registerLanguage('objectivec', objectivec);
|
||||
// hljs.registerLanguage('swift', swift);
|
||||
// hljs.registerLanguage('matlab', matlab);
|
||||
// hljs.registerLanguage('kotlin', kotlin);
|
||||
hljs.registerLanguage('go', go); |
||||
// hljs.registerLanguage('ruby', ruby);
|
||||
// hljs.registerLanguage('scala', scala);
|
||||
hljs.registerLanguage('rust', rust); |
||||
// hljs.registerLanguage('dart', dart);
|
||||
// hljs.registerLanguage('lua', lua);
|
||||
// hljs.registerLanguage('ada', ada);
|
||||
// hljs.registerLanguage('groovy', groovy);
|
||||
// hljs.registerLanguage('julia', julia);
|
||||
// hljs.registerLanguage('julia-repl', juliaRepl);
|
||||
// hljs.registerLanguage('haskell', haskell);
|
||||
// hljs.registerLanguage('delphi', delphi);
|
||||
hljs.registerLanguage('clean', clean); |
||||
// hljs.registerLanguage('1c', onec);
|
||||
// hljs.registerLanguage('abnf', abnf);
|
||||
// hljs.registerLanguage('accesslog', accesslog);
|
||||
// hljs.registerLanguage('actionscript', actionscript);
|
||||
// hljs.registerLanguage('angelscript', angelscript);
|
||||
// hljs.registerLanguage('apache', apache);
|
||||
// hljs.registerLanguage('applescript', applescript);
|
||||
// hljs.registerLanguage('arcade', arcade);
|
||||
// hljs.registerLanguage('cpp', cpp);
|
||||
// hljs.registerLanguage('arduino', arduino);
|
||||
// hljs.registerLanguage('armasm', armasm);
|
||||
// hljs.registerLanguage('xml', xml);
|
||||
// hljs.registerLanguage('asciidoc', asciidoc);
|
||||
// hljs.registerLanguage('aspectj', aspectj);
|
||||
// hljs.registerLanguage('autohotkey', autohotkey);
|
||||
// hljs.registerLanguage('autoit', autoit);
|
||||
// hljs.registerLanguage('avrasm', avrasm);
|
||||
// hljs.registerLanguage('awk', awk);
|
||||
// hljs.registerLanguage('axapta', axapta);
|
||||
hljs.registerLanguage('bash', bash); |
||||
// hljs.registerLanguage('basic', basic);
|
||||
// hljs.registerLanguage('bnf', bnf);
|
||||
// hljs.registerLanguage('brainfuck', brainfuck);
|
||||
// hljs.registerLanguage('cal', cal);
|
||||
// hljs.registerLanguage('capnproto', capnproto);
|
||||
// hljs.registerLanguage('ceylon', ceylon);
|
||||
// hljs.registerLanguage('clojure', clojure);
|
||||
// hljs.registerLanguage('clojure-repl', clojureRepl);
|
||||
// hljs.registerLanguage('cmake', cmake);
|
||||
// hljs.registerLanguage('coq', coq);
|
||||
// hljs.registerLanguage('cos', cos);
|
||||
// hljs.registerLanguage('crmsh', crmsh);
|
||||
// hljs.registerLanguage('crystal', crystal);
|
||||
// hljs.registerLanguage('cs', cs);
|
||||
// hljs.registerLanguage('csp', csp);
|
||||
// hljs.registerLanguage('d', d);
|
||||
// hljs.registerLanguage('diff', diff);
|
||||
// hljs.registerLanguage('django', django);
|
||||
// hljs.registerLanguage('dns', dns);
|
||||
// hljs.registerLanguage('dos', dos);
|
||||
// hljs.registerLanguage('dsconfig', dsconfig);
|
||||
// hljs.registerLanguage('dts', dts);
|
||||
// hljs.registerLanguage('dust', dust);
|
||||
// hljs.registerLanguage('ebnf', ebnf);
|
||||
// hljs.registerLanguage('elixir', elixir);
|
||||
// hljs.registerLanguage('elm', elm);
|
||||
// hljs.registerLanguage('erb', erb);
|
||||
// hljs.registerLanguage('erlang-repl', erlangRepl);
|
||||
// hljs.registerLanguage('erlang', erlang);
|
||||
// hljs.registerLanguage('excel', excel);
|
||||
// hljs.registerLanguage('fix', fix);
|
||||
// hljs.registerLanguage('flix', flix);
|
||||
// hljs.registerLanguage('fortran', fortran);
|
||||
// hljs.registerLanguage('fsharp', fsharp);
|
||||
// hljs.registerLanguage('gams', gams);
|
||||
// hljs.registerLanguage('gauss', gauss);
|
||||
// hljs.registerLanguage('gcode', gcode);
|
||||
// hljs.registerLanguage('gherkin', gherkin);
|
||||
// hljs.registerLanguage('glsl', glsl);
|
||||
// hljs.registerLanguage('gml', gml);
|
||||
// hljs.registerLanguage('golo', golo);
|
||||
// hljs.registerLanguage('gradle', gradle);
|
||||
// hljs.registerLanguage('haml', haml);
|
||||
// hljs.registerLanguage('handlebars', handlebars);
|
||||
// hljs.registerLanguage('haxe', haxe);
|
||||
// hljs.registerLanguage('hsp', hsp);
|
||||
// hljs.registerLanguage('htmlbars', htmlbars);
|
||||
// hljs.registerLanguage('http', http);
|
||||
// hljs.registerLanguage('hy', hy);
|
||||
// hljs.registerLanguage('inform7', inform7);
|
||||
// hljs.registerLanguage('ini', ini);
|
||||
// hljs.registerLanguage('irpf90', irpf90);
|
||||
// hljs.registerLanguage('isbl', isbl);
|
||||
// hljs.registerLanguage('jboss-cli', jbossCli);
|
||||
// hljs.registerLanguage('lasso', lasso);
|
||||
// hljs.registerLanguage('ldif', ldif);
|
||||
// hljs.registerLanguage('leaf', leaf);
|
||||
// hljs.registerLanguage('less', less);
|
||||
// hljs.registerLanguage('lisp', lisp);
|
||||
// hljs.registerLanguage('livecodeserver', livecodeserver);
|
||||
// hljs.registerLanguage('llvm', llvm);
|
||||
// hljs.registerLanguage('lsl', lsl);
|
||||
// hljs.registerLanguage('makefile', makefile);
|
||||
// hljs.registerLanguage('mathematica', mathematica);
|
||||
// hljs.registerLanguage('maxima', maxima);
|
||||
// hljs.registerLanguage('mel', mel);
|
||||
// hljs.registerLanguage('mercury', mercury);
|
||||
// hljs.registerLanguage('mipsasm', mipsasm);
|
||||
// hljs.registerLanguage('mizar', mizar);
|
||||
// hljs.registerLanguage('perl', perl);
|
||||
// hljs.registerLanguage('mojolicious', mojolicious);
|
||||
// hljs.registerLanguage('monkey', monkey);
|
||||
// hljs.registerLanguage('moonscript', moonscript);
|
||||
// hljs.registerLanguage('n1ql', n1ql);
|
||||
// hljs.registerLanguage('nginx', nginx);
|
||||
// hljs.registerLanguage('nimrod', nimrod);
|
||||
// hljs.registerLanguage('nix', nix);
|
||||
// hljs.registerLanguage('nsis', nsis);
|
||||
// hljs.registerLanguage('ocaml', ocaml);
|
||||
// hljs.registerLanguage('openscad', openscad);
|
||||
// hljs.registerLanguage('oxygene', oxygene);
|
||||
// hljs.registerLanguage('parser3', parser3);
|
||||
// hljs.registerLanguage('pf', pf);
|
||||
// hljs.registerLanguage('pgsql', pgsql);
|
||||
hljs.registerLanguage('plaintext', plaintext); |
||||
// hljs.registerLanguage('pony', pony);
|
||||
hljs.registerLanguage('powershell', powershell); |
||||
// hljs.registerLanguage('processing', processing);
|
||||
// hljs.registerLanguage('profile', profile);
|
||||
// hljs.registerLanguage('prolog', prolog);
|
||||
// hljs.registerLanguage('properties', properties);
|
||||
// hljs.registerLanguage('protobuf', protobuf);
|
||||
// hljs.registerLanguage('puppet', puppet);
|
||||
// hljs.registerLanguage('purebasic', purebasic);
|
||||
// hljs.registerLanguage('q', q);
|
||||
// hljs.registerLanguage('qml', qml);
|
||||
// hljs.registerLanguage('reasonml', reasonml);
|
||||
// hljs.registerLanguage('rib', rib);
|
||||
// hljs.registerLanguage('roboconf', roboconf);
|
||||
// hljs.registerLanguage('routeros', routeros);
|
||||
// hljs.registerLanguage('rsl', rsl);
|
||||
// hljs.registerLanguage('ruleslanguage', ruleslanguage);
|
||||
// hljs.registerLanguage('sas', sas);
|
||||
// hljs.registerLanguage('scheme', scheme);
|
||||
// hljs.registerLanguage('scilab', scilab);
|
||||
hljs.registerLanguage('scss', scss); |
||||
hljs.registerLanguage('shell', shell); |
||||
// hljs.registerLanguage('smali', smali);
|
||||
// hljs.registerLanguage('smalltalk', smalltalk);
|
||||
// hljs.registerLanguage('sml', sml);
|
||||
// hljs.registerLanguage('sqf', sqf);
|
||||
// hljs.registerLanguage('sql', sql);
|
||||
// hljs.registerLanguage('stan', stan);
|
||||
// hljs.registerLanguage('stata', stata);
|
||||
// hljs.registerLanguage('step21', step21);
|
||||
// hljs.registerLanguage('stylus', stylus);
|
||||
// hljs.registerLanguage('subunit', subunit);
|
||||
// hljs.registerLanguage('taggerscript', taggerscript);
|
||||
hljs.registerLanguage('yaml', yaml); |
||||
// hljs.registerLanguage('tap', tap);
|
||||
// hljs.registerLanguage('tcl', tcl);
|
||||
// hljs.registerLanguage('tex', tex);
|
||||
// hljs.registerLanguage('thrift', thrift);
|
||||
// hljs.registerLanguage('tp', tp);
|
||||
// hljs.registerLanguage('twig', twig);
|
||||
// hljs.registerLanguage('vala', vala);
|
||||
// hljs.registerLanguage('vbnet', vbnet);
|
||||
// hljs.registerLanguage('vbscript', vbscript);
|
||||
// hljs.registerLanguage('vbscript-html', vbscriptHtml);
|
||||
// hljs.registerLanguage('verilog', verilog);
|
||||
// hljs.registerLanguage('vhdl', vhdl);
|
||||
hljs.registerLanguage('vim', vim); |
||||
// hljs.registerLanguage('x86asm', x86asm);
|
||||
// hljs.registerLanguage('xl', xl);
|
||||
// hljs.registerLanguage('xquery', xquery);
|
||||
// hljs.registerLanguage('zephir', zephir);
|
||||
hljs.registerLanguage('javascript', javascript); |
||||
// eslint-disable-next-line complexity
|
||||
export const register = async (lang) => { |
||||
switch (lang) { |
||||
case 'onec': |
||||
return hljs.registerLanguage('onec', (await import('highlight.js/lib/languages/1c')).default); |
||||
case 'abnf': |
||||
return hljs.registerLanguage('abnf', (await import('highlight.js/lib/languages/abnf')).default); |
||||
case 'accesslog': |
||||
return hljs.registerLanguage('accesslog', (await import('highlight.js/lib/languages/accesslog')).default); |
||||
case 'actionscript': |
||||
return hljs.registerLanguage('actionscript', (await import('highlight.js/lib/languages/actionscript')).default); |
||||
case 'ada': |
||||
return hljs.registerLanguage('ada', (await import('highlight.js/lib/languages/ada')).default); |
||||
case 'apache': |
||||
return hljs.registerLanguage('apache', (await import('highlight.js/lib/languages/apache')).default); |
||||
case 'applescript': |
||||
return hljs.registerLanguage('applescript', (await import('highlight.js/lib/languages/applescript')).default); |
||||
case 'arduino': |
||||
return hljs.registerLanguage('arduino', (await import('highlight.js/lib/languages/arduino')).default); |
||||
case 'armasm': |
||||
return hljs.registerLanguage('armasm', (await import('highlight.js/lib/languages/armasm')).default); |
||||
case 'asciidoc': |
||||
return hljs.registerLanguage('asciidoc', (await import('highlight.js/lib/languages/asciidoc')).default); |
||||
case 'aspectj': |
||||
return hljs.registerLanguage('aspectj', (await import('highlight.js/lib/languages/aspectj')).default); |
||||
case 'autohotkey': |
||||
return hljs.registerLanguage('autohotkey', (await import('highlight.js/lib/languages/autohotkey')).default); |
||||
case 'autoit': |
||||
return hljs.registerLanguage('autoit', (await import('highlight.js/lib/languages/autoit')).default); |
||||
case 'avrasm': |
||||
return hljs.registerLanguage('avrasm', (await import('highlight.js/lib/languages/avrasm')).default); |
||||
case 'awk': |
||||
return hljs.registerLanguage('awk', (await import('highlight.js/lib/languages/awk')).default); |
||||
case 'axapta': |
||||
return hljs.registerLanguage('axapta', (await import('highlight.js/lib/languages/axapta')).default); |
||||
case 'bash': |
||||
return hljs.registerLanguage('bash', (await import('highlight.js/lib/languages/bash')).default); |
||||
case 'basic': |
||||
return hljs.registerLanguage('basic', (await import('highlight.js/lib/languages/basic')).default); |
||||
case 'bnf': |
||||
return hljs.registerLanguage('bnf', (await import('highlight.js/lib/languages/bnf')).default); |
||||
case 'brainfuck': |
||||
return hljs.registerLanguage('brainfuck', (await import('highlight.js/lib/languages/brainfuck')).default); |
||||
case 'cal': |
||||
return hljs.registerLanguage('cal', (await import('highlight.js/lib/languages/cal')).default); |
||||
case 'capnproto': |
||||
return hljs.registerLanguage('capnproto', (await import('highlight.js/lib/languages/capnproto')).default); |
||||
case 'ceylon': |
||||
return hljs.registerLanguage('ceylon', (await import('highlight.js/lib/languages/ceylon')).default); |
||||
case 'clean': |
||||
return hljs.registerLanguage('clean', (await import('highlight.js/lib/languages/clean')).default); |
||||
case 'clojure': |
||||
return hljs.registerLanguage('clojure', (await import('highlight.js/lib/languages/clojure')).default); |
||||
case 'clojure-repl': |
||||
return hljs.registerLanguage('clojure-repl', (await import('highlight.js/lib/languages/clojure-repl')).default); |
||||
case 'cmake': |
||||
return hljs.registerLanguage('cmake', (await import('highlight.js/lib/languages/cmake')).default); |
||||
case 'coffeescript': |
||||
return hljs.registerLanguage('coffeescript', (await import('highlight.js/lib/languages/coffeescript')).default); |
||||
case 'coq': |
||||
return hljs.registerLanguage('coq', (await import('highlight.js/lib/languages/coq')).default); |
||||
case 'cos': |
||||
return hljs.registerLanguage('cos', (await import('highlight.js/lib/languages/cos')).default); |
||||
case 'cpp': |
||||
return hljs.registerLanguage('cpp', (await import('highlight.js/lib/languages/cpp')).default); |
||||
case 'crmsh': |
||||
return hljs.registerLanguage('crmsh', (await import('highlight.js/lib/languages/crmsh')).default); |
||||
case 'crystal': |
||||
return hljs.registerLanguage('crystal', (await import('highlight.js/lib/languages/crystal')).default); |
||||
case 'cs': |
||||
return hljs.registerLanguage('cs', (await import('highlight.js/lib/languages/cs')).default); |
||||
case 'csp': |
||||
return hljs.registerLanguage('csp', (await import('highlight.js/lib/languages/csp')).default); |
||||
case 'css': |
||||
return hljs.registerLanguage('css', (await import('highlight.js/lib/languages/css')).default); |
||||
case 'd': |
||||
return hljs.registerLanguage('d', (await import('highlight.js/lib/languages/d')).default); |
||||
case 'dart': |
||||
return hljs.registerLanguage('dart', (await import('highlight.js/lib/languages/dart')).default); |
||||
case 'delphi': |
||||
return hljs.registerLanguage('delphi', (await import('highlight.js/lib/languages/delphi')).default); |
||||
case 'diff': |
||||
return hljs.registerLanguage('diff', (await import('highlight.js/lib/languages/diff')).default); |
||||
case 'django': |
||||
return hljs.registerLanguage('django', (await import('highlight.js/lib/languages/django')).default); |
||||
case 'dns': |
||||
return hljs.registerLanguage('dns', (await import('highlight.js/lib/languages/dns')).default); |
||||
case 'dockerfile': |
||||
return hljs.registerLanguage('dockerfile', (await import('highlight.js/lib/languages/dockerfile')).default); |
||||
case 'dos': |
||||
return hljs.registerLanguage('dos', (await import('highlight.js/lib/languages/dos')).default); |
||||
case 'dsconfig': |
||||
return hljs.registerLanguage('dsconfig', (await import('highlight.js/lib/languages/dsconfig')).default); |
||||
case 'dts': |
||||
return hljs.registerLanguage('dts', (await import('highlight.js/lib/languages/dts')).default); |
||||
case 'dust': |
||||
return hljs.registerLanguage('dust', (await import('highlight.js/lib/languages/dust')).default); |
||||
case 'ebnf': |
||||
return hljs.registerLanguage('ebnf', (await import('highlight.js/lib/languages/ebnf')).default); |
||||
case 'elixir': |
||||
return hljs.registerLanguage('elixir', (await import('highlight.js/lib/languages/elixir')).default); |
||||
case 'elm': |
||||
return hljs.registerLanguage('elm', (await import('highlight.js/lib/languages/elm')).default); |
||||
case 'erb': |
||||
return hljs.registerLanguage('erb', (await import('highlight.js/lib/languages/erb')).default); |
||||
case 'erlang': |
||||
return hljs.registerLanguage('erlang', (await import('highlight.js/lib/languages/erlang')).default); |
||||
case 'excel': |
||||
return hljs.registerLanguage('excel', (await import('highlight.js/lib/languages/excel')).default); |
||||
case 'fix': |
||||
return hljs.registerLanguage('fix', (await import('highlight.js/lib/languages/fix')).default); |
||||
case 'flix': |
||||
return hljs.registerLanguage('flix', (await import('highlight.js/lib/languages/flix')).default); |
||||
case 'fortran': |
||||
return hljs.registerLanguage('fortran', (await import('highlight.js/lib/languages/fortran')).default); |
||||
case 'fsharp': |
||||
return hljs.registerLanguage('fsharp', (await import('highlight.js/lib/languages/fsharp')).default); |
||||
case 'gams': |
||||
return hljs.registerLanguage('gams', (await import('highlight.js/lib/languages/gams')).default); |
||||
case 'gauss': |
||||
return hljs.registerLanguage('gauss', (await import('highlight.js/lib/languages/gauss')).default); |
||||
case 'gcode': |
||||
return hljs.registerLanguage('gcode', (await import('highlight.js/lib/languages/gcode')).default); |
||||
case 'gherkin': |
||||
return hljs.registerLanguage('gherkin', (await import('highlight.js/lib/languages/gherkin')).default); |
||||
case 'glsl': |
||||
return hljs.registerLanguage('glsl', (await import('highlight.js/lib/languages/glsl')).default); |
||||
case 'go': |
||||
return hljs.registerLanguage('go', (await import('highlight.js/lib/languages/go')).default); |
||||
case 'golo': |
||||
return hljs.registerLanguage('golo', (await import('highlight.js/lib/languages/golo')).default); |
||||
case 'gradle': |
||||
return hljs.registerLanguage('gradle', (await import('highlight.js/lib/languages/gradle')).default); |
||||
case 'groovy': |
||||
return hljs.registerLanguage('groovy', (await import('highlight.js/lib/languages/groovy')).default); |
||||
case 'haml': |
||||
return hljs.registerLanguage('haml', (await import('highlight.js/lib/languages/haml')).default); |
||||
case 'handlebars': |
||||
return hljs.registerLanguage('handlebars', (await import('highlight.js/lib/languages/handlebars')).default); |
||||
case 'haskell': |
||||
return hljs.registerLanguage('haskell', (await import('highlight.js/lib/languages/haskell')).default); |
||||
case 'haxe': |
||||
return hljs.registerLanguage('haxe', (await import('highlight.js/lib/languages/haxe')).default); |
||||
case 'hsp': |
||||
return hljs.registerLanguage('hsp', (await import('highlight.js/lib/languages/hsp')).default); |
||||
case 'htmlbars': |
||||
return hljs.registerLanguage('htmlbars', (await import('highlight.js/lib/languages/htmlbars')).default); |
||||
case 'http': |
||||
return hljs.registerLanguage('http', (await import('highlight.js/lib/languages/http')).default); |
||||
case 'hy': |
||||
return hljs.registerLanguage('hy', (await import('highlight.js/lib/languages/hy')).default); |
||||
case 'inform7': |
||||
return hljs.registerLanguage('inform7', (await import('highlight.js/lib/languages/inform7')).default); |
||||
case 'ini': |
||||
return hljs.registerLanguage('ini', (await import('highlight.js/lib/languages/ini')).default); |
||||
case 'irpf90': |
||||
return hljs.registerLanguage('irpf90', (await import('highlight.js/lib/languages/irpf90')).default); |
||||
case 'java': |
||||
return hljs.registerLanguage('java', (await import('highlight.js/lib/languages/java')).default); |
||||
case 'javascript': |
||||
return hljs.registerLanguage('javascript', (await import('highlight.js/lib/languages/javascript')).default); |
||||
case 'jboss-cli': |
||||
return hljs.registerLanguage('jboss-cli', (await import('highlight.js/lib/languages/jboss-cli')).default); |
||||
case 'json': |
||||
return hljs.registerLanguage('json', (await import('highlight.js/lib/languages/json')).default); |
||||
case 'julia': |
||||
return hljs.registerLanguage('julia', (await import('highlight.js/lib/languages/julia')).default); |
||||
case 'julia-repl': |
||||
return hljs.registerLanguage('julia-repl', (await import('highlight.js/lib/languages/julia-repl')).default); |
||||
case 'kotlin': |
||||
return hljs.registerLanguage('kotlin', (await import('highlight.js/lib/languages/kotlin')).default); |
||||
case 'lasso': |
||||
return hljs.registerLanguage('lasso', (await import('highlight.js/lib/languages/lasso')).default); |
||||
case 'ldif': |
||||
return hljs.registerLanguage('ldif', (await import('highlight.js/lib/languages/ldif')).default); |
||||
case 'leaf': |
||||
return hljs.registerLanguage('leaf', (await import('highlight.js/lib/languages/leaf')).default); |
||||
case 'less': |
||||
return hljs.registerLanguage('less', (await import('highlight.js/lib/languages/less')).default); |
||||
case 'lisp': |
||||
return hljs.registerLanguage('lisp', (await import('highlight.js/lib/languages/lisp')).default); |
||||
case 'livecodeserver': |
||||
return hljs.registerLanguage('livecodeserver', (await import('highlight.js/lib/languages/livecodeserver')).default); |
||||
case 'livescript': |
||||
return hljs.registerLanguage('livescript', (await import('highlight.js/lib/languages/livescript')).default); |
||||
case 'llvm': |
||||
return hljs.registerLanguage('llvm', (await import('highlight.js/lib/languages/llvm')).default); |
||||
case 'lsl': |
||||
return hljs.registerLanguage('lsl', (await import('highlight.js/lib/languages/lsl')).default); |
||||
case 'lua': |
||||
return hljs.registerLanguage('lua', (await import('highlight.js/lib/languages/lua')).default); |
||||
case 'makefile': |
||||
return hljs.registerLanguage('makefile', (await import('highlight.js/lib/languages/makefile')).default); |
||||
case 'markdown': |
||||
return hljs.registerLanguage('markdown', (await import('highlight.js/lib/languages/markdown')).default); |
||||
case 'mathematica': |
||||
return hljs.registerLanguage('mathematica', (await import('highlight.js/lib/languages/mathematica')).default); |
||||
case 'matlab': |
||||
return hljs.registerLanguage('matlab', (await import('highlight.js/lib/languages/matlab')).default); |
||||
case 'maxima': |
||||
return hljs.registerLanguage('maxima', (await import('highlight.js/lib/languages/maxima')).default); |
||||
case 'mel': |
||||
return hljs.registerLanguage('mel', (await import('highlight.js/lib/languages/mel')).default); |
||||
case 'mercury': |
||||
return hljs.registerLanguage('mercury', (await import('highlight.js/lib/languages/mercury')).default); |
||||
case 'mipsasm': |
||||
return hljs.registerLanguage('mipsasm', (await import('highlight.js/lib/languages/mipsasm')).default); |
||||
case 'mizar': |
||||
return hljs.registerLanguage('mizar', (await import('highlight.js/lib/languages/mizar')).default); |
||||
case 'perl': |
||||
return hljs.registerLanguage('perl', (await import('highlight.js/lib/languages/perl')).default); |
||||
case 'mojolicious': |
||||
return hljs.registerLanguage('mojolicious', (await import('highlight.js/lib/languages/mojolicious')).default); |
||||
case 'monkey': |
||||
return hljs.registerLanguage('monkey', (await import('highlight.js/lib/languages/monkey')).default); |
||||
case 'moonscript': |
||||
return hljs.registerLanguage('moonscript', (await import('highlight.js/lib/languages/moonscript')).default); |
||||
case 'n1ql': |
||||
return hljs.registerLanguage('n1ql', (await import('highlight.js/lib/languages/n1ql')).default); |
||||
case 'nginx': |
||||
return hljs.registerLanguage('nginx', (await import('highlight.js/lib/languages/nginx')).default); |
||||
case 'nimrod': |
||||
return hljs.registerLanguage('nimrod', (await import('highlight.js/lib/languages/nimrod')).default); |
||||
case 'nix': |
||||
return hljs.registerLanguage('nix', (await import('highlight.js/lib/languages/nix')).default); |
||||
case 'nsis': |
||||
return hljs.registerLanguage('nsis', (await import('highlight.js/lib/languages/nsis')).default); |
||||
case 'objectivec': |
||||
return hljs.registerLanguage('objectivec', (await import('highlight.js/lib/languages/objectivec')).default); |
||||
case 'ocaml': |
||||
return hljs.registerLanguage('ocaml', (await import('highlight.js/lib/languages/ocaml')).default); |
||||
case 'openscad': |
||||
return hljs.registerLanguage('openscad', (await import('highlight.js/lib/languages/openscad')).default); |
||||
case 'oxygene': |
||||
return hljs.registerLanguage('oxygene', (await import('highlight.js/lib/languages/oxygene')).default); |
||||
case 'parser3': |
||||
return hljs.registerLanguage('parser3', (await import('highlight.js/lib/languages/parser3')).default); |
||||
case 'pf': |
||||
return hljs.registerLanguage('pf', (await import('highlight.js/lib/languages/pf')).default); |
||||
case 'php': |
||||
return hljs.registerLanguage('php', (await import('highlight.js/lib/languages/php')).default); |
||||
case 'pony': |
||||
return hljs.registerLanguage('pony', (await import('highlight.js/lib/languages/pony')).default); |
||||
case 'powershell': |
||||
return hljs.registerLanguage('powershell', (await import('highlight.js/lib/languages/powershell')).default); |
||||
case 'processing': |
||||
return hljs.registerLanguage('processing', (await import('highlight.js/lib/languages/processing')).default); |
||||
case 'profile': |
||||
return hljs.registerLanguage('profile', (await import('highlight.js/lib/languages/profile')).default); |
||||
case 'prolog': |
||||
return hljs.registerLanguage('prolog', (await import('highlight.js/lib/languages/prolog')).default); |
||||
case 'protobuf': |
||||
return hljs.registerLanguage('protobuf', (await import('highlight.js/lib/languages/protobuf')).default); |
||||
case 'puppet': |
||||
return hljs.registerLanguage('puppet', (await import('highlight.js/lib/languages/puppet')).default); |
||||
case 'purebasic': |
||||
return hljs.registerLanguage('purebasic', (await import('highlight.js/lib/languages/purebasic')).default); |
||||
case 'python': |
||||
return hljs.registerLanguage('python', (await import('highlight.js/lib/languages/python')).default); |
||||
case 'q': |
||||
return hljs.registerLanguage('q', (await import('highlight.js/lib/languages/q')).default); |
||||
case 'qml': |
||||
return hljs.registerLanguage('qml', (await import('highlight.js/lib/languages/qml')).default); |
||||
case 'r': |
||||
return hljs.registerLanguage('r', (await import('highlight.js/lib/languages/r')).default); |
||||
case 'rib': |
||||
return hljs.registerLanguage('rib', (await import('highlight.js/lib/languages/rib')).default); |
||||
case 'roboconf': |
||||
return hljs.registerLanguage('roboconf', (await import('highlight.js/lib/languages/roboconf')).default); |
||||
case 'rsl': |
||||
return hljs.registerLanguage('rsl', (await import('highlight.js/lib/languages/rsl')).default); |
||||
case 'ruleslanguage': |
||||
return hljs.registerLanguage('ruleslanguage', (await import('highlight.js/lib/languages/ruleslanguage')).default); |
||||
case 'rust': |
||||
return hljs.registerLanguage('rust', (await import('highlight.js/lib/languages/rust')).default); |
||||
case 'scala': |
||||
return hljs.registerLanguage('scala', (await import('highlight.js/lib/languages/scala')).default); |
||||
case 'scheme': |
||||
return hljs.registerLanguage('scheme', (await import('highlight.js/lib/languages/scheme')).default); |
||||
case 'scilab': |
||||
return hljs.registerLanguage('scilab', (await import('highlight.js/lib/languages/scilab')).default); |
||||
case 'scss': |
||||
return hljs.registerLanguage('scss', (await import('highlight.js/lib/languages/scss')).default); |
||||
case 'shell': |
||||
return hljs.registerLanguage('shell', (await import('highlight.js/lib/languages/shell')).default); |
||||
case 'smali': |
||||
return hljs.registerLanguage('smali', (await import('highlight.js/lib/languages/smali')).default); |
||||
case 'smalltalk': |
||||
return hljs.registerLanguage('smalltalk', (await import('highlight.js/lib/languages/smalltalk')).default); |
||||
case 'sml': |
||||
return hljs.registerLanguage('sml', (await import('highlight.js/lib/languages/sml')).default); |
||||
case 'sqf': |
||||
return hljs.registerLanguage('sqf', (await import('highlight.js/lib/languages/sqf')).default); |
||||
case 'sql': |
||||
return hljs.registerLanguage('sql', (await import('highlight.js/lib/languages/sql')).default); |
||||
case 'stan': |
||||
return hljs.registerLanguage('stan', (await import('highlight.js/lib/languages/stan')).default); |
||||
case 'stata': |
||||
return hljs.registerLanguage('stata', (await import('highlight.js/lib/languages/stata')).default); |
||||
case 'step21': |
||||
return hljs.registerLanguage('step21', (await import('highlight.js/lib/languages/step21')).default); |
||||
case 'stylus': |
||||
return hljs.registerLanguage('stylus', (await import('highlight.js/lib/languages/stylus')).default); |
||||
case 'subunit': |
||||
return hljs.registerLanguage('subunit', (await import('highlight.js/lib/languages/subunit')).default); |
||||
case 'swift': |
||||
return hljs.registerLanguage('swift', (await import('highlight.js/lib/languages/swift')).default); |
||||
case 'taggerscript': |
||||
return hljs.registerLanguage('taggerscript', (await import('highlight.js/lib/languages/taggerscript')).default); |
||||
case 'yaml': |
||||
return hljs.registerLanguage('yaml', (await import('highlight.js/lib/languages/yaml')).default); |
||||
case 'tap': |
||||
return hljs.registerLanguage('tap', (await import('highlight.js/lib/languages/tap')).default); |
||||
case 'tcl': |
||||
return hljs.registerLanguage('tcl', (await import('highlight.js/lib/languages/tcl')).default); |
||||
case 'tex': |
||||
return hljs.registerLanguage('tex', (await import('highlight.js/lib/languages/tex')).default); |
||||
case 'thrift': |
||||
return hljs.registerLanguage('thrift', (await import('highlight.js/lib/languages/thrift')).default); |
||||
case 'tp': |
||||
return hljs.registerLanguage('tp', (await import('highlight.js/lib/languages/tp')).default); |
||||
case 'twig': |
||||
return hljs.registerLanguage('twig', (await import('highlight.js/lib/languages/twig')).default); |
||||
case 'typescript': |
||||
return hljs.registerLanguage('typescript', (await import('highlight.js/lib/languages/typescript')).default); |
||||
case 'vala': |
||||
return hljs.registerLanguage('vala', (await import('highlight.js/lib/languages/vala')).default); |
||||
case 'vbnet': |
||||
return hljs.registerLanguage('vbnet', (await import('highlight.js/lib/languages/vbnet')).default); |
||||
case 'vbscript': |
||||
return hljs.registerLanguage('vbscript', (await import('highlight.js/lib/languages/vbscript')).default); |
||||
case 'vbscript-html': |
||||
return hljs.registerLanguage('vbscript-html(', (await import('highlight.js/lib/languages/vbscript-html')).default); |
||||
case 'verilog': |
||||
return hljs.registerLanguage('verilog', (await import('highlight.js/lib/languages/verilog')).default); |
||||
case 'vhdl': |
||||
return hljs.registerLanguage('vhdl', (await import('highlight.js/lib/languages/vhdl')).default); |
||||
case 'vim': |
||||
return hljs.registerLanguage('vim', (await import('highlight.js/lib/languages/vim')).default); |
||||
case 'x86asm': |
||||
return hljs.registerLanguage('x86asm', (await import('highlight.js/lib/languages/x86asm')).default); |
||||
case 'xl': |
||||
return hljs.registerLanguage('xl', (await import('highlight.js/lib/languages/xl')).default); |
||||
case 'xquery': |
||||
return hljs.registerLanguage('xquery', (await import('highlight.js/lib/languages/xquery')).default); |
||||
case 'zephir': |
||||
return hljs.registerLanguage('zephir', (await import('highlight.js/lib/languages/zephir')).default); |
||||
default: |
||||
return hljs.registerLanguage('plaintext', (await import('highlight.js/lib/languages/plaintext')).default); |
||||
} |
||||
}; |
||||
|
||||
export default hljs; |
||||
|
@ -1,19 +1,54 @@ |
||||
import { Code as ASTCode } from '@rocket.chat/message-parser'; |
||||
import React, { FC } from 'react'; |
||||
import React, { FC, useEffect, useState } from 'react'; |
||||
|
||||
import hljs, { register } from '../../../../app/markdown/lib/hljs'; |
||||
import CodeLine from './CodeLine'; |
||||
|
||||
const Code: FC<{ value: ASTCode['value'] }> = ({ value = [] }) => ( |
||||
<code className='code-colors hljs'> |
||||
{value.map((block, index) => { |
||||
switch (block.type) { |
||||
case 'CODE_LINE': |
||||
return <CodeLine key={index} value={block.value} />; |
||||
default: |
||||
return null; |
||||
} |
||||
})} |
||||
</code> |
||||
); |
||||
type hljsResult = { |
||||
language: string; |
||||
code: string; |
||||
value: string; |
||||
}; |
||||
|
||||
const isHljsResult = (result: any): result is hljsResult => result && result.value; |
||||
|
||||
const Code: FC<ASTCode> = ({ value = [], language }) => { |
||||
const [code, setCode] = useState<(JSX.Element | null)[] | { language: string; code: string }>( |
||||
() => |
||||
value.map((block, index) => { |
||||
switch (block.type) { |
||||
case 'CODE_LINE': |
||||
return <CodeLine key={index} value={block.value} />; |
||||
default: |
||||
return null; |
||||
} |
||||
}), |
||||
); |
||||
useEffect(() => { |
||||
!language || language === 'none' |
||||
? setCode(hljs.highlightAuto(value.map((line) => line.value.value).join('\n'))) |
||||
: register(language).then(() => { |
||||
setCode(hljs.highlight(language, value.map((line) => line.value.value).join('\n'))); |
||||
}); |
||||
}, [language, value]); |
||||
|
||||
return ( |
||||
<code className={`code-colors hljs ${language}`}> |
||||
<span className='copyonly'> |
||||
\`\`\` |
||||
<br /> |
||||
</span> |
||||
{isHljsResult(code) ? ( |
||||
<div dangerouslySetInnerHTML={{ __html: code.code || code.value }} /> |
||||
) : ( |
||||
code |
||||
)} |
||||
<span className='copyonly'> |
||||
<br /> |
||||
\`\`\` |
||||
</span> |
||||
</code> |
||||
); |
||||
}; |
||||
|
||||
export default Code; |
||||
|
@ -0,0 +1,21 @@ |
||||
import { Image as ASTImage } from '@rocket.chat/message-parser'; |
||||
import React, { FC } from 'react'; |
||||
|
||||
type ImageProps = { |
||||
value: ASTImage['value']; |
||||
}; |
||||
|
||||
const style = { |
||||
maxWidth: '100%', |
||||
}; |
||||
|
||||
const Image: FC<ImageProps> = ({ value }) => { |
||||
const { src, label } = value; |
||||
return ( |
||||
<a href={src.value} target='_blank' rel='noopener noreferrer'> |
||||
<img src={src.value} data-title={src.value} alt={String(label.value)} style={style} /> |
||||
</a> |
||||
); |
||||
}; |
||||
|
||||
export default Image; |
Loading…
Reference in new issue