forked from snxraven/p2ns
Auto detect lang - peer.paste
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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>`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user