/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.43.0(94c055bcbdd49f04a0fa15515e848542a79fb948) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ // src/basic-languages/st/st.ts var conf = { comments: { lineComment: "//", blockComment: ["(*", "*)"] }, brackets: [ ["{", "}"], ["[", "]"], ["(", ")"], ["var", "end_var"], ["var_input", "end_var"], ["var_output", "end_var"], ["var_in_out", "end_var"], ["var_temp", "end_var"], ["var_global", "end_var"], ["var_access", "end_var"], ["var_external", "end_var"], ["type", "end_type"], ["struct", "end_struct"], ["program", "end_program"], ["function", "end_function"], ["function_block", "end_function_block"], ["action", "end_action"], ["step", "end_step"], ["initial_step", "end_step"], ["transaction", "end_transaction"], ["configuration", "end_configuration"], ["tcp", "end_tcp"], ["recource", "end_recource"], ["channel", "end_channel"], ["library", "end_library"], ["folder", "end_folder"], ["binaries", "end_binaries"], ["includes", "end_includes"], ["sources", "end_sources"] ], autoClosingPairs: [ { open: "[", close: "]" }, { open: "{", close: "}" }, { open: "(", close: ")" }, { open: "/*", close: "*/" }, { open: "'", close: "'", notIn: ["string_sq"] }, { open: '"', close: '"', notIn: ["string_dq"] }, { open: "var_input", close: "end_var" }, { open: "var_output", close: "end_var" }, { open: "var_in_out", close: "end_var" }, { open: "var_temp", close: "end_var" }, { open: "var_global", close: "end_var" }, { open: "var_access", close: "end_var" }, { open: "var_external", close: "end_var" }, { open: "type", close: "end_type" }, { open: "struct", close: "end_struct" }, { open: "program", close: "end_program" }, { open: "function", close: "end_function" }, { open: "function_block", close: "end_function_block" }, { open: "action", close: "end_action" }, { open: "step", close: "end_step" }, { open: "initial_step", close: "end_step" }, { open: "transaction", close: "end_transaction" }, { open: "configuration", close: "end_configuration" }, { open: "tcp", close: "end_tcp" }, { open: "recource", close: "end_recource" }, { open: "channel", close: "end_channel" }, { open: "library", close: "end_library" }, { open: "folder", close: "end_folder" }, { open: "binaries", close: "end_binaries" }, { open: "includes", close: "end_includes" }, { open: "sources", close: "end_sources" } ], surroundingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: '"', close: '"' }, { open: "'", close: "'" }, { open: "var", close: "end_var" }, { open: "var_input", close: "end_var" }, { open: "var_output", close: "end_var" }, { open: "var_in_out", close: "end_var" }, { open: "var_temp", close: "end_var" }, { open: "var_global", close: "end_var" }, { open: "var_access", close: "end_var" }, { open: "var_external", close: "end_var" }, { open: "type", close: "end_type" }, { open: "struct", close: "end_struct" }, { open: "program", close: "end_program" }, { open: "function", close: "end_function" }, { open: "function_block", close: "end_function_block" }, { open: "action", close: "end_action" }, { open: "step", close: "end_step" }, { open: "initial_step", close: "end_step" }, { open: "transaction", close: "end_transaction" }, { open: "configuration", close: "end_configuration" }, { open: "tcp", close: "end_tcp" }, { open: "recource", close: "end_recource" }, { open: "channel", close: "end_channel" }, { open: "library", close: "end_library" }, { open: "folder", close: "end_folder" }, { open: "binaries", close: "end_binaries" }, { open: "includes", close: "end_includes" }, { open: "sources", close: "end_sources" } ], folding: { markers: { start: new RegExp("^\\s*#pragma\\s+region\\b"), end: new RegExp("^\\s*#pragma\\s+endregion\\b") } } }; var language = { defaultToken: "", tokenPostfix: ".st", ignoreCase: true, brackets: [ { token: "delimiter.curly", open: "{", close: "}" }, { token: "delimiter.parenthesis", open: "(", close: ")" }, { token: "delimiter.square", open: "[", close: "]" } ], keywords: [ "if", "end_if", "elsif", "else", "case", "of", "to", "__try", "__catch", "__finally", "do", "with", "by", "while", "repeat", "end_while", "end_repeat", "end_case", "for", "end_for", "task", "retain", "non_retain", "constant", "with", "at", "exit", "return", "interval", "priority", "address", "port", "on_channel", "then", "iec", "file", "uses", "version", "packagetype", "displayname", "copyright", "summary", "vendor", "common_source", "from", "extends", "implements" ], constant: ["false", "true", "null"], defineKeywords: [ "var", "var_input", "var_output", "var_in_out", "var_temp", "var_global", "var_access", "var_external", "end_var", "type", "end_type", "struct", "end_struct", "program", "end_program", "function", "end_function", "function_block", "end_function_block", "interface", "end_interface", "method", "end_method", "property", "end_property", "namespace", "end_namespace", "configuration", "end_configuration", "tcp", "end_tcp", "resource", "end_resource", "channel", "end_channel", "library", "end_library", "folder", "end_folder", "binaries", "end_binaries", "includes", "end_includes", "sources", "end_sources", "action", "end_action", "step", "initial_step", "end_step", "transaction", "end_transaction" ], typeKeywords: [ "int", "sint", "dint", "lint", "usint", "uint", "udint", "ulint", "real", "lreal", "time", "date", "time_of_day", "date_and_time", "string", "bool", "byte", "word", "dword", "array", "pointer", "lword" ], operators: [ "=", ">", "<", ":", ":=", "<=", ">=", "<>", "&", "+", "-", "*", "**", "MOD", "^", "or", "and", "not", "xor", "abs", "acos", "asin", "atan", "cos", "exp", "expt", "ln", "log", "sin", "sqrt", "tan", "sel", "max", "min", "limit", "mux", "shl", "shr", "rol", "ror", "indexof", "sizeof", "adr", "adrinst", "bitadr", "is_valid", "ref", "ref_to" ], builtinVariables: [], builtinFunctions: [ "sr", "rs", "tp", "ton", "tof", "eq", "ge", "le", "lt", "ne", "round", "trunc", "ctd", "\u0441tu", "ctud", "r_trig", "f_trig", "move", "concat", "delete", "find", "insert", "left", "len", "replace", "right", "rtc" ], symbols: /[=>