25 lines
1.2 KiB
JavaScript
25 lines
1.2 KiB
JavaScript
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; |