@deephaven/console 0.16.1-beta.1 → 0.16.1-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,67 +3,10 @@
3
3
  /**
4
4
  * Exports a function for initializing monaco with the deephaven theme/config
5
5
  */
6
- // Instead of importing just 'monaco-editor' and importing all languages and features, just import the features and don't import all the languages we don't care about
7
- // Default list of features here: https://github.com/microsoft/monaco-editor-webpack-plugin
8
- // Mapping to paths here: https://github.com/microsoft/monaco-editor-webpack-plugin/blob/main/src/features.ts
9
- // Importing this way rather than using the plugin because I don't want to hook up react-app-rewired for the build
10
6
  import { assertNotNull } from '@deephaven/utils';
11
- import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
12
- import 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js';
13
- import 'monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.js';
14
- import 'monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.js';
15
- import 'monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js';
16
- import 'monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.js';
17
- import 'monaco-editor/esm/vs/editor/contrib/codeAction/codeActionContributions.js';
18
- import 'monaco-editor/esm/vs/editor/contrib/codelens/codelensController.js';
19
- import 'monaco-editor/esm/vs/editor/contrib/colorPicker/colorContributions.js';
20
- import 'monaco-editor/esm/vs/editor/contrib/comment/comment.js';
21
- import 'monaco-editor/esm/vs/editor/contrib/contextmenu/contextmenu.js';
22
- import 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';
23
- import 'monaco-editor/esm/vs/editor/contrib/cursorUndo/cursorUndo.js';
24
- import 'monaco-editor/esm/vs/editor/contrib/dnd/dnd.js';
25
- import 'monaco-editor/esm/vs/editor/contrib/documentSymbols/documentSymbols.js';
26
- import 'monaco-editor/esm/vs/editor/contrib/find/findController.js';
27
- import 'monaco-editor/esm/vs/editor/contrib/folding/folding.js';
28
- import 'monaco-editor/esm/vs/editor/contrib/fontZoom/fontZoom.js';
29
- import 'monaco-editor/esm/vs/editor/contrib/format/formatActions.js';
30
- import 'monaco-editor/esm/vs/editor/contrib/gotoError/gotoError.js';
31
- import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';
32
- import 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/goToCommands.js';
33
- import 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.js';
34
- import 'monaco-editor/esm/vs/editor/contrib/hover/hover.js';
35
- import 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';
36
- import 'monaco-editor/esm/vs/editor/contrib/inPlaceReplace/inPlaceReplace.js';
37
- import 'monaco-editor/esm/vs/editor/contrib/indentation/indentation.js';
38
- import 'monaco-editor/esm/vs/editor/contrib/inlineCompletions/ghostTextController.js';
39
- import 'monaco-editor/esm/vs/editor/contrib/inlayHints/inlayHintsController.js';
40
- import 'monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js';
41
- import 'monaco-editor/esm/vs/editor/contrib/linesOperations/linesOperations.js';
42
- import 'monaco-editor/esm/vs/editor/contrib/linkedEditing/linkedEditing.js';
43
- import 'monaco-editor/esm/vs/editor/contrib/links/links.js';
44
- import 'monaco-editor/esm/vs/editor/contrib/multicursor/multicursor.js';
45
- import 'monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js';
46
- import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';
47
- import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';
48
- import 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';
49
- import 'monaco-editor/esm/vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';
50
- import 'monaco-editor/esm/vs/editor/contrib/rename/rename.js';
51
- import 'monaco-editor/esm/vs/editor/contrib/smartSelect/smartSelect.js';
52
- import 'monaco-editor/esm/vs/editor/contrib/snippet/snippetController2.js';
53
- import 'monaco-editor/esm/vs/editor/contrib/suggest/suggestController.js';
54
- import 'monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';
55
- import 'monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.js';
56
- import 'monaco-editor/esm/vs/editor/contrib/caretOperations/transpose.js';
57
- import 'monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/unusualLineTerminators.js';
58
- import 'monaco-editor/esm/vs/editor/contrib/viewportSemanticTokens/viewportSemanticTokens.js';
59
- import 'monaco-editor/esm/vs/editor/contrib/wordHighlighter/wordHighlighter.js';
60
- import 'monaco-editor/esm/vs/editor/contrib/wordOperations/wordOperations.js';
61
- import 'monaco-editor/esm/vs/editor/contrib/wordPartOperations/wordPartOperations.js';
62
- import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js'; // @ts-ignore
63
-
64
- import { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js'; // @ts-ignore
65
-
66
- import { KeyMod } from 'monaco-editor/esm/vs/editor/common/standalone/standaloneBase.js';
7
+ import * as monaco from 'monaco-editor'; // @ts-ignore
8
+
9
+ import { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js';
67
10
  import Log from '@deephaven/log';
68
11
  import MonacoTheme from "./MonacoTheme.module.css";
69
12
  import PyLang from "./lang/python.js";
@@ -250,7 +193,7 @@ class MonacoUtils {
250
193
  var didOpenDocumentParams = {
251
194
  textDocument: {
252
195
  uri: "".concat(model.uri),
253
- languageId: model.getModeId(),
196
+ languageId: model.getLanguageId(),
254
197
  version: model.getVersionId(),
255
198
  text: model.getValue()
256
199
  }
@@ -426,12 +369,12 @@ class MonacoUtils {
426
369
 
427
370
  if (isMac) {
428
371
  return (// eslint-disable-next-line no-bitwise
429
- (keyState.metaKey && KeyMod.CtrlCmd) | (keyState.shiftKey && KeyMod.Shift) | (keyState.altKey && KeyMod.Alt) | (keyState.ctrlKey && KeyMod.WinCtrl) | KeyCodeUtils.fromString(keyValue)
372
+ (keyState.metaKey ? monaco.KeyMod.CtrlCmd : 0) | (keyState.shiftKey ? monaco.KeyMod.Shift : 0) | (keyState.altKey ? monaco.KeyMod.Alt : 0) | (keyState.ctrlKey ? monaco.KeyMod.WinCtrl : 0) | KeyCodeUtils.fromString(keyValue)
430
373
  );
431
374
  }
432
375
 
433
376
  return (// eslint-disable-next-line no-bitwise
434
- (keyState.ctrlKey && KeyMod.CtrlCmd) | (keyState.shiftKey && KeyMod.Shift) | (keyState.altKey && KeyMod.Alt) | (keyState.metaKey && KeyMod.WinCtrl) | KeyCodeUtils.fromString(keyValue)
377
+ (keyState.ctrlKey ? monaco.KeyMod.CtrlCmd : 0) | (keyState.shiftKey ? monaco.KeyMod.Shift : 0) | (keyState.altKey ? monaco.KeyMod.Alt : 0) | (keyState.metaKey ? monaco.KeyMod.WinCtrl : 0) | KeyCodeUtils.fromString(keyValue)
435
378
  );
436
379
  }
437
380
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/monaco/MonacoUtils.ts"],"names":["assertNotNull","monaco","KeyCodeUtils","KeyMod","Log","MonacoTheme","PyLang","GroovyLang","ScalaLang","DbLang","LogLang","log","module","MonacoUtils","init","debug","registerLanguages","removeHashtag","dhDarkRules","token","foreground","string","keyword","delimiter","comment","number","storage","identifier","operator","predefined","substring","dhDarkColors","errorForeground","background","focusBorder","editor","defineTheme","base","inherit","rules","colors","debug2","setTheme","color","languages","languageIds","map","id","getLanguages","filter","includes","forEach","languageParam","language","registerLanguage","register","onLanguage","setLanguageConfiguration","conf","setMonarchTokensProvider","setEOL","eolSequence","EndOfLineSequence","LF","getModel","openDocument","session","model","didOpenDocumentParams","textDocument","uri","languageId","getModeId","version","getVersionId","text","getValue","dispose","onDidChangeModelContent","changedEvent","changes","versionId","contentChanges","i","length","change","range","rangeLength","contentChange","start","line","startLineNumber","character","startColumn","end","endLineNumber","endColumn","push","didChangeDocumentParams","changeDocument","closeDocument","didCloseDocumentParams","registerPasteHandler","onDidPaste","pasteEvent","smartQuotes","invalidChars","editorModel","pastedText","getValueInRange","test","applyEdits","replace","isMacPlatform","platform","window","navigator","startsWith","removeConflictingKeybindings","keybindings","windows","mac","keybinding","removeKeybinding","err","error","_standaloneKeybindingService","_getResolver","_map","get","elem","command","addDynamicKeybinding","undefined","warn","getMonacoKeyCodeFromShortcut","shortcut","keyState","keyValue","isMac","metaKey","CtrlCmd","shiftKey","Shift","altKey","Alt","ctrlKey","WinCtrl","fromString"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/**\n * Exports a function for initializing monaco with the deephaven theme/config\n */\n// Instead of importing just 'monaco-editor' and importing all languages and features, just import the features and don't import all the languages we don't care about\n// Default list of features here: https://github.com/microsoft/monaco-editor-webpack-plugin\n// Mapping to paths here: https://github.com/microsoft/monaco-editor-webpack-plugin/blob/main/src/features.ts\n// Importing this way rather than using the plugin because I don't want to hook up react-app-rewired for the build\n\nimport { Shortcut } from '@deephaven/components';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport { assertNotNull } from '@deephaven/utils';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js';\nimport 'monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.js';\nimport 'monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.js';\nimport 'monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js';\nimport 'monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.js';\nimport 'monaco-editor/esm/vs/editor/contrib/codeAction/codeActionContributions.js';\nimport 'monaco-editor/esm/vs/editor/contrib/codelens/codelensController.js';\nimport 'monaco-editor/esm/vs/editor/contrib/colorPicker/colorContributions.js';\nimport 'monaco-editor/esm/vs/editor/contrib/comment/comment.js';\nimport 'monaco-editor/esm/vs/editor/contrib/contextmenu/contextmenu.js';\nimport 'monaco-editor/esm/vs/editor/browser/controller/coreCommands.js';\nimport 'monaco-editor/esm/vs/editor/contrib/cursorUndo/cursorUndo.js';\nimport 'monaco-editor/esm/vs/editor/contrib/dnd/dnd.js';\nimport 'monaco-editor/esm/vs/editor/contrib/documentSymbols/documentSymbols.js';\nimport 'monaco-editor/esm/vs/editor/contrib/find/findController.js';\nimport 'monaco-editor/esm/vs/editor/contrib/folding/folding.js';\nimport 'monaco-editor/esm/vs/editor/contrib/fontZoom/fontZoom.js';\nimport 'monaco-editor/esm/vs/editor/contrib/format/formatActions.js';\nimport 'monaco-editor/esm/vs/editor/contrib/gotoError/gotoError.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/goToCommands.js';\nimport 'monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.js';\nimport 'monaco-editor/esm/vs/editor/contrib/hover/hover.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport 'monaco-editor/esm/vs/editor/contrib/inPlaceReplace/inPlaceReplace.js';\nimport 'monaco-editor/esm/vs/editor/contrib/indentation/indentation.js';\nimport 'monaco-editor/esm/vs/editor/contrib/inlineCompletions/ghostTextController.js';\nimport 'monaco-editor/esm/vs/editor/contrib/inlayHints/inlayHintsController.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport 'monaco-editor/esm/vs/editor/contrib/linesOperations/linesOperations.js';\nimport 'monaco-editor/esm/vs/editor/contrib/linkedEditing/linkedEditing.js';\nimport 'monaco-editor/esm/vs/editor/contrib/links/links.js';\nimport 'monaco-editor/esm/vs/editor/contrib/multicursor/multicursor.js';\nimport 'monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport 'monaco-editor/esm/vs/editor/contrib/rename/rename.js';\nimport 'monaco-editor/esm/vs/editor/contrib/smartSelect/smartSelect.js';\nimport 'monaco-editor/esm/vs/editor/contrib/snippet/snippetController2.js';\nimport 'monaco-editor/esm/vs/editor/contrib/suggest/suggestController.js';\nimport 'monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport 'monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.js';\nimport 'monaco-editor/esm/vs/editor/contrib/caretOperations/transpose.js';\nimport 'monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/unusualLineTerminators.js';\nimport 'monaco-editor/esm/vs/editor/contrib/viewportSemanticTokens/viewportSemanticTokens.js';\nimport 'monaco-editor/esm/vs/editor/contrib/wordHighlighter/wordHighlighter.js';\nimport 'monaco-editor/esm/vs/editor/contrib/wordOperations/wordOperations.js';\nimport 'monaco-editor/esm/vs/editor/contrib/wordPartOperations/wordPartOperations.js';\nimport 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js';\n// @ts-ignore\nimport { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js';\n// @ts-ignore\nimport { KeyMod } from 'monaco-editor/esm/vs/editor/common/standalone/standaloneBase.js';\nimport Log from '@deephaven/log';\nimport MonacoTheme from './MonacoTheme.module.scss';\nimport PyLang from './lang/python';\nimport GroovyLang from './lang/groovy';\nimport ScalaLang from './lang/scala';\nimport DbLang from './lang/db';\nimport LogLang from './lang/log';\nimport { Language } from './lang/Language';\n\nconst log = Log.module('MonacoUtils');\nclass MonacoUtils {\n static init(): void {\n log.debug('Initializing Monaco...');\n\n const { registerLanguages, removeHashtag } = MonacoUtils;\n\n const dhDarkRules = [\n { token: '', foreground: removeHashtag(MonacoTheme.foreground) },\n { token: 'string', foreground: removeHashtag(MonacoTheme.string) },\n {\n token: 'string.delim',\n foreground: removeHashtag(MonacoTheme['string-delim']),\n },\n { token: 'keyword', foreground: removeHashtag(MonacoTheme.keyword) },\n {\n token: 'identifier.js',\n foreground: removeHashtag(MonacoTheme['identifier-js']),\n },\n {\n token: 'delimiter',\n foreground: removeHashtag(MonacoTheme.delimiter),\n },\n { token: 'comment', foreground: removeHashtag(MonacoTheme.comment) },\n { token: 'number', foreground: removeHashtag(MonacoTheme.number) },\n { token: 'storage', foreground: removeHashtag(MonacoTheme.storage) },\n {\n token: 'identifier',\n foreground: removeHashtag(MonacoTheme.identifier),\n },\n {\n token: 'namespace.identifier',\n foreground: removeHashtag(MonacoTheme['namespace-identifier']),\n },\n { token: 'operator', foreground: removeHashtag(MonacoTheme.operator) },\n {\n token: 'predefined',\n foreground: removeHashtag(MonacoTheme.predefined),\n },\n {\n token: 'error.log',\n foreground: MonacoTheme['log-error'].substring(1),\n },\n {\n token: 'warn.log',\n foreground: removeHashtag(MonacoTheme['log-warn']),\n },\n {\n token: 'info.log',\n foreground: removeHashtag(MonacoTheme['log-info']),\n },\n {\n token: 'stdout.log',\n foreground: removeHashtag(MonacoTheme['log-stdout']),\n },\n {\n token: 'trace.log',\n foreground: removeHashtag(MonacoTheme['log-trace']),\n },\n {\n token: 'debug.log',\n foreground: removeHashtag(MonacoTheme['log-debug']),\n },\n {\n token: 'date.log',\n foreground: removeHashtag(MonacoTheme['log-date']),\n },\n ];\n\n const dhDarkColors = {\n errorForeground: MonacoTheme['error-foreground'],\n 'inputOption.activeBorder': MonacoTheme['input-option-active-border'],\n 'editor.background': MonacoTheme.background,\n 'editor.foreground': MonacoTheme.foreground,\n 'editor.lineHighlightBackground': MonacoTheme['editor-line-highlight-bg'],\n 'editorLineNumber.foreground':\n MonacoTheme['editor-line-number-foreground'],\n 'editor.selectionBackground': MonacoTheme['editor-selection-background'],\n 'editor.findMatchBackground': MonacoTheme['editor-find-match-background'],\n 'editor.findMatchHighlightBackground':\n MonacoTheme['editor-find-match-highlight-background'],\n 'editorSuggestWidget.background':\n MonacoTheme['editor-suggest-widget-background'],\n 'editorSuggestWidget.border': MonacoTheme['editor-suggest-widget-border'],\n 'editorSuggestWidget.foreground':\n MonacoTheme['editor-suggest-widget-foreground'],\n 'editorSuggestWidget.selectedBackground':\n MonacoTheme['editor-suggest-widget-selected-background'],\n 'editorSuggestWidget.highlightForeground':\n MonacoTheme['editor-suggest-widget-highlightForeground'],\n 'list.hoverBackground': MonacoTheme['list-hover-background'],\n 'dropdown.background': MonacoTheme['context-menu-background'],\n 'dropdown.foreground': MonacoTheme['context-menu-foreground'],\n 'menu.selectionBackground': MonacoTheme['menu-selection-background'],\n 'list.focusBackground': MonacoTheme['menu-selection-background'],\n 'editorWidget.background': MonacoTheme['editor-widget-background'],\n 'inputOption.activeBackground':\n MonacoTheme['input-option-active-background'],\n 'inputOption.activeForeground':\n MonacoTheme['input-option-active-foreground'],\n focusBorder: MonacoTheme['focus-border'],\n 'input.background': MonacoTheme['input-background'],\n 'input.foreground': MonacoTheme['input-foreground'],\n 'input.border': MonacoTheme['input-border'],\n };\n\n monaco.editor.defineTheme('dh-dark', {\n base: 'vs-dark',\n inherit: true,\n rules: dhDarkRules,\n colors: dhDarkColors,\n });\n log.debug2('monaco theme: ', MonacoTheme);\n monaco.editor.setTheme('dh-dark');\n\n registerLanguages([DbLang, PyLang, GroovyLang, LogLang, ScalaLang]);\n\n log.debug('Monaco initialized.');\n }\n\n /**\n * Remove the hashtag prefix from a CSS color string.\n * Monaco expects colors to be the value only, no hashtag.\n * @param color The hex color string to remove the hashtag from, eg. '#ffffff'\n */\n static removeHashtag(color: string): string {\n return color.substring(1);\n }\n\n static registerLanguages(languages: Language[]): void {\n // First override the default loader for any language we have a custom definition for\n // https://github.com/Microsoft/monaco-editor/issues/252#issuecomment-482786867\n const languageIds = languages.map(({ id }) => id);\n monaco.languages\n .getLanguages()\n .filter(({ id }) => languageIds.includes(id))\n .forEach(languageParam => {\n const language = languageParam;\n log.debug2('Overriding default language loader:', language.id);\n });\n\n // Then register our language definitions\n languages.forEach(language => {\n MonacoUtils.registerLanguage(language);\n });\n }\n\n static registerLanguage(language: Language): void {\n log.debug2('Registering language: ', language.id);\n monaco.languages.register(language);\n\n monaco.languages.onLanguage(language.id, () => {\n monaco.languages.setLanguageConfiguration(language.id, language.conf);\n monaco.languages.setMonarchTokensProvider(language.id, language.language);\n });\n }\n\n /**\n * Set EOL preference for the editor\n * @param editor The editor to set the EOL for\n * @param eolSequence EOL sequence\n */\n static setEOL(\n editor: monaco.editor.IStandaloneCodeEditor,\n eolSequence = monaco.editor.EndOfLineSequence.LF\n ): void {\n editor.getModel()?.setEOL(eolSequence);\n }\n\n /**\n * Links an editor with a provided session to provide completion items.\n * @param session The IdeSession to link\n * @param editor The editor to link the session to\n * @returns A cleanup function for disposing of the created listeners\n */\n static openDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: IdeSession\n ): monaco.IDisposable {\n const model = editor.getModel();\n assertNotNull(model);\n const didOpenDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n languageId: model.getModeId(),\n version: model.getVersionId(),\n text: model.getValue(),\n },\n };\n log.debug2('didOpenDocumentParams: ', didOpenDocumentParams);\n\n session.openDocument(didOpenDocumentParams);\n\n const dispose = editor.onDidChangeModelContent(changedEvent => {\n const { changes, versionId } = changedEvent;\n\n const contentChanges = [];\n for (let i = 0; i < changes.length; i += 1) {\n const change = changes[i];\n const { range, rangeLength, text } = change;\n const contentChange = {\n range: {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1,\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1,\n },\n },\n rangeLength,\n text,\n };\n\n contentChanges.push(contentChange);\n }\n\n if (contentChanges.length > 0) {\n const didChangeDocumentParams = {\n textDocument: {\n version: versionId,\n uri: `${model.uri}`,\n },\n contentChanges,\n };\n log.debug2('didChangeDocumentParams', didChangeDocumentParams);\n session.changeDocument(didChangeDocumentParams);\n }\n });\n\n return dispose;\n }\n\n static closeDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: IdeSession\n ): void {\n const model = editor.getModel();\n assertNotNull(model);\n const didCloseDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n },\n };\n session.closeDocument(didCloseDocumentParams);\n }\n\n /**\n * Register a paste handle to clean up any garbage code pasted.\n * Most of this comes from copying from Slack, which has a bad habit of injecting their own characters in your code snippets.\n * I've emailed Slack about the issue and they're working on it. I can't reference a ticket number because their ticket system is entirely internally facing.\n * @param editor The editor the register the paste handler for\n */\n static registerPasteHandler(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n editor.onDidPaste(pasteEvent => {\n const smartQuotes = /“|”/g;\n const invalidChars = /\\u200b/g;\n const editorModel = editor.getModel();\n assertNotNull(editorModel);\n const pastedText = editorModel.getValueInRange(pasteEvent.range);\n if (smartQuotes.test(pastedText) || invalidChars.test(pastedText)) {\n editorModel.applyEdits([\n {\n range: pasteEvent.range,\n text: pastedText\n .replace(smartQuotes, '\"')\n .replace(invalidChars, ''),\n },\n ]);\n }\n });\n }\n\n static isMacPlatform(): boolean {\n const { platform } = window.navigator;\n return platform.startsWith('Mac');\n }\n\n /**\n * Remove any keybindings which are used for our own shortcuts.\n * This allows the key events to bubble up so a component higher up can capture them\n * @param editor The editor to remove the keybindings from\n */\n static removeConflictingKeybindings(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n // Multi-mod key events have a specific order\n // E.g. ctrl+alt+UpArrow is not found, but alt+ctrl+UpArrow is found\n // meta is WindowsKey on Windows and cmd on Mac\n // ctrl is ctrl Windows and ctrl on Mac\n // alt is alt on Windows and option on Mac\n const keybindings = [\n {\n windows: 'ctrl+D',\n mac: 'meta+D',\n },\n {\n windows: 'ctrl+H',\n },\n ];\n\n try {\n keybindings.forEach(keybinding => {\n if (\n (MonacoUtils.isMacPlatform() && keybinding.mac === '') ||\n (!MonacoUtils.isMacPlatform() && keybinding.windows === '')\n ) {\n return;\n }\n MonacoUtils.removeKeybinding(\n editor,\n (MonacoUtils.isMacPlatform()\n ? keybinding.mac\n : keybinding.windows) as string\n );\n });\n } catch (err) {\n // This is probably only caused by Monaco changing private methods used here\n log.error(err);\n }\n }\n\n /**\n * Remove a keybinding and allow the events to bubble up\n * If you want the keybinding removed for all editors, add it to removeConflictingKeybindings\n * Monaco still captures the event if you choose to override the keybinding with a no-op function\n *\n * Based on the following comment to remove a keybinding and let the event bubble up\n * https://github.com/microsoft/monaco-editor/issues/287#issuecomment-331447475\n * The issue for an API for this has apparently been open since 2016. Link below\n * https://github.com/microsoft/monaco-editor/issues/102\n * @param editor The editor to remove the keybinding from\n * @param keybinding The key string to remove. E.g. 'ctrl+C' for copy on Windows\n */\n static removeKeybinding(\n editor: monaco.editor.IStandaloneCodeEditor,\n keybinding: string\n ): void {\n /* eslint-disable no-underscore-dangle */\n // It's possible a single keybinding has multiple commands depending on context\n // @ts-ignore\n const keybindings = editor._standaloneKeybindingService\n ._getResolver()\n ._map.get(keybinding);\n\n if (keybindings) {\n keybindings.forEach((elem: { command: unknown }) => {\n log.debug2(\n `Removing Monaco keybinding ${keybinding} for ${elem.command}`\n );\n // @ts-ignore\n editor._standaloneKeybindingService.addDynamicKeybinding(\n `-${elem.command}`,\n null,\n () => undefined\n );\n });\n } else {\n log.warn(`Did not find any keybindings to remove for ${keybinding}`);\n }\n /* eslint-enable no-underscore-dangle */\n }\n\n static getMonacoKeyCodeFromShortcut(shortcut: Shortcut): number {\n const { keyState } = shortcut;\n const { keyValue } = keyState;\n if (keyValue === null) {\n return 0;\n }\n\n const isMac = MonacoUtils.isMacPlatform();\n\n if (isMac) {\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.metaKey && KeyMod.CtrlCmd) |\n (keyState.shiftKey && KeyMod.Shift) |\n (keyState.altKey && KeyMod.Alt) |\n (keyState.ctrlKey && KeyMod.WinCtrl) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.ctrlKey && KeyMod.CtrlCmd) |\n (keyState.shiftKey && KeyMod.Shift) |\n (keyState.altKey && KeyMod.Alt) |\n (keyState.metaKey && KeyMod.WinCtrl) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n}\n\nexport default MonacoUtils;\n"],"file":"MonacoUtils.js"}
1
+ {"version":3,"sources":["../../src/monaco/MonacoUtils.ts"],"names":["assertNotNull","monaco","KeyCodeUtils","Log","MonacoTheme","PyLang","GroovyLang","ScalaLang","DbLang","LogLang","log","module","MonacoUtils","init","debug","registerLanguages","removeHashtag","dhDarkRules","token","foreground","string","keyword","delimiter","comment","number","storage","identifier","operator","predefined","substring","dhDarkColors","errorForeground","background","focusBorder","editor","defineTheme","base","inherit","rules","colors","debug2","setTheme","color","languages","languageIds","map","id","getLanguages","filter","includes","forEach","languageParam","language","registerLanguage","register","onLanguage","setLanguageConfiguration","conf","setMonarchTokensProvider","setEOL","eolSequence","EndOfLineSequence","LF","getModel","openDocument","session","model","didOpenDocumentParams","textDocument","uri","languageId","getLanguageId","version","getVersionId","text","getValue","dispose","onDidChangeModelContent","changedEvent","changes","versionId","contentChanges","i","length","change","range","rangeLength","contentChange","start","line","startLineNumber","character","startColumn","end","endLineNumber","endColumn","push","didChangeDocumentParams","changeDocument","closeDocument","didCloseDocumentParams","registerPasteHandler","onDidPaste","pasteEvent","smartQuotes","invalidChars","editorModel","pastedText","getValueInRange","test","applyEdits","replace","isMacPlatform","platform","window","navigator","startsWith","removeConflictingKeybindings","keybindings","windows","mac","keybinding","removeKeybinding","err","error","_standaloneKeybindingService","_getResolver","_map","get","elem","command","addDynamicKeybinding","undefined","warn","getMonacoKeyCodeFromShortcut","shortcut","keyState","keyValue","isMac","metaKey","KeyMod","CtrlCmd","shiftKey","Shift","altKey","Alt","ctrlKey","WinCtrl","fromString"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/**\n * Exports a function for initializing monaco with the deephaven theme/config\n */\nimport { Shortcut } from '@deephaven/components';\nimport { IdeSession } from '@deephaven/jsapi-shim';\nimport { assertNotNull } from '@deephaven/utils';\nimport * as monaco from 'monaco-editor';\n// @ts-ignore\nimport { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js';\nimport Log from '@deephaven/log';\nimport MonacoTheme from './MonacoTheme.module.scss';\nimport PyLang from './lang/python';\nimport GroovyLang from './lang/groovy';\nimport ScalaLang from './lang/scala';\nimport DbLang from './lang/db';\nimport LogLang from './lang/log';\nimport { Language } from './lang/Language';\n\nconst log = Log.module('MonacoUtils');\nclass MonacoUtils {\n static init(): void {\n log.debug('Initializing Monaco...');\n\n const { registerLanguages, removeHashtag } = MonacoUtils;\n\n const dhDarkRules = [\n { token: '', foreground: removeHashtag(MonacoTheme.foreground) },\n { token: 'string', foreground: removeHashtag(MonacoTheme.string) },\n {\n token: 'string.delim',\n foreground: removeHashtag(MonacoTheme['string-delim']),\n },\n { token: 'keyword', foreground: removeHashtag(MonacoTheme.keyword) },\n {\n token: 'identifier.js',\n foreground: removeHashtag(MonacoTheme['identifier-js']),\n },\n {\n token: 'delimiter',\n foreground: removeHashtag(MonacoTheme.delimiter),\n },\n { token: 'comment', foreground: removeHashtag(MonacoTheme.comment) },\n { token: 'number', foreground: removeHashtag(MonacoTheme.number) },\n { token: 'storage', foreground: removeHashtag(MonacoTheme.storage) },\n {\n token: 'identifier',\n foreground: removeHashtag(MonacoTheme.identifier),\n },\n {\n token: 'namespace.identifier',\n foreground: removeHashtag(MonacoTheme['namespace-identifier']),\n },\n { token: 'operator', foreground: removeHashtag(MonacoTheme.operator) },\n {\n token: 'predefined',\n foreground: removeHashtag(MonacoTheme.predefined),\n },\n {\n token: 'error.log',\n foreground: MonacoTheme['log-error'].substring(1),\n },\n {\n token: 'warn.log',\n foreground: removeHashtag(MonacoTheme['log-warn']),\n },\n {\n token: 'info.log',\n foreground: removeHashtag(MonacoTheme['log-info']),\n },\n {\n token: 'stdout.log',\n foreground: removeHashtag(MonacoTheme['log-stdout']),\n },\n {\n token: 'trace.log',\n foreground: removeHashtag(MonacoTheme['log-trace']),\n },\n {\n token: 'debug.log',\n foreground: removeHashtag(MonacoTheme['log-debug']),\n },\n {\n token: 'date.log',\n foreground: removeHashtag(MonacoTheme['log-date']),\n },\n ];\n\n const dhDarkColors = {\n errorForeground: MonacoTheme['error-foreground'],\n 'inputOption.activeBorder': MonacoTheme['input-option-active-border'],\n 'editor.background': MonacoTheme.background,\n 'editor.foreground': MonacoTheme.foreground,\n 'editor.lineHighlightBackground': MonacoTheme['editor-line-highlight-bg'],\n 'editorLineNumber.foreground':\n MonacoTheme['editor-line-number-foreground'],\n 'editor.selectionBackground': MonacoTheme['editor-selection-background'],\n 'editor.findMatchBackground': MonacoTheme['editor-find-match-background'],\n 'editor.findMatchHighlightBackground':\n MonacoTheme['editor-find-match-highlight-background'],\n 'editorSuggestWidget.background':\n MonacoTheme['editor-suggest-widget-background'],\n 'editorSuggestWidget.border': MonacoTheme['editor-suggest-widget-border'],\n 'editorSuggestWidget.foreground':\n MonacoTheme['editor-suggest-widget-foreground'],\n 'editorSuggestWidget.selectedBackground':\n MonacoTheme['editor-suggest-widget-selected-background'],\n 'editorSuggestWidget.highlightForeground':\n MonacoTheme['editor-suggest-widget-highlightForeground'],\n 'list.hoverBackground': MonacoTheme['list-hover-background'],\n 'dropdown.background': MonacoTheme['context-menu-background'],\n 'dropdown.foreground': MonacoTheme['context-menu-foreground'],\n 'menu.selectionBackground': MonacoTheme['menu-selection-background'],\n 'list.focusBackground': MonacoTheme['menu-selection-background'],\n 'editorWidget.background': MonacoTheme['editor-widget-background'],\n 'inputOption.activeBackground':\n MonacoTheme['input-option-active-background'],\n 'inputOption.activeForeground':\n MonacoTheme['input-option-active-foreground'],\n focusBorder: MonacoTheme['focus-border'],\n 'input.background': MonacoTheme['input-background'],\n 'input.foreground': MonacoTheme['input-foreground'],\n 'input.border': MonacoTheme['input-border'],\n };\n\n monaco.editor.defineTheme('dh-dark', {\n base: 'vs-dark',\n inherit: true,\n rules: dhDarkRules,\n colors: dhDarkColors,\n });\n log.debug2('monaco theme: ', MonacoTheme);\n monaco.editor.setTheme('dh-dark');\n\n registerLanguages([DbLang, PyLang, GroovyLang, LogLang, ScalaLang]);\n\n log.debug('Monaco initialized.');\n }\n\n /**\n * Remove the hashtag prefix from a CSS color string.\n * Monaco expects colors to be the value only, no hashtag.\n * @param color The hex color string to remove the hashtag from, eg. '#ffffff'\n */\n static removeHashtag(color: string): string {\n return color.substring(1);\n }\n\n static registerLanguages(languages: Language[]): void {\n // First override the default loader for any language we have a custom definition for\n // https://github.com/Microsoft/monaco-editor/issues/252#issuecomment-482786867\n const languageIds = languages.map(({ id }) => id);\n monaco.languages\n .getLanguages()\n .filter(({ id }) => languageIds.includes(id))\n .forEach(languageParam => {\n const language = languageParam;\n log.debug2('Overriding default language loader:', language.id);\n });\n\n // Then register our language definitions\n languages.forEach(language => {\n MonacoUtils.registerLanguage(language);\n });\n }\n\n static registerLanguage(language: Language): void {\n log.debug2('Registering language: ', language.id);\n monaco.languages.register(language);\n\n monaco.languages.onLanguage(language.id, () => {\n monaco.languages.setLanguageConfiguration(language.id, language.conf);\n monaco.languages.setMonarchTokensProvider(language.id, language.language);\n });\n }\n\n /**\n * Set EOL preference for the editor\n * @param editor The editor to set the EOL for\n * @param eolSequence EOL sequence\n */\n static setEOL(\n editor: monaco.editor.IStandaloneCodeEditor,\n eolSequence = monaco.editor.EndOfLineSequence.LF\n ): void {\n editor.getModel()?.setEOL(eolSequence);\n }\n\n /**\n * Links an editor with a provided session to provide completion items.\n * @param session The IdeSession to link\n * @param editor The editor to link the session to\n * @returns A cleanup function for disposing of the created listeners\n */\n static openDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: IdeSession\n ): monaco.IDisposable {\n const model = editor.getModel();\n assertNotNull(model);\n const didOpenDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n languageId: model.getLanguageId(),\n version: model.getVersionId(),\n text: model.getValue(),\n },\n };\n log.debug2('didOpenDocumentParams: ', didOpenDocumentParams);\n\n session.openDocument(didOpenDocumentParams);\n\n const dispose = editor.onDidChangeModelContent(changedEvent => {\n const { changes, versionId } = changedEvent;\n\n const contentChanges = [];\n for (let i = 0; i < changes.length; i += 1) {\n const change = changes[i];\n const { range, rangeLength, text } = change;\n const contentChange = {\n range: {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1,\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1,\n },\n },\n rangeLength,\n text,\n };\n\n contentChanges.push(contentChange);\n }\n\n if (contentChanges.length > 0) {\n const didChangeDocumentParams = {\n textDocument: {\n version: versionId,\n uri: `${model.uri}`,\n },\n contentChanges,\n };\n log.debug2('didChangeDocumentParams', didChangeDocumentParams);\n session.changeDocument(didChangeDocumentParams);\n }\n });\n\n return dispose;\n }\n\n static closeDocument(\n editor: monaco.editor.IStandaloneCodeEditor,\n session: IdeSession\n ): void {\n const model = editor.getModel();\n assertNotNull(model);\n const didCloseDocumentParams = {\n textDocument: {\n uri: `${model.uri}`,\n },\n };\n session.closeDocument(didCloseDocumentParams);\n }\n\n /**\n * Register a paste handle to clean up any garbage code pasted.\n * Most of this comes from copying from Slack, which has a bad habit of injecting their own characters in your code snippets.\n * I've emailed Slack about the issue and they're working on it. I can't reference a ticket number because their ticket system is entirely internally facing.\n * @param editor The editor the register the paste handler for\n */\n static registerPasteHandler(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n editor.onDidPaste(pasteEvent => {\n const smartQuotes = /“|”/g;\n const invalidChars = /\\u200b/g;\n const editorModel = editor.getModel();\n assertNotNull(editorModel);\n const pastedText = editorModel.getValueInRange(pasteEvent.range);\n if (smartQuotes.test(pastedText) || invalidChars.test(pastedText)) {\n editorModel.applyEdits([\n {\n range: pasteEvent.range,\n text: pastedText\n .replace(smartQuotes, '\"')\n .replace(invalidChars, ''),\n },\n ]);\n }\n });\n }\n\n static isMacPlatform(): boolean {\n const { platform } = window.navigator;\n return platform.startsWith('Mac');\n }\n\n /**\n * Remove any keybindings which are used for our own shortcuts.\n * This allows the key events to bubble up so a component higher up can capture them\n * @param editor The editor to remove the keybindings from\n */\n static removeConflictingKeybindings(\n editor: monaco.editor.IStandaloneCodeEditor\n ): void {\n // Multi-mod key events have a specific order\n // E.g. ctrl+alt+UpArrow is not found, but alt+ctrl+UpArrow is found\n // meta is WindowsKey on Windows and cmd on Mac\n // ctrl is ctrl Windows and ctrl on Mac\n // alt is alt on Windows and option on Mac\n const keybindings = [\n {\n windows: 'ctrl+D',\n mac: 'meta+D',\n },\n {\n windows: 'ctrl+H',\n },\n ];\n\n try {\n keybindings.forEach(keybinding => {\n if (\n (MonacoUtils.isMacPlatform() && keybinding.mac === '') ||\n (!MonacoUtils.isMacPlatform() && keybinding.windows === '')\n ) {\n return;\n }\n MonacoUtils.removeKeybinding(\n editor,\n (MonacoUtils.isMacPlatform()\n ? keybinding.mac\n : keybinding.windows) as string\n );\n });\n } catch (err) {\n // This is probably only caused by Monaco changing private methods used here\n log.error(err);\n }\n }\n\n /**\n * Remove a keybinding and allow the events to bubble up\n * If you want the keybinding removed for all editors, add it to removeConflictingKeybindings\n * Monaco still captures the event if you choose to override the keybinding with a no-op function\n *\n * Based on the following comment to remove a keybinding and let the event bubble up\n * https://github.com/microsoft/monaco-editor/issues/287#issuecomment-331447475\n * The issue for an API for this has apparently been open since 2016. Link below\n * https://github.com/microsoft/monaco-editor/issues/102\n * @param editor The editor to remove the keybinding from\n * @param keybinding The key string to remove. E.g. 'ctrl+C' for copy on Windows\n */\n static removeKeybinding(\n editor: monaco.editor.IStandaloneCodeEditor,\n keybinding: string\n ): void {\n /* eslint-disable no-underscore-dangle */\n // It's possible a single keybinding has multiple commands depending on context\n // @ts-ignore\n const keybindings = editor._standaloneKeybindingService\n ._getResolver()\n ._map.get(keybinding);\n\n if (keybindings) {\n keybindings.forEach((elem: { command: unknown }) => {\n log.debug2(\n `Removing Monaco keybinding ${keybinding} for ${elem.command}`\n );\n // @ts-ignore\n editor._standaloneKeybindingService.addDynamicKeybinding(\n `-${elem.command}`,\n null,\n () => undefined\n );\n });\n } else {\n log.warn(`Did not find any keybindings to remove for ${keybinding}`);\n }\n /* eslint-enable no-underscore-dangle */\n }\n\n static getMonacoKeyCodeFromShortcut(shortcut: Shortcut): number {\n const { keyState } = shortcut;\n const { keyValue } = keyState;\n if (keyValue === null) {\n return 0;\n }\n\n const isMac = MonacoUtils.isMacPlatform();\n\n if (isMac) {\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.metaKey ? monaco.KeyMod.CtrlCmd : 0) |\n (keyState.shiftKey ? monaco.KeyMod.Shift : 0) |\n (keyState.altKey ? monaco.KeyMod.Alt : 0) |\n (keyState.ctrlKey ? monaco.KeyMod.WinCtrl : 0) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n\n return (\n // eslint-disable-next-line no-bitwise\n (keyState.ctrlKey ? monaco.KeyMod.CtrlCmd : 0) |\n (keyState.shiftKey ? monaco.KeyMod.Shift : 0) |\n (keyState.altKey ? monaco.KeyMod.Alt : 0) |\n (keyState.metaKey ? monaco.KeyMod.WinCtrl : 0) |\n KeyCodeUtils.fromString(keyValue)\n );\n }\n}\n\nexport default MonacoUtils;\n"],"file":"MonacoUtils.js"}
@@ -1,4 +1,4 @@
1
- import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
1
+ import * as monaco from 'monaco-editor';
2
2
  export declare type Language = {
3
3
  id: string;
4
4
  conf: monaco.languages.LanguageConfiguration;
@@ -1 +1 @@
1
- {"version":3,"file":"Language.d.ts","sourceRoot":"","sources":["../../../src/monaco/lang/Language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,2CAA2C,CAAC;AAEpE,oBAAY,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC7C,QAAQ,EACJ,MAAM,CAAC,SAAS,CAAC,gBAAgB,GACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;CACxD,CAAC"}
1
+ {"version":3,"file":"Language.d.ts","sourceRoot":"","sources":["../../../src/monaco/lang/Language.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,oBAAY,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC7C,QAAQ,EACJ,MAAM,CAAC,SAAS,CAAC,gBAAgB,GACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;CACxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/monaco/lang/db.ts"],"names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","tokenPostfix","keywords","builtins","operators","token","symbols","escapes","exponent","regexpctl","regexpesc","tokenizer","root","cases","$3","include","bracket","next","whitespace","comment","string","regexp","regexrange","lang"],"mappings":"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","sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport { Language } from './Language';\n\n/* eslint no-useless-escape: \"off\" */\nconst id = 'deephavenDb';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '#',\n blockComment: [\"'''\", \"'''\"],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n tokenPostfix: '.js',\n\n keywords: [\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n ],\n\n builtins: ['define', 'require', 'window', 'document', 'undefined'],\n\n operators: [\n '=',\n '>',\n '<',\n '!',\n '~',\n '?',\n ':',\n '==',\n '<=',\n '>=',\n '!=',\n '&&',\n '||',\n '++',\n '--',\n '+',\n '-',\n '*',\n '/',\n '&',\n '|',\n '^',\n '%',\n '<<',\n '>>',\n '>>>',\n '+=',\n '-=',\n '*=',\n '/=',\n '&=',\n '|=',\n '^=',\n '%=',\n '<<=',\n '>>=',\n '>>>=',\n ],\n\n // define our own brackets as '<' and '>' do not match in javascript\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.bracket' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // common regular expressions\n symbols: /[~!@#%\\^&*-+=|\\\\:`<>.?\\/]+/,\n escapes: /\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,\n exponent: /[eE][\\-+]?[0-9]+/,\n\n regexpctl: /[(){}\\[\\]\\$\\^|\\-*+?\\.]/,\n regexpesc: /\\\\(?:[bBdDfnrstvwWn0\\\\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,\n\n tokenizer: {\n root: [\n // identifiers and keywords\n [\n /([a-zA-Z_\\$][\\w\\$]*)(\\s*)(:?)/,\n {\n cases: {\n '$1@keywords': ['keyword', 'white', 'delimiter'],\n $3: ['key.identifier', 'white', 'delimiter'], // followed by :\n '$1@builtins': ['predefined.identifier', 'white', 'delimiter'],\n '@default': ['identifier', 'white', 'delimiter'],\n },\n },\n ],\n\n // whitespace\n { include: '@whitespace' },\n\n // regular expression: ensure it is terminated before beginning (otherwise it is an opeator)\n [\n /\\/(?=([^\\\\\\/]|\\\\.)+\\/)/,\n { token: 'regexp.slash', bracket: '@open', next: '@regexp' },\n ],\n\n // delimiters and operators\n [/[{}()\\[\\]]/, '@brackets'],\n [/[;,.]/, 'delimiter'],\n [\n /@symbols/,\n {\n cases: {\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d+\\.\\d*(@exponent)?/, 'number.float'],\n [/\\.\\d+(@exponent)?/, 'number.float'],\n [/\\d+@exponent/, 'number.float'],\n [/0[xX][\\da-fA-F]+/, 'number.hex'],\n [/0[0-7]+/, 'number.octal'],\n [/\\d+/, 'number'],\n\n // strings: recover on non-terminated strings\n [/\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/\"/, 'string', '@string.\"'],\n [/'/, 'string', \"@string.'\"],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, 'white'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n\n comment: [\n [/[^\\/*]+/, 'comment'],\n // [/\\/\\*/, 'comment', '@push' ], // nested comment not allowed :-(\n [/\\/\\*/, 'comment.invalid'],\n ['\\\\*/', 'comment', '@pop'],\n [/[\\/*]/, 'comment'],\n ],\n\n string: [\n [/[^\\\\\"']+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': { token: 'string', next: '@pop' },\n '@default': 'string',\n },\n },\n ],\n ],\n\n // We match regular expression quite precisely\n regexp: [\n [\n /(\\{)(\\d+(?:,\\d*)?)(\\})/,\n [\n '@brackets.regexp.escape.control',\n 'regexp.escape.control',\n '@brackets.regexp.escape.control',\n ],\n ],\n [\n /(\\[)(\\^?)(?=(?:[^\\]\\\\\\/]|\\\\.)+)/,\n [\n { token: '@brackets.regexp.escape.control' },\n {\n token: 'regexp.escape.control',\n next: '@regexrange',\n },\n ],\n ],\n [\n /(\\()(\\?:|\\?=|\\?!)/,\n ['@brackets.regexp.escape.control', 'regexp.escape.control'],\n ],\n [/[()]/, '@brackets.regexp.escape.control'],\n [/@regexpctl/, 'regexp.escape.control'],\n [/[^\\\\\\/]/, 'regexp'],\n [/@regexpesc/, 'regexp.escape'],\n [/\\\\\\./, 'regexp.invalid'],\n ['/', { token: 'regexp.slash', bracket: '@close' }, '@pop'],\n ],\n\n regexrange: [\n [/-/, 'regexp.escape.control'],\n [/\\^/, 'regexp.invalid'],\n [/@regexpesc/, 'regexp.escape'],\n [/[^\\]]/, 'regexp'],\n [/\\]/, '@brackets.regexp.escape.control', '@pop'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"file":"db.js"}
1
+ {"version":3,"sources":["../../../src/monaco/lang/db.ts"],"names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","tokenPostfix","keywords","builtins","operators","token","symbols","escapes","exponent","regexpctl","regexpesc","tokenizer","root","cases","$3","include","bracket","next","whitespace","comment","string","regexp","regexrange","lang"],"mappings":"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","sourcesContent":["import * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\n/* eslint no-useless-escape: \"off\" */\nconst id = 'deephavenDb';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '#',\n blockComment: [\"'''\", \"'''\"],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n tokenPostfix: '.js',\n\n keywords: [\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n ],\n\n builtins: ['define', 'require', 'window', 'document', 'undefined'],\n\n operators: [\n '=',\n '>',\n '<',\n '!',\n '~',\n '?',\n ':',\n '==',\n '<=',\n '>=',\n '!=',\n '&&',\n '||',\n '++',\n '--',\n '+',\n '-',\n '*',\n '/',\n '&',\n '|',\n '^',\n '%',\n '<<',\n '>>',\n '>>>',\n '+=',\n '-=',\n '*=',\n '/=',\n '&=',\n '|=',\n '^=',\n '%=',\n '<<=',\n '>>=',\n '>>>=',\n ],\n\n // define our own brackets as '<' and '>' do not match in javascript\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.bracket' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // common regular expressions\n symbols: /[~!@#%\\^&*-+=|\\\\:`<>.?\\/]+/,\n escapes: /\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,\n exponent: /[eE][\\-+]?[0-9]+/,\n\n regexpctl: /[(){}\\[\\]\\$\\^|\\-*+?\\.]/,\n regexpesc: /\\\\(?:[bBdDfnrstvwWn0\\\\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,\n\n tokenizer: {\n root: [\n // identifiers and keywords\n [\n /([a-zA-Z_\\$][\\w\\$]*)(\\s*)(:?)/,\n {\n cases: {\n '$1@keywords': ['keyword', 'white', 'delimiter'],\n $3: ['key.identifier', 'white', 'delimiter'], // followed by :\n '$1@builtins': ['predefined.identifier', 'white', 'delimiter'],\n '@default': ['identifier', 'white', 'delimiter'],\n },\n },\n ],\n\n // whitespace\n { include: '@whitespace' },\n\n // regular expression: ensure it is terminated before beginning (otherwise it is an opeator)\n [\n /\\/(?=([^\\\\\\/]|\\\\.)+\\/)/,\n { token: 'regexp.slash', bracket: '@open', next: '@regexp' },\n ],\n\n // delimiters and operators\n [/[{}()\\[\\]]/, '@brackets'],\n [/[;,.]/, 'delimiter'],\n [\n /@symbols/,\n {\n cases: {\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d+\\.\\d*(@exponent)?/, 'number.float'],\n [/\\.\\d+(@exponent)?/, 'number.float'],\n [/\\d+@exponent/, 'number.float'],\n [/0[xX][\\da-fA-F]+/, 'number.hex'],\n [/0[0-7]+/, 'number.octal'],\n [/\\d+/, 'number'],\n\n // strings: recover on non-terminated strings\n [/\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/\"/, 'string', '@string.\"'],\n [/'/, 'string', \"@string.'\"],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, 'white'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n\n comment: [\n [/[^\\/*]+/, 'comment'],\n // [/\\/\\*/, 'comment', '@push' ], // nested comment not allowed :-(\n [/\\/\\*/, 'comment.invalid'],\n ['\\\\*/', 'comment', '@pop'],\n [/[\\/*]/, 'comment'],\n ],\n\n string: [\n [/[^\\\\\"']+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': { token: 'string', next: '@pop' },\n '@default': 'string',\n },\n },\n ],\n ],\n\n // We match regular expression quite precisely\n regexp: [\n [\n /(\\{)(\\d+(?:,\\d*)?)(\\})/,\n [\n '@brackets.regexp.escape.control',\n 'regexp.escape.control',\n '@brackets.regexp.escape.control',\n ],\n ],\n [\n /(\\[)(\\^?)(?=(?:[^\\]\\\\\\/]|\\\\.)+)/,\n [\n { token: '@brackets.regexp.escape.control' },\n {\n token: 'regexp.escape.control',\n next: '@regexrange',\n },\n ],\n ],\n [\n /(\\()(\\?:|\\?=|\\?!)/,\n ['@brackets.regexp.escape.control', 'regexp.escape.control'],\n ],\n [/[()]/, '@brackets.regexp.escape.control'],\n [/@regexpctl/, 'regexp.escape.control'],\n [/[^\\\\\\/]/, 'regexp'],\n [/@regexpesc/, 'regexp.escape'],\n [/\\\\\\./, 'regexp.invalid'],\n ['/', { token: 'regexp.slash', bracket: '@close' }, '@pop'],\n ],\n\n regexrange: [\n [/-/, 'regexp.escape.control'],\n [/\\^/, 'regexp.invalid'],\n [/@regexpesc/, 'regexp.escape'],\n [/[^\\]]/, 'regexp'],\n [/\\]/, '@brackets.regexp.escape.control', '@pop'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"file":"db.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/monaco/lang/groovy.ts"],"names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","keywords","operators","token","symbols","delimiters","escapes","rawpre","strpre","tokenizer","root","bracket","next","nextEmbedded","cases","include","mstring","sstring","string","strcontent","mrawstring","rawstring","rawstrcontent","whitespace","comment","doccomment","lang"],"mappings":"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","sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport { Language } from './Language';\n\nconst id = 'groovy';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '//',\n blockComment: ['/*', '*/'],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n\n keywords: [\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'println',\n 'class',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'def',\n 'for',\n 'lambda',\n 'try',\n ':',\n '=',\n 'isinstance',\n '__debug__',\n ],\n\n operators: [\n '+',\n '-',\n '*',\n '**',\n '/',\n '//',\n '%',\n '<<',\n '>>',\n '&',\n '|',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '>=',\n '==',\n '!=',\n '<>',\n '+=',\n '-=',\n '*=',\n '/',\n '//=',\n '%=',\n '&=',\n '|=',\n '^=',\n '>>=',\n '<<=',\n '**=',\n ],\n\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // operator symbols\n symbols: /[=><!~&|+\\-*/^%]+/,\n delimiters: /[;=.@:,`]/,\n\n // strings\n escapes: /\\\\(?:[abfnrtv\\\\\"'\\n\\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\{\\w+\\})/,\n rawpre: /(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,\n strpre: /(?:[buBU])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings: need to check first due to the prefix\n [\n /@strpre?(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mstring.$1' },\n ],\n [/@strpre?\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@strpre?'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@strpre?([\"])/,\n {\n token: 'string.delim',\n bracket: '@open',\n next: '@sstring.$1',\n nextEmbedded: 'deephavenDb',\n },\n ],\n [\n /@strpre?([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@string.$1' },\n ],\n\n [\n /@rawpre(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mrawstring.$1' },\n ],\n [/@rawpre\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@rawpre'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@rawpre([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@rawstring.$1' },\n ],\n\n // identifiers and keywords\n [/__[\\w$]*/, 'predefined'],\n [\n /[a-z_$][\\w$]*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'identifier',\n },\n },\n ],\n [\n /[A-Z][\\w]*/,\n {\n cases: {\n '~[A-Z0-9_]+': 'constructor.identifier',\n '@default': 'namespace.identifier',\n },\n },\n ], // to show class names nicely\n\n // whitespace\n { include: '@whitespace' },\n\n // delimiters and operators\n [/[{}()[\\]]/, '@brackets'],\n [\n /@symbols/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, 'number.float'],\n [/0[xX][0-9a-fA-F]+[lL]?/, 'number.hex'],\n [/0[bB][0-1]+[lL]?/, 'number.binary'],\n [/(0[oO][0-7]+|0[0-7]+)[lL]?/, 'number.octal'],\n [/(0|[1-9]\\d*)[lL]?/, 'number'],\n\n // delimiter: after number because of .\\d floats\n [':', { token: 'keyword', bracket: '@open' }], // bracket for indentation\n [\n /@delimiters/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'delimiter',\n },\n },\n ],\n ],\n\n // Regular strings\n mstring: [\n { include: '@strcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n sstring: [\n { include: '@strcontent' },\n [\n /[\"]/,\n {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n nextEmbedded: '@pop',\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n string: [\n { include: '@strcontent' },\n [/[']/, { token: 'string.delim', bracket: '@close', next: '@pop' }],\n [/./, 'string.invalid'],\n ],\n\n strcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\$/, 'string.escape'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n ],\n\n // Raw strings: we distinguish them to color escape sequences correctly\n mrawstring: [\n { include: '@rawstrcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n rawstring: [\n { include: '@rawstrcontent' },\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n rawstrcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\[\"']/, 'string'],\n [/\\\\u[0-9A-Fa-f]{4}/, 'string.escape'],\n [/\\\\/, 'string'],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, ''],\n [/\\/\\*\\*(?!\\/)/, 'comment.doc', '@doccomment'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\*\\//, 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n doccomment: [\n [/[^/*]+/, 'comment.doc'],\n [/\\*\\//, 'comment.doc', '@pop'],\n [/[/*]/, 'comment.doc'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"file":"groovy.js"}
1
+ {"version":3,"sources":["../../../src/monaco/lang/groovy.ts"],"names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","keywords","operators","token","symbols","delimiters","escapes","rawpre","strpre","tokenizer","root","bracket","next","nextEmbedded","cases","include","mstring","sstring","string","strcontent","mrawstring","rawstring","rawstrcontent","whitespace","comment","doccomment","lang"],"mappings":"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","sourcesContent":["import * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\nconst id = 'groovy';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '//',\n blockComment: ['/*', '*/'],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n\n keywords: [\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'println',\n 'class',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'def',\n 'for',\n 'lambda',\n 'try',\n ':',\n '=',\n 'isinstance',\n '__debug__',\n ],\n\n operators: [\n '+',\n '-',\n '*',\n '**',\n '/',\n '//',\n '%',\n '<<',\n '>>',\n '&',\n '|',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '>=',\n '==',\n '!=',\n '<>',\n '+=',\n '-=',\n '*=',\n '/',\n '//=',\n '%=',\n '&=',\n '|=',\n '^=',\n '>>=',\n '<<=',\n '**=',\n ],\n\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // operator symbols\n symbols: /[=><!~&|+\\-*/^%]+/,\n delimiters: /[;=.@:,`]/,\n\n // strings\n escapes: /\\\\(?:[abfnrtv\\\\\"'\\n\\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\{\\w+\\})/,\n rawpre: /(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,\n strpre: /(?:[buBU])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings: need to check first due to the prefix\n [\n /@strpre?(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mstring.$1' },\n ],\n [/@strpre?\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@strpre?'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@strpre?([\"])/,\n {\n token: 'string.delim',\n bracket: '@open',\n next: '@sstring.$1',\n nextEmbedded: 'deephavenDb',\n },\n ],\n [\n /@strpre?([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@string.$1' },\n ],\n\n [\n /@rawpre(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mrawstring.$1' },\n ],\n [/@rawpre\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@rawpre'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@rawpre([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@rawstring.$1' },\n ],\n\n // identifiers and keywords\n [/__[\\w$]*/, 'predefined'],\n [\n /[a-z_$][\\w$]*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'identifier',\n },\n },\n ],\n [\n /[A-Z][\\w]*/,\n {\n cases: {\n '~[A-Z0-9_]+': 'constructor.identifier',\n '@default': 'namespace.identifier',\n },\n },\n ], // to show class names nicely\n\n // whitespace\n { include: '@whitespace' },\n\n // delimiters and operators\n [/[{}()[\\]]/, '@brackets'],\n [\n /@symbols/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, 'number.float'],\n [/0[xX][0-9a-fA-F]+[lL]?/, 'number.hex'],\n [/0[bB][0-1]+[lL]?/, 'number.binary'],\n [/(0[oO][0-7]+|0[0-7]+)[lL]?/, 'number.octal'],\n [/(0|[1-9]\\d*)[lL]?/, 'number'],\n\n // delimiter: after number because of .\\d floats\n [':', { token: 'keyword', bracket: '@open' }], // bracket for indentation\n [\n /@delimiters/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'delimiter',\n },\n },\n ],\n ],\n\n // Regular strings\n mstring: [\n { include: '@strcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n sstring: [\n { include: '@strcontent' },\n [\n /[\"]/,\n {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n nextEmbedded: '@pop',\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n string: [\n { include: '@strcontent' },\n [/[']/, { token: 'string.delim', bracket: '@close', next: '@pop' }],\n [/./, 'string.invalid'],\n ],\n\n strcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\$/, 'string.escape'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n ],\n\n // Raw strings: we distinguish them to color escape sequences correctly\n mrawstring: [\n { include: '@rawstrcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n rawstring: [\n { include: '@rawstrcontent' },\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n rawstrcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\[\"']/, 'string'],\n [/\\\\u[0-9A-Fa-f]{4}/, 'string.escape'],\n [/\\\\/, 'string'],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, ''],\n [/\\/\\*\\*(?!\\/)/, 'comment.doc', '@doccomment'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\*\\//, 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n doccomment: [\n [/[^/*]+/, 'comment.doc'],\n [/\\*\\//, 'comment.doc', '@pop'],\n [/[/*]/, 'comment.doc'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"file":"groovy.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/monaco/lang/log.ts"],"names":["id","conf","language","tokenizer","root","token","next","error","include","info","warn","stdout","trace","debug","body","lang"],"mappings":"AAAA;AAIA,IAAMA,EAAE,GAAG,KAAX;AAEA,IAAMC,IAAI,GAAG,EAAb;AAEA,IAAMC,QAA2C,GAAG;AAClDC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CACJ,CAAC,eAAD,EAAkB;AAAEC,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAlB,CADI,EAEJ,CAAC,eAAD,EAAkB;AAAED,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAlB,CAFI,EAGJ,CAAC,gBAAD,EAAmB;AAAED,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAnB,CAHI,EAIJ,CAAC,WAAD,EAAc;AAAED,MAAAA,KAAK,EAAE,QAAT;AAAmBC,MAAAA,IAAI,EAAE;AAAzB,KAAd,CAJI,EAKJ,CAAC,cAAD,EAAiB;AAAED,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,IAAI,EAAE;AAAvB,KAAjB,CALI,EAMJ,CAAC,SAAD,EAAY;AAAED,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,IAAI,EAAE;AAAvB,KAAZ,CANI,EAOJ,CAAC,eAAD,EAAkB;AAAED,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAlB,CAPI,EAQJ,CAAC,gBAAD,EAAmB;AAAED,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAnB,CARI,EASJ,CAAC,0BAAD,EAA6B,MAA7B,CATI,CADG;AAYTC,IAAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAAD,CAZE;AAaTC,IAAAA,IAAI,EAAE,CAAC;AAAED,MAAAA,OAAO,EAAE;AAAX,KAAD,CAbG;AAcTE,IAAAA,IAAI,EAAE,CAAC;AAAEF,MAAAA,OAAO,EAAE;AAAX,KAAD,CAdG;AAeTG,IAAAA,MAAM,EAAE,CAAC;AAAEH,MAAAA,OAAO,EAAE;AAAX,KAAD,CAfC;AAgBTI,IAAAA,KAAK,EAAE,CAAC;AAAEJ,MAAAA,OAAO,EAAE;AAAX,KAAD,CAhBE;AAiBTK,IAAAA,KAAK,EAAE,CAAC;AAAEL,MAAAA,OAAO,EAAE;AAAX,KAAD,CAjBE;AAkBTM,IAAAA,IAAI,EAAE,CACJ,CAAC,0BAAD,EAA6B;AAAET,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,IAAI,EAAE;AAAvB,KAA7B,CADI,EAEJ,CAAC,SAAD,EAAY;AAAED,MAAAA,KAAK,EAAE;AAAT,KAAZ,CAFI;AAlBG;AADuC,CAApD;AA0BA,IAAMU,IAAc,GAAG;AAAEf,EAAAA,EAAF;AAAMC,EAAAA,IAAN;AAAYC,EAAAA;AAAZ,CAAvB;AACA,eAAea,IAAf","sourcesContent":["/* eslint no-useless-escape: \"off\" */\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport { Language } from './Language';\n\nconst id = 'log';\n\nconst conf = {};\n\nconst language: monaco.languages.IMonarchLanguage = {\n tokenizer: {\n root: [\n [/ FATAL[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ ERROR[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ STDERR[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ STDOUT.*/, { token: 'stdout', next: '@stdout' }],\n [/ INFO[\\s\\S]*/, { token: 'info', next: '@info' }],\n [/ WARN.*/, { token: 'warn', next: '@warn' }],\n [/ TRACE[\\s\\S]*/, { token: 'trace', next: '@trace' }],\n [/ DEBUG[.\\s\\S]*/, { token: 'debug', next: '@debug' }],\n [/^\\d{2}:\\d{2}:\\d{2}.\\d{3}/, 'date'],\n ],\n error: [{ include: '@body' }],\n info: [{ include: '@body' }],\n warn: [{ include: '@body' }],\n stdout: [{ include: '@body' }],\n trace: [{ include: '@body' }],\n debug: [{ include: '@body' }],\n body: [\n [/^\\d{2}:\\d{2}:\\d{2}.\\d{3}/, { token: 'date', next: '@pop' }],\n [/[\\s\\S]*/, { token: '$S0' }],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"file":"log.js"}
1
+ {"version":3,"sources":["../../../src/monaco/lang/log.ts"],"names":["id","conf","language","tokenizer","root","token","next","error","include","info","warn","stdout","trace","debug","body","lang"],"mappings":"AAAA;AAIA,IAAMA,EAAE,GAAG,KAAX;AAEA,IAAMC,IAAI,GAAG,EAAb;AAEA,IAAMC,QAA2C,GAAG;AAClDC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CACJ,CAAC,eAAD,EAAkB;AAAEC,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAlB,CADI,EAEJ,CAAC,eAAD,EAAkB;AAAED,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAlB,CAFI,EAGJ,CAAC,gBAAD,EAAmB;AAAED,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAnB,CAHI,EAIJ,CAAC,WAAD,EAAc;AAAED,MAAAA,KAAK,EAAE,QAAT;AAAmBC,MAAAA,IAAI,EAAE;AAAzB,KAAd,CAJI,EAKJ,CAAC,cAAD,EAAiB;AAAED,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,IAAI,EAAE;AAAvB,KAAjB,CALI,EAMJ,CAAC,SAAD,EAAY;AAAED,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,IAAI,EAAE;AAAvB,KAAZ,CANI,EAOJ,CAAC,eAAD,EAAkB;AAAED,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAlB,CAPI,EAQJ,CAAC,gBAAD,EAAmB;AAAED,MAAAA,KAAK,EAAE,OAAT;AAAkBC,MAAAA,IAAI,EAAE;AAAxB,KAAnB,CARI,EASJ,CAAC,0BAAD,EAA6B,MAA7B,CATI,CADG;AAYTC,IAAAA,KAAK,EAAE,CAAC;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAAD,CAZE;AAaTC,IAAAA,IAAI,EAAE,CAAC;AAAED,MAAAA,OAAO,EAAE;AAAX,KAAD,CAbG;AAcTE,IAAAA,IAAI,EAAE,CAAC;AAAEF,MAAAA,OAAO,EAAE;AAAX,KAAD,CAdG;AAeTG,IAAAA,MAAM,EAAE,CAAC;AAAEH,MAAAA,OAAO,EAAE;AAAX,KAAD,CAfC;AAgBTI,IAAAA,KAAK,EAAE,CAAC;AAAEJ,MAAAA,OAAO,EAAE;AAAX,KAAD,CAhBE;AAiBTK,IAAAA,KAAK,EAAE,CAAC;AAAEL,MAAAA,OAAO,EAAE;AAAX,KAAD,CAjBE;AAkBTM,IAAAA,IAAI,EAAE,CACJ,CAAC,0BAAD,EAA6B;AAAET,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,IAAI,EAAE;AAAvB,KAA7B,CADI,EAEJ,CAAC,SAAD,EAAY;AAAED,MAAAA,KAAK,EAAE;AAAT,KAAZ,CAFI;AAlBG;AADuC,CAApD;AA0BA,IAAMU,IAAc,GAAG;AAAEf,EAAAA,EAAF;AAAMC,EAAAA,IAAN;AAAYC,EAAAA;AAAZ,CAAvB;AACA,eAAea,IAAf","sourcesContent":["/* eslint no-useless-escape: \"off\" */\nimport * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\nconst id = 'log';\n\nconst conf = {};\n\nconst language: monaco.languages.IMonarchLanguage = {\n tokenizer: {\n root: [\n [/ FATAL[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ ERROR[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ STDERR[\\s\\S]*/, { token: 'error', next: '@error' }],\n [/ STDOUT.*/, { token: 'stdout', next: '@stdout' }],\n [/ INFO[\\s\\S]*/, { token: 'info', next: '@info' }],\n [/ WARN.*/, { token: 'warn', next: '@warn' }],\n [/ TRACE[\\s\\S]*/, { token: 'trace', next: '@trace' }],\n [/ DEBUG[.\\s\\S]*/, { token: 'debug', next: '@debug' }],\n [/^\\d{2}:\\d{2}:\\d{2}.\\d{3}/, 'date'],\n ],\n error: [{ include: '@body' }],\n info: [{ include: '@body' }],\n warn: [{ include: '@body' }],\n stdout: [{ include: '@body' }],\n trace: [{ include: '@body' }],\n debug: [{ include: '@body' }],\n body: [\n [/^\\d{2}:\\d{2}:\\d{2}.\\d{3}/, { token: 'date', next: '@pop' }],\n [/[\\s\\S]*/, { token: '$S0' }],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"file":"log.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/monaco/lang/python.ts"],"names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","keywords","storage","operators","token","symbols","delimiters","escapes","rawpre","strpre","tokenizer","root","bracket","next","nextEmbedded","cases","include","comment","mstring","sstring","string","strcontent","mrawstring","rawstring","rawstrcontent","whitespace","endDocString","endDblDocString","lang"],"mappings":"AAGA,IAAMA,EAAE,GAAG,QAAX;AAEA,IAAMC,IAA4C,GAAG;AACnDC,EAAAA,QAAQ,EAAE;AACRC,IAAAA,WAAW,EAAE,GADL;AAERC,IAAAA,YAAY,EAAE,CAAC,KAAD,EAAQ,KAAR;AAFN,GADyC;AAKnDC,EAAAA,QAAQ,EAAE,CACR,CAAC,GAAD,EAAM,GAAN,CADQ,EAER,CAAC,GAAD,EAAM,GAAN,CAFQ,EAGR,CAAC,GAAD,EAAM,GAAN,CAHQ,CALyC;AAUnDC,EAAAA,gBAAgB,EAAE,CAChB;AAAEC,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE;AAApB,GADgB,EAEhB;AAAED,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAFgB,EAGhB;AAAED,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAHgB,EAIhB;AAAED,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE,GAApB;AAAyBC,IAAAA,KAAK,EAAE,CAAC,QAAD;AAAhC,GAJgB,EAKhB;AAAEF,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE,GAApB;AAAyBC,IAAAA,KAAK,EAAE,CAAC,QAAD,EAAW,SAAX;AAAhC,GALgB,CAViC;AAiBnDC,EAAAA,gBAAgB,EAAE,CAChB;AAAEH,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE;AAApB,GADgB,EAEhB;AAAED,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAFgB,EAGhB;AAAED,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAHgB,EAIhB;AAAED,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE;AAApB,GAJgB,EAKhB;AAAED,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE;AAApB,GALgB,CAjBiC;AAwBnDG,EAAAA,YAAY,EAAE,CACZ;AACEC,IAAAA,UAAU,EAAE,IAAIC,MAAJ,CACV,kFADU,CADd;AAIEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,YAAY,EAAE;AAAhB,KAJV,CAI+B;;AAJ/B,GADY,CAxBqC;AAgCnDC,EAAAA,OAAO,EAAE;AACPC,IAAAA,OAAO,EAAE,IADF;AAEPC,IAAAA,OAAO,EAAE;AACPC,MAAAA,KAAK,EAAE,IAAIN,MAAJ,CAAW,iBAAX,CADA;AAEPO,MAAAA,GAAG,EAAE,IAAIP,MAAJ,CAAW,oBAAX;AAFE;AAFF;AAhC0C,CAArD;AAyCA,IAAMQ,QAA2C,GAAG;AAClD;AACA;AAEAC,EAAAA,QAAQ,EAAE,CACR,KADQ,EAER,KAFQ,EAGR,MAHQ,EAIR,KAJQ,EAKR,OALQ,EAMR,IANQ,EAOR,MAPQ,EAQR,QARQ,EASR,IATQ,EAUR,MAVQ,EAWR,QAXQ,EAYR,MAZQ,EAaR,IAbQ,EAcR,MAdQ,EAeR,OAfQ,EAgBR,OAhBQ,EAiBR,QAjBQ,EAkBR,QAlBQ,EAmBR,OAnBQ,EAoBR,MApBQ,EAqBR,IArBQ,EAsBR,OAtBQ,EAuBR,UAvBQ,EAwBR,SAxBQ,EAyBR,IAzBQ,EA0BR,QA1BQ,EA2BR,KA3BQ,EA4BR,KA5BQ,EA6BR,GA7BQ,EA8BR,GA9BQ,EA+BR,YA/BQ,EAgCR,WAhCQ,CAJwC;AAuClDC,EAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,KAAV,EAAiB,OAAjB,EAA0B,QAA1B,CAvCyC;AAyClDC,EAAAA,SAAS,EAAE,CACT,GADS,EAET,GAFS,EAGT,GAHS,EAIT,IAJS,EAKT,GALS,EAMT,IANS,EAOT,GAPS,EAQT,IARS,EAST,IATS,EAUT,GAVS,EAWT,GAXS,EAYT,GAZS,EAaT,GAbS,EAcT,GAdS,EAeT,GAfS,EAgBT,IAhBS,EAiBT,IAjBS,EAkBT,IAlBS,EAmBT,IAnBS,EAoBT,IApBS,EAqBT,IArBS,EAsBT,IAtBS,EAuBT,IAvBS,EAwBT,GAxBS,EAyBT,KAzBS,EA0BT,IA1BS,EA2BT,IA3BS,EA4BT,IA5BS,EA6BT,IA7BS,EA8BT,KA9BS,EA+BT,KA/BS,EAgCT,KAhCS,CAzCuC;AA2ElDnB,EAAAA,QAAQ,EAAE,CACR;AAAEE,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE,GAApB;AAAyBiB,IAAAA,KAAK,EAAE;AAAhC,GADQ,EAER;AAAElB,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE,GAApB;AAAyBiB,IAAAA,KAAK,EAAE;AAAhC,GAFQ,EAGR;AAAElB,IAAAA,IAAI,EAAE,GAAR;AAAaC,IAAAA,KAAK,EAAE,GAApB;AAAyBiB,IAAAA,KAAK,EAAE;AAAhC,GAHQ,CA3EwC;AAiFlD;AACAC,EAAAA,OAAO,EAAE,mBAlFyC;AAmFlDC,EAAAA,UAAU,EAAE,WAnFsC;AAqFlD;AACAC,EAAAA,OAAO,EAAE,2FAtFyC;AAuFlDC,EAAAA,MAAM,EAAE,kCAvF0C;AAwFlDC,EAAAA,MAAM,EAAE,YAxF0C;AA0FlD;AACAC,EAAAA,SAAS,EAAE;AACTC,IAAAA,IAAI,EAAE,CACJ;AACA,KACE,mBADF,EAEE;AAAEP,MAAAA,KAAK,EAAE,cAAT;AAAyBQ,MAAAA,OAAO,EAAE,OAAlC;AAA2CC,MAAAA,IAAI,EAAE;AAAjD,KAFF,CAFI,EAMJ,CAAC,yBAAD,EAA4B,gBAA5B,CANI,EAM2C;AAC/C,KAAC,yBAAD,EAA4B,gBAA5B,CAPI,EAO2C;AAC/C,KACE,eADF,EAEE;AACET,MAAAA,KAAK,EAAE,cADT;AAEEQ,MAAAA,OAAO,EAAE,OAFX;AAGEC,MAAAA,IAAI,EAAE,aAHR;AAIEC,MAAAA,YAAY,EAAE;AAJhB,KAFF,CARI,EAiBJ,CACE,gBADF,EAEE;AAAEV,MAAAA,KAAK,EAAE,cAAT;AAAyBQ,MAAAA,OAAO,EAAE,OAAlC;AAA2CC,MAAAA,IAAI,EAAE;AAAjD,KAFF,CAjBI,EAsBJ,CACE,kBADF,EAEE;AAAET,MAAAA,KAAK,EAAE,cAAT;AAAyBQ,MAAAA,OAAO,EAAE,OAAlC;AAA2CC,MAAAA,IAAI,EAAE;AAAjD,KAFF,CAtBI,EA0BJ,CAAC,wBAAD,EAA2B,gBAA3B,CA1BI,EA0B0C;AAC9C,KAAC,wBAAD,EAA2B,gBAA3B,CA3BI,EA2B0C;AAC9C,KACE,eADF,EAEE;AAAET,MAAAA,KAAK,EAAE,cAAT;AAAyBQ,MAAAA,OAAO,EAAE,OAAlC;AAA2CC,MAAAA,IAAI,EAAE;AAAjD,KAFF,CA5BI,EAiCJ;AACA,KAAC,UAAD,EAAa,YAAb,CAlCI,EAoCJ,CACE,eADF,EAEE;AACEE,MAAAA,KAAK,EAAE;AACL,qBAAa,SADR;AAEL,oBAAY,SAFP;AAGL,oBAAY;AAHP;AADT,KAFF,CApCI,EA+CJ,CACE,YADF,EAEE;AACEA,MAAAA,KAAK,EAAE;AACL,uBAAe,wBADV;AAEL,oBAAY;AAFP;AADT,KAFF,CA/CI,EAuDD;AAEH;AACA;AAAEC,MAAAA,OAAO,EAAE;AAAX,KA1DI,EA4DJ;AACA,KAAC,WAAD,EAAc,WAAd,CA7DI,EA8DJ,CACE,UADF,EAEE;AACED,MAAAA,KAAK,EAAE;AACL,qBAAa,SADR;AAEL,sBAAc,UAFT;AAGL,oBAAY;AAHP;AADT,KAFF,CA9DI,EAyEJ;AACA,KAAC,yBAAD,EAA4B,cAA5B,CA1EI,EA2EJ,CAAC,wBAAD,EAA2B,YAA3B,CA3EI,EA4EJ,CAAC,kBAAD,EAAqB,eAArB,CA5EI,EA6EJ,CAAC,4BAAD,EAA+B,cAA/B,CA7EI,EA8EJ,CAAC,mBAAD,EAAsB,QAAtB,CA9EI,EAgFJ;AACA,KAAC,GAAD,EAAM;AAAEX,MAAAA,KAAK,EAAE,SAAT;AAAoBQ,MAAAA,OAAO,EAAE;AAA7B,KAAN,CAjFI,EAiF2C;AAC/C,KACE,aADF,EAEE;AACEG,MAAAA,KAAK,EAAE;AACL,qBAAa,SADR;AAEL,oBAAY;AAFP;AADT,KAFF,CAlFI,CADG;AA8FTE,IAAAA,OAAO,EAAE,CACP,CAAC,QAAD,EAAW,SAAX,CADO,EAEP,CAAC,MAAD,EAAS,SAAT,EAAoB,OAApB,CAFO,EAEuB;AAC9B,KAAC,MAAD,EAAS,SAAT,EAAoB,MAApB,CAHO,EAIP,CAAC,MAAD,EAAS,SAAT,CAJO,CA9FA;AAqGT;AACAC,IAAAA,OAAO,EAAE,CACP;AAAEF,MAAAA,OAAO,EAAE;AAAX,KADO,EAEP,CACE,SADF,EAEE;AACED,MAAAA,KAAK,EAAE;AACL,mBAAW;AACTX,UAAAA,KAAK,EAAE,cADE;AAETQ,UAAAA,OAAO,EAAE,QAFA;AAGTC,UAAAA,IAAI,EAAE;AAHG,SADN;AAML,oBAAY;AAAET,UAAAA,KAAK,EAAE;AAAT;AANP;AADT,KAFF,CAFO,EAeP,CAAC,MAAD,EAAS,QAAT,CAfO,EAgBP,CAAC,GAAD,EAAM,gBAAN,CAhBO,CAtGA;AAyHTe,IAAAA,OAAO,EAAE,CACP;AAAEH,MAAAA,OAAO,EAAE;AAAX,KADO,EAEP,CACE,KADF,EAEE;AACEZ,MAAAA,KAAK,EAAE,cADT;AAEEQ,MAAAA,OAAO,EAAE,QAFX;AAGEC,MAAAA,IAAI,EAAE,MAHR;AAIEC,MAAAA,YAAY,EAAE;AAJhB,KAFF,CAFO,EAWP,CAAC,GAAD,EAAM,gBAAN,CAXO,CAzHA;AAuITM,IAAAA,MAAM,EAAE,CACN;AAAEJ,MAAAA,OAAO,EAAE;AAAX,KADM,EAEN,CAAC,KAAD,EAAQ;AAAEZ,MAAAA,KAAK,EAAE,cAAT;AAAyBQ,MAAAA,OAAO,EAAE,QAAlC;AAA4CC,MAAAA,IAAI,EAAE;AAAlD,KAAR,CAFM,EAGN,CAAC,GAAD,EAAM,gBAAN,CAHM,CAvIC;AA6ITQ,IAAAA,UAAU,EAAE,CACV,CAAC,UAAD,EAAa,QAAb,CADU,EAEV,CAAC,KAAD,EAAQ,eAAR,CAFU,EAGV,CAAC,UAAD,EAAa,eAAb,CAHU,EAIV,CAAC,KAAD,EAAQ,uBAAR,CAJU,CA7IH;AAoJT;AACAC,IAAAA,UAAU,EAAE,CACV;AAAEN,MAAAA,OAAO,EAAE;AAAX,KADU,EAEV,CACE,SADF,EAEE;AACED,MAAAA,KAAK,EAAE;AACL,mBAAW;AACTX,UAAAA,KAAK,EAAE,cADE;AAETQ,UAAAA,OAAO,EAAE,QAFA;AAGTC,UAAAA,IAAI,EAAE;AAHG,SADN;AAML,oBAAY;AAAET,UAAAA,KAAK,EAAE;AAAT;AANP;AADT,KAFF,CAFU,EAeV,CAAC,MAAD,EAAS,QAAT,CAfU,EAgBV,CAAC,GAAD,EAAM,gBAAN,CAhBU,CArJH;AAwKTmB,IAAAA,SAAS,EAAE,CACT;AAAEP,MAAAA,OAAO,EAAE;AAAX,KADS,EAET,CACE,MADF,EAEE;AACED,MAAAA,KAAK,EAAE;AACL,mBAAW;AACTX,UAAAA,KAAK,EAAE,cADE;AAETQ,UAAAA,OAAO,EAAE,QAFA;AAGTC,UAAAA,IAAI,EAAE;AAHG,SADN;AAML,oBAAY;AAAET,UAAAA,KAAK,EAAE;AAAT;AANP;AADT,KAFF,CAFS,EAeT,CAAC,GAAD,EAAM,gBAAN,CAfS,CAxKF;AA0LToB,IAAAA,aAAa,EAAE,CACb,CAAC,UAAD,EAAa,QAAb,CADa,EAEb,CAAC,QAAD,EAAW,QAAX,CAFa,EAGb,CAAC,mBAAD,EAAsB,eAAtB,CAHa,EAIb,CAAC,IAAD,EAAO,QAAP,CAJa,CA1LN;AAiMTC,IAAAA,UAAU,EAAE,CACV,CAAC,KAAD,EAAQ,OAAR,CADU,EAEV,CAAC,SAAD,EAAY,SAAZ,CAFU,EAGV,CAAC,KAAD,EAAQ,QAAR,EAAkB,eAAlB,CAHU,EAIV,CAAC,KAAD,EAAQ,QAAR,EAAkB,kBAAlB,CAJU,CAjMH;AAuMTC,IAAAA,YAAY,EAAE,CACZ,CAAC,OAAD,EAAU,QAAV,CADY,EAEZ,CAAC,KAAD,EAAQ,QAAR,CAFY,EAGZ,CAAC,KAAD,EAAQ,QAAR,EAAkB,SAAlB,CAHY,EAIZ,CAAC,GAAD,EAAM,QAAN,CAJY,CAvML;AA6MTC,IAAAA,eAAe,EAAE,CACf,CAAC,OAAD,EAAU,QAAV,CADe,EAEf,CAAC,KAAD,EAAQ,QAAR,CAFe,EAGf,CAAC,KAAD,EAAQ,QAAR,EAAkB,SAAlB,CAHe,EAIf,CAAC,GAAD,EAAM,QAAN,CAJe;AA7MR;AA3FuC,CAApD;AAiTA,IAAMC,IAAc,GAAG;AAAEjD,EAAAA,EAAF;AAAMC,EAAAA,IAAN;AAAYoB,EAAAA;AAAZ,CAAvB;AACA,eAAe4B,IAAf","sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';\nimport { Language } from './Language';\n\nconst id = 'python';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '#',\n blockComment: [\"'''\", \"'''\"],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n\n keywords: [\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'for',\n 'try',\n ':',\n '=',\n 'isinstance',\n '__debug__',\n ],\n\n storage: ['class', 'def', 'async', 'lambda'],\n\n operators: [\n '+',\n '-',\n '*',\n '**',\n '/',\n '//',\n '%',\n '<<',\n '>>',\n '&',\n '|',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '>=',\n '==',\n '!=',\n '<>',\n '+=',\n '-=',\n '*=',\n '/',\n '//=',\n '%=',\n '&=',\n '|=',\n '^=',\n '>>=',\n '<<=',\n '**=',\n ],\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // operator symbols\n symbols: /[=><!~&|+\\-*/^%]+/,\n delimiters: /[;=.@:,`]/,\n\n // strings\n escapes: /\\\\(?:[abfnrtv\\\\\"'\\n\\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\{\\w+\\})/,\n rawpre: /(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,\n strpre: /(?:[buBU])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings: need to check first due to the prefix\n [\n /@strpre?(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mstring.$1' },\n ],\n [/@strpre?\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@strpre?'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@strpre?([\"])/,\n {\n token: 'string.delim',\n bracket: '@open',\n next: '@sstring.$1',\n nextEmbedded: 'deephavenDb',\n },\n ],\n [\n /@strpre?([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@string.$1' },\n ],\n\n [\n /@rawpre(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mrawstring.$1' },\n ],\n [/@rawpre\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@rawpre'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@rawpre([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@rawstring.$1' },\n ],\n\n // identifiers and keywords\n [/__[\\w$]*/, 'predefined'],\n\n [\n /[a-z_$][\\w$]*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@storage': 'storage',\n '@default': 'identifier',\n },\n },\n ],\n\n [\n /[A-Z][\\w]*/,\n {\n cases: {\n '~[A-Z0-9_]+': 'constructor.identifier',\n '@default': 'namespace.identifier',\n },\n },\n ], // to show class names nicely\n\n // whitespace\n { include: '@whitespace' },\n\n // delimiters and operators\n [/[{}()[\\]]/, '@brackets'],\n [\n /@symbols/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, 'number.float'],\n [/0[xX][0-9a-fA-F]+[lL]?/, 'number.hex'],\n [/0[bB][0-1]+[lL]?/, 'number.binary'],\n [/(0[oO][0-7]+|0[0-7]+)[lL]?/, 'number.octal'],\n [/(0|[1-9]\\d*)[lL]?/, 'number'],\n\n // delimiter: after number because of .\\d floats\n [':', { token: 'keyword', bracket: '@open' }], // bracket for indentation\n [\n /@delimiters/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'delimiter',\n },\n },\n ],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\/\\*/, 'comment', '@push'], // nested comment\n ['\\\\*/', 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n // Regular strings\n mstring: [\n { include: '@strcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n sstring: [\n { include: '@strcontent' },\n [\n /[\"]/,\n {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n nextEmbedded: '@pop',\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n string: [\n { include: '@strcontent' },\n [/[']/, { token: 'string.delim', bracket: '@close', next: '@pop' }],\n [/./, 'string.invalid'],\n ],\n\n strcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\$/, 'string.escape'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n ],\n\n // Raw strings: we distinguish them to color escape sequences correctly\n mrawstring: [\n { include: '@rawstrcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n rawstring: [\n { include: '@rawstrcontent' },\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n rawstrcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\[\"']/, 'string'],\n [/\\\\u[0-9A-Fa-f]{4}/, 'string.escape'],\n [/\\\\/, 'string'],\n ],\n\n whitespace: [\n [/\\s+/, 'white'],\n [/(^#.*$)/, 'comment'],\n [/'''/, 'string', '@endDocString'],\n [/\"\"\"/, 'string', '@endDblDocString'],\n ],\n endDocString: [\n [/[^']+/, 'string'],\n [/\\\\'/, 'string'],\n [/'''/, 'string', '@popall'],\n [/'/, 'string'],\n ],\n endDblDocString: [\n [/[^\"]+/, 'string'],\n [/\\\\\"/, 'string'],\n [/\"\"\"/, 'string', '@popall'],\n [/\"/, 'string'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"file":"python.js"}
1
+ {"version":3,"sources":["../../../src/monaco/lang/python.ts"],"names":["id","conf","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","notIn","surroundingPairs","onEnterRules","beforeText","RegExp","action","indentAction","folding","offSide","markers","start","end","language","keywords","storage","operators","token","symbols","delimiters","escapes","rawpre","strpre","tokenizer","root","bracket","next","nextEmbedded","cases","include","comment","mstring","sstring","string","strcontent","mrawstring","rawstring","rawstrcontent","whitespace","endDocString","endDblDocString","lang"],"mappings":"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","sourcesContent":["import * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\nconst id = 'python';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: '#',\n blockComment: [\"'''\", \"'''\"],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"', notIn: ['string'] },\n { open: \"'\", close: \"'\", notIn: ['string', 'comment'] },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n onEnterRules: [\n {\n beforeText: new RegExp(\n '^\\\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\\\s*$'\n ),\n action: { indentAction: 1 }, // see monaco.languages.IndentAction.Indent\n },\n ],\n folding: {\n offSide: true,\n markers: {\n start: new RegExp('^\\\\s*#region\\\\b'),\n end: new RegExp('^\\\\s*#endregion\\\\b'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n\n keywords: [\n 'and',\n 'del',\n 'from',\n 'not',\n 'while',\n 'as',\n 'elif',\n 'global',\n 'or',\n 'with',\n 'assert',\n 'else',\n 'if',\n 'pass',\n 'yield',\n 'break',\n 'except',\n 'import',\n 'print',\n 'exec',\n 'in',\n 'raise',\n 'continue',\n 'finally',\n 'is',\n 'return',\n 'for',\n 'try',\n ':',\n '=',\n 'isinstance',\n '__debug__',\n ],\n\n storage: ['class', 'def', 'async', 'lambda'],\n\n operators: [\n '+',\n '-',\n '*',\n '**',\n '/',\n '//',\n '%',\n '<<',\n '>>',\n '&',\n '|',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '>=',\n '==',\n '!=',\n '<>',\n '+=',\n '-=',\n '*=',\n '/',\n '//=',\n '%=',\n '&=',\n '|=',\n '^=',\n '>>=',\n '<<=',\n '**=',\n ],\n brackets: [\n { open: '{', close: '}', token: 'delimiter.curly' },\n { open: '[', close: ']', token: 'delimiter.square' },\n { open: '(', close: ')', token: 'delimiter.parenthesis' },\n ],\n\n // operator symbols\n symbols: /[=><!~&|+\\-*/^%]+/,\n delimiters: /[;=.@:,`]/,\n\n // strings\n escapes: /\\\\(?:[abfnrtv\\\\\"'\\n\\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\\{\\w+\\})/,\n rawpre: /(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,\n strpre: /(?:[buBU])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings: need to check first due to the prefix\n [\n /@strpre?(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mstring.$1' },\n ],\n [/@strpre?\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@strpre?'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@strpre?([\"])/,\n {\n token: 'string.delim',\n bracket: '@open',\n next: '@sstring.$1',\n nextEmbedded: 'deephavenDb',\n },\n ],\n [\n /@strpre?([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@string.$1' },\n ],\n\n [\n /@rawpre(\"\"\"|''')/,\n { token: 'string.delim', bracket: '@open', next: '@mrawstring.$1' },\n ],\n [/@rawpre\"([^\"\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [/@rawpre'([^'\\\\]|\\\\.)*$/, 'string.invalid'], // non-teminated string\n [\n /@rawpre([\"'])/,\n { token: 'string.delim', bracket: '@open', next: '@rawstring.$1' },\n ],\n\n // identifiers and keywords\n [/__[\\w$]*/, 'predefined'],\n\n [\n /[a-z_$][\\w$]*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@storage': 'storage',\n '@default': 'identifier',\n },\n },\n ],\n\n [\n /[A-Z][\\w]*/,\n {\n cases: {\n '~[A-Z0-9_]+': 'constructor.identifier',\n '@default': 'namespace.identifier',\n },\n },\n ], // to show class names nicely\n\n // whitespace\n { include: '@whitespace' },\n\n // delimiters and operators\n [/[{}()[\\]]/, '@brackets'],\n [\n /@symbols/,\n {\n cases: {\n '@keywords': 'keyword',\n '@operators': 'operator',\n '@default': '',\n },\n },\n ],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, 'number.float'],\n [/0[xX][0-9a-fA-F]+[lL]?/, 'number.hex'],\n [/0[bB][0-1]+[lL]?/, 'number.binary'],\n [/(0[oO][0-7]+|0[0-7]+)[lL]?/, 'number.octal'],\n [/(0|[1-9]\\d*)[lL]?/, 'number'],\n\n // delimiter: after number because of .\\d floats\n [':', { token: 'keyword', bracket: '@open' }], // bracket for indentation\n [\n /@delimiters/,\n {\n cases: {\n '@keywords': 'keyword',\n '@default': 'delimiter',\n },\n },\n ],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\/\\*/, 'comment', '@push'], // nested comment\n ['\\\\*/', 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n // Regular strings\n mstring: [\n { include: '@strcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n sstring: [\n { include: '@strcontent' },\n [\n /[\"]/,\n {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n nextEmbedded: '@pop',\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n string: [\n { include: '@strcontent' },\n [/[']/, { token: 'string.delim', bracket: '@close', next: '@pop' }],\n [/./, 'string.invalid'],\n ],\n\n strcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\$/, 'string.escape'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n ],\n\n // Raw strings: we distinguish them to color escape sequences correctly\n mrawstring: [\n { include: '@rawstrcontent' },\n [\n /\"\"\"|'''/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/[\"']/, 'string'],\n [/./, 'string.invalid'],\n ],\n\n rawstring: [\n { include: '@rawstrcontent' },\n [\n /[\"']/,\n {\n cases: {\n '$#==$S2': {\n token: 'string.delim',\n bracket: '@close',\n next: '@pop',\n },\n '@default': { token: 'string' },\n },\n },\n ],\n [/./, 'string.invalid'],\n ],\n\n rawstrcontent: [\n [/[^\\\\\"']+/, 'string'],\n [/\\\\[\"']/, 'string'],\n [/\\\\u[0-9A-Fa-f]{4}/, 'string.escape'],\n [/\\\\/, 'string'],\n ],\n\n whitespace: [\n [/\\s+/, 'white'],\n [/(^#.*$)/, 'comment'],\n [/'''/, 'string', '@endDocString'],\n [/\"\"\"/, 'string', '@endDblDocString'],\n ],\n endDocString: [\n [/[^']+/, 'string'],\n [/\\\\'/, 'string'],\n [/'''/, 'string', '@popall'],\n [/'/, 'string'],\n ],\n endDblDocString: [\n [/[^\"]+/, 'string'],\n [/\\\\\"/, 'string'],\n [/\"\"\"/, 'string', '@popall'],\n [/\"/, 'string'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"file":"python.js"}