Prism.languages.scl = { 'comment': [ { pattern: /\(\*[\s\S]*?\*\)/, greedy: true }, { pattern: //.*$/m, greedy: true } ], 'string': { pattern: /'(?:[^'\\\r\n]|\\(?:.|[^"\\]))*'/, greedy: true }, 'keyword': /\b(?:PROGRAM|END_PROGRAM|FUNCTION|END_FUNCTION|FUNCTION_BLOCK|END_FUNCTION_BLOCK|VAR|VAR_INPUT|VAR_OUTPUT|VAR_IN_OUT|VAR_TEMP|END_VAR|IF|THEN|ELSE|ELSIF|END_IF|CASE|OF|ELSE|END_CASE|FOR|TO|BY|DO|END_FOR|WHILE|DO|END_WHILE|REPEAT|UNTIL|END_REPEAT|RETURN|EXIT|CONTINUE|TYPE|END_TYPE|STRUCT|END_STRUCT|ARRAY|OF|BOOL|BYTE|WORD|DWORD|LWORD|SINT|INT|DINT|LINT|USINT|UINT|UDINT|ULINT|REAL|LREAL|TIME|DATE|TIME_OF_DAY|DATE_AND_TIME|STRING|CHAR|WSTRING|WCHAR)\b/i, 'boolean': /\b(?:TRUE|FALSE)\b/i, 'operator': /(?:S?[<>]=?|[:=]{1,2}|AND|OR|XOR|NOT|\*\*|\+\+|--|\?|\/|@)/i, 'number': /\b(?:16#[0-9A-F]+|2#[01]+|8#[0-7]+|0|[1-9][0-9]*(?:\.[0-9]+)?(?:E[+-]?[0-9]+)?)\b/i, 'function': /\b[A-Za-z_][A-Za-z0-9_]*(?=\s*\()/, 'punctuation': /[.,;()[\]{}]/ }; // Alias para asegurar que ```scl funcione correctamente Prism.languages.structured_control_language = Prism.languages.scl;