mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-01-13 22:18:51 +01:00
complete language detection for code blocks
This commit is contained in:
parent
c4d0787b49
commit
d235bb7b1b
10 changed files with 133 additions and 37 deletions
|
|
@ -1,11 +1,11 @@
|
|||
import React from 'react';
|
||||
|
||||
export default function Embed({ children, language = ''}) {
|
||||
export default function Embed({ children, language = '', matched}) {
|
||||
return (
|
||||
<pre>
|
||||
<div className="mb-4 rounded-md bg-black">
|
||||
<div className="relative flex items-center bg-gray-800 px-4 py-2 font-sans text-xs text-gray-200 rounded-tl-md rounded-tr-md">
|
||||
<span className="">{ language }</span>
|
||||
<span className="">{ (language === 'javascript' && !matched ? '' : language) }</span>
|
||||
<button className="ml-auto flex gap-2">
|
||||
<svg
|
||||
stroke="currentColor"
|
||||
|
|
|
|||
|
|
@ -49,12 +49,16 @@ export default function TextWrapper({ text }) {
|
|||
const codeParts = parts.map((part, i) => {
|
||||
if (part.match(codeRegex)) {
|
||||
let language = 'javascript';
|
||||
let matched = false;
|
||||
|
||||
if (part.match(languageMatch)) {
|
||||
language = part.match(languageMatch)[1].toLowerCase();
|
||||
const validLanguage = languages.some((lang) => language === lang);
|
||||
part = validLanguage ? part.replace(languageMatch, '```') : part;
|
||||
language = validLanguage ? language : 'javascript';
|
||||
part = part.replace(languageMatch, '```');
|
||||
matched = true;
|
||||
// highlight.js language validation
|
||||
// const validLanguage = languages.some((lang) => language === lang);
|
||||
// part = validLanguage ? part.replace(languageMatch, '```') : part;
|
||||
// language = validLanguage ? language : 'javascript';
|
||||
}
|
||||
|
||||
part = part.replace(newLineMatch, '```');
|
||||
|
|
@ -63,6 +67,7 @@ export default function TextWrapper({ text }) {
|
|||
<Embed
|
||||
key={i}
|
||||
language={language}
|
||||
matched={matched}
|
||||
>
|
||||
<Highlight
|
||||
code={part.slice(3, -3)}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue