/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.36.1(6c56744c3419458f0dd48864520b759d1a3a1ca8) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ // src/basic-languages/fsharp/fsharp.ts var conf = { comments: { lineComment: "//", blockComment: ["(*", "*)"] }, brackets: [ ["{", "}"], ["[", "]"], ["(", ")"] ], autoClosingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: '"', close: '"' } ], surroundingPairs: [ { open: "{", close: "}" }, { open: "[", close: "]" }, { open: "(", close: ")" }, { open: '"', close: '"' }, { open: "'", close: "'" } ], folding: { markers: { start: new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"), end: new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)") } } }; var language = { defaultToken: "", tokenPostfix: ".fs", keywords: [ "abstract", "and", "atomic", "as", "assert", "asr", "base", "begin", "break", "checked", "component", "const", "constraint", "constructor", "continue", "class", "default", "delegate", "do", "done", "downcast", "downto", "elif", "else", "end", "exception", "eager", "event", "external", "extern", "false", "finally", "for", "fun", "function", "fixed", "functor", "global", "if", "in", "include", "inherit", "inline", "interface", "internal", "land", "lor", "lsl", "lsr", "lxor", "lazy", "let", "match", "member", "mod", "module", "mutable", "namespace", "method", "mixin", "new", "not", "null", "of", "open", "or", "object", "override", "private", "parallel", "process", "protected", "pure", "public", "rec", "return", "static", "sealed", "struct", "sig", "then", "to", "true", "tailcall", "trait", "try", "type", "upcast", "use", "val", "void", "virtual", "volatile", "when", "while", "with", "yield" ], symbols: /[=>\]/, "annotation"], [/^#(if|else|endif)/, "keyword"], [/[{}()\[\]]/, "@brackets"], [/[<>](?!@symbols)/, "@brackets"], [/@symbols/, "delimiter"], [/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, "number.float"], [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, "number.float"], [/0x[0-9a-fA-F]+LF/, "number.float"], [/0x[0-9a-fA-F]+(@integersuffix)/, "number.hex"], [/0b[0-1]+(@integersuffix)/, "number.bin"], [/\d+(@integersuffix)/, "number"], [/[;,.]/, "delimiter"], [/"([^"\\]|\\.)*$/, "string.invalid"], [/"""/, "string", '@string."""'], [/"/, "string", '@string."'], [/\@"/, { token: "string.quote", next: "@litstring" }], [/'[^\\']'B?/, "string"], [/(')(@escapes)(')/, ["string", "string.escape", "string"]], [/'/, "string.invalid"] ], whitespace: [ [/[ \t\r\n]+/, ""], [/\(\*(?!\))/, "comment", "@comment"], [/\/\/.*$/, "comment"] ], comment: [ [/[^*(]+/, "comment"], [/\*\)/, "comment", "@pop"], [/\*/, "comment"], [/\(\*\)/, "comment"], [/\(/, "comment"] ], string: [ [/[^\\"]+/, "string"], [/@escapes/, "string.escape"], [/\\./, "string.escape.invalid"], [ /("""|"B?)/, { cases: { "$#==$S2": { token: "string", next: "@pop" }, "@default": "string" } } ] ], litstring: [ [/[^"]+/, "string"], [/""/, "string.escape"], [/"/, { token: "string.quote", next: "@pop" }] ] } }; export { conf, language };