D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
app
/
plugins
/
datasource
/
parca
/
lang
/
Filename :
lang.ts
back
Copy
import type { languages } from 'monaco-editor'; export const languageConfiguration: languages.LanguageConfiguration = { // the default separators except `@$` wordPattern: /(-?\d*\.\d\w*)|([^`~!#%^&*()\-=+\[{\]}\\|;:'",.<>\/?\s]+)/g, brackets: [['{', '}']], autoClosingPairs: [ { open: '{', close: '}' }, { open: '"', close: '"' }, { open: "'", close: "'" }, ], surroundingPairs: [ { open: '{', close: '}' }, { open: '"', close: '"' }, { open: "'", close: "'" }, ], folding: {}, }; export const language: languages.IMonarchLanguage = { ignoreCase: false, defaultToken: '', tokenPostfix: '.fireql', keywords: [], operators: [], // we include these common regular expressions symbols: /[=><!~?:&|+\-*\/^%]+/, escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/, digits: /\d+(_+\d+)*/, octaldigits: /[0-7]+(_+[0-7]+)*/, binarydigits: /[0-1]+(_+[0-1]+)*/, hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/, integersuffix: /(ll|LL|u|U|l|L)?(ll|LL|u|U|l|L)?/, floatsuffix: /[fFlL]?/, tokenizer: { root: [ // labels [/[a-z_]\w*(?=\s*(=|!=|=~|!~))/, 'tag'], // strings [/"([^"\\]|\\.)*$/, 'string.invalid'], // non-teminated string [/'([^'\\]|\\.)*$/, 'string.invalid'], // non-teminated string [/"/, 'string', '@string_double'], [/'/, 'string', '@string_single'], // whitespace { include: '@whitespace' }, // delimiters and operators [/[{}()\[\]]/, '@brackets'], [/[<>](?!@symbols)/, '@brackets'], [ /@symbols/, { cases: { '@operators': 'delimiter', '@default': '', }, }, ], // numbers [/\d+/, 'number'], [/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/, 'number.float'], [/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/, 'number.float'], [/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/, 'number.hex'], [/0[0-7']*[0-7](@integersuffix)/, 'number.octal'], [/0[bB][0-1']*[0-1](@integersuffix)/, 'number.binary'], [/\d[\d']*\d(@integersuffix)/, 'number'], [/\d(@integersuffix)/, 'number'], ], string_double: [ [/[^\\"]+/, 'string'], [/@escapes/, 'string.escape'], [/\\./, 'string.escape.invalid'], [/"/, 'string', '@pop'], ], string_single: [ [/[^\\']+/, 'string'], [/@escapes/, 'string.escape'], [/\\./, 'string.escape.invalid'], [/'/, 'string', '@pop'], ], clauses: [ [/[^(,)]/, 'tag'], [/\)/, 'identifier', '@pop'], ], whitespace: [[/[ \t\r\n]+/, 'white']], }, };