/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ define('vs/basic-languages/lexon/lexon',["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.language = exports.conf = void 0; exports.conf = { comments: { lineComment: 'COMMENT' // blockComment: ['COMMENT', '.'], }, brackets: [['(', ')']], autoClosingPairs: [ { open: '{', close: '}' }, { open: '[', close: ']' }, { open: '(', close: ')' }, { open: '"', close: '"' }, { open: ':', close: '.' } ], surroundingPairs: [ { open: '{', close: '}' }, { open: '[', close: ']' }, { open: '(', close: ')' }, { open: '`', close: '`' }, { open: '"', close: '"' }, { open: "'", close: "'" }, { open: ':', close: '.' } ], folding: { markers: { start: new RegExp('^\\s*(::\\s*|COMMENT\\s+)#region'), end: new RegExp('^\\s*(::\\s*|COMMENT\\s+)#endregion') } } }; exports.language = { // Set defaultToken to invalid to see what you do not tokenize yet // defaultToken: 'invalid', tokenPostfix: '.lexon', ignoreCase: true, keywords: [ 'lexon', 'lex', 'clause', 'terms', 'contracts', 'may', 'pay', 'pays', 'appoints', 'into', 'to' ], typeKeywords: ['amount', 'person', 'key', 'time', 'date', 'asset', 'text'], operators: [ 'less', 'greater', 'equal', 'le', 'gt', 'or', 'and', 'add', 'added', 'subtract', 'subtracted', 'multiply', 'multiplied', 'times', 'divide', 'divided', 'is', 'be', 'certified' ], // we include these common regular expressions symbols: /[=>](?!@symbols)/, '@brackets'], [/@symbols/, 'delimiter'], // numbers [/\d*\.\d*\.\d*/, 'number.semver'], [/\d*\.\d+([eE][\-+]?\d+)?/, 'number.float'], [/0[xX][0-9a-fA-F]+/, 'number.hex'], [/\d+/, 'number'], // delimiter: after number because of .\d floats [/[;,.]/, 'delimiter'] ], quoted_identifier: [ [/[^\\"]+/, 'identifier'], [/"/, { token: 'identifier.quote', bracket: '@close', next: '@pop' }] ], space_identifier_until_period: [ [':', 'delimiter'], [' ', { token: 'white', next: '@identifier_rest' }] ], identifier_until_period: [ { include: '@whitespace' }, [':', { token: 'delimiter', next: '@identifier_rest' }], [/[^\\.]+/, 'identifier'], [/\./, { token: 'delimiter', bracket: '@close', next: '@pop' }] ], identifier_rest: [ [/[^\\.]+/, 'identifier'], [/\./, { token: 'delimiter', bracket: '@close', next: '@pop' }] ], semver: [ { include: '@whitespace' }, [':', 'delimiter'], [/\d*\.\d*\.\d*/, { token: 'number.semver', bracket: '@close', next: '@pop' }] ], whitespace: [[/[ \t\r\n]+/, 'white']] } }; });