/*!----------------------------------------------------------------------------- * 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/qsharp/qsharp.ts var conf = { comments: { lineComment: "//" }, brackets: [ ["{", "}"], ["[", "]"], ["(", ")"] ], autoClosingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: '"', close: '"', notIn: ["string", "comment"] } ], surroundingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: '"', close: '"' } ] }; var language = { keywords: [ "namespace", "open", "as", "operation", "function", "body", "adjoint", "newtype", "controlled", "if", "elif", "else", "repeat", "until", "fixup", "for", "in", "while", "return", "fail", "within", "apply", "Adjoint", "Controlled", "Adj", "Ctl", "is", "self", "auto", "distribute", "invert", "intrinsic", "let", "set", "w/", "new", "not", "and", "or", "use", "borrow", "using", "borrowing", "mutable", "internal" ], typeKeywords: [ "Unit", "Int", "BigInt", "Double", "Bool", "String", "Qubit", "Result", "Pauli", "Range" ], invalidKeywords: [ "abstract", "base", "bool", "break", "byte", "case", "catch", "char", "checked", "class", "const", "continue", "decimal", "default", "delegate", "do", "double", "enum", "event", "explicit", "extern", "finally", "fixed", "float", "foreach", "goto", "implicit", "int", "interface", "lock", "long", "null", "object", "operator", "out", "override", "params", "private", "protected", "public", "readonly", "ref", "sbyte", "sealed", "short", "sizeof", "stackalloc", "static", "string", "struct", "switch", "this", "throw", "try", "typeof", "unit", "ulong", "unchecked", "unsafe", "ushort", "virtual", "void", "volatile" ], constants: ["true", "false", "PauliI", "PauliX", "PauliY", "PauliZ", "One", "Zero"], builtin: [ "X", "Y", "Z", "H", "HY", "S", "T", "SWAP", "CNOT", "CCNOT", "MultiX", "R", "RFrac", "Rx", "Ry", "Rz", "R1", "R1Frac", "Exp", "ExpFrac", "Measure", "M", "MultiM", "Message", "Length", "Assert", "AssertProb", "AssertEqual" ], operators: [ "and=", "<-", "->", "*", "*=", "@", "!", "^", "^=", ":", "::", "..", "==", "...", "=", "=>", ">", ">=", "<", "<=", "-", "-=", "!=", "or=", "%", "%=", "|", "+", "+=", "?", "/", "/=", "&&&", "&&&=", "^^^", "^^^=", ">>>", ">>>=", "<<<", "<<<=", "|||", "|||=", "~~~", "_", "w/", "w/=" ], namespaceFollows: ["namespace", "open"], symbols: /[=>