Auto detect lang - peer.paste

This commit is contained in:
Raven Scott
2026-05-27 23:33:36 -04:00
parent 16e33c02c4
commit 01dc6a5221
3 changed files with 23 additions and 2 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "Peer Paste",
"version": "1.3.3",
"version": "1.3.4",
"domain": "peer.paste",
"enabled": true,
"description": "Temporary P2P text snippets with expiration and burn-after-read options",
+16 -1
View File
@@ -131,7 +131,22 @@ function renderPreview() {
out.innerHTML = sanitizeRenderedHtml(html);
if (window.hljs) out.querySelectorAll('pre code').forEach((b) => hljs.highlightElement(b));
} else {
out.innerHTML = `<pre><code>${escapeHtml(text)}</code></pre>`;
if (window.hljs && text.trim()) {
const detected = hljs.highlightAuto(text);
const looksLikeCode = /[{}();=<>\[\]]/.test(text) || text.includes('\n');
const hasConfidence = typeof detected.relevance === 'number' ? detected.relevance >= 4 : false;
if (looksLikeCode && hasConfidence) {
const lang = detected.language || 'plaintext';
out.innerHTML = `
<div class="preview-meta">Detected language: ${escapeHtml(lang)}</div>
<pre><code class="hljs language-${escapeHtml(lang)}">${detected.value}</code></pre>
`;
} else {
out.innerHTML = `<pre><code>${escapeHtml(text)}</code></pre>`;
}
} else {
out.innerHTML = `<pre><code>${escapeHtml(text)}</code></pre>`;
}
}
}
+6
View File
@@ -181,6 +181,12 @@ button:hover,
overflow-x: auto;
}
.preview-meta {
color: #9fb0cb;
font-size: 0.82rem;
margin-bottom: 0.45rem;
}
#preview-content pre {
background: #020617;
padding: 0.8rem;