Code EditorNo problems detected. Your code looks good!
Select a language to view its documentation and examples.
This is a test paragraph
Line ${parsed.line}: ${parsed.errorType}
${parsed.solution}
`; } else { outputElement.innerHTML = `${result.run.stdout || 'No output'}`;
document.getElementById('problems-content').innerHTML = 'No problems detected. Your code looks good!
'; } } else { outputElement.innerHTML = `Official resources and guides for ${lang}:
`; } function toggleTheme() { isDarkMode = !isDarkMode; document.body.classList.toggle('dark-mode', isDarkMode); editor.setOption('theme', isDarkMode ? 'dracula' : 'default'); document.getElementById('theme-toggle').innerHTML = isDarkMode ? ' Light Mode' : ' Dark Mode'; showToast(`${isDarkMode ? 'Dark' : 'Light'} mode enabled`, 'info'); } function toggleFullscreen() { document.body.classList.toggle('fullscreen'); document.getElementById('fullscreen-btn').innerHTML = document.body.classList.contains('fullscreen') ? ' Exit Full Screen' : ' Full Screen'; setTimeout(() => editor.refresh(), 100); } function showToast(message, type = 'info') { const container = document.getElementById('toast-container'); const toast = document.createElement('div'); toast.className = `toast toast-${type}`; const icons = { success: 'check-circle', error: 'exclamation-circle', warning: 'exclamation-triangle', info: 'info-circle' }; toast.innerHTML = `${message}`; container.appendChild(toast); setTimeout(() => toast.remove(), 3000); } function downloadCode() { const code = editor.getValue(); const format = document.getElementById('download-format').value; let filename = document.getElementById('download-filename').value || `code.${languageModes[currentLanguage].ext}`; if (format === 'pdf') { try { const { jsPDF } = window.jspdf; const doc = new jsPDF(); doc.setFontSize(16); doc.text('ASLI FORM Code Export', 105, 15, { align: 'center' }); doc.setFontSize(10); doc.setFont("courier", "normal"); const lines = doc.splitTextToSize(code, 170); doc.text(lines, 20, 25); doc.save(filename.replace(/\.[^/.]+$/, "") + '.pdf'); showToast('Downloaded as PDF', 'success'); } catch (e) { showToast('PDF generation failed: ' + e.message, 'error'); } } else { let blob, ext = filename.split('.').pop(); if (format === 'html') { blob = new Blob([`\n\n${code.replace(//g, '>')}\n\n`], { type: 'text/html' });
ext = 'html';
} else {
blob = new Blob([code], { type: 'text/plain' });
}
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = filename;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
showToast(`Downloaded as ${format.toUpperCase()}`, 'success');
}
document.getElementById('download-modal').style.display = 'none';
}
// Event Listeners
document.addEventListener('DOMContentLoaded', () => {
initEditor();
document.getElementById('language-selector').addEventListener('change', function(e) {
changeLanguage(e.target.value);
});
document.getElementById('run-btn').addEventListener('click', runCode);
document.getElementById('clear-btn').addEventListener('click', function() {
if (confirm('Clear editor?')) {
editor.setValue('');
showToast('Editor cleared', 'info');
}
});
document.getElementById('clear-output-btn').addEventListener('click', function() {
document.getElementById('output-content').innerHTML = '