@deephaven/console 0.15.1-beta.2 → 0.15.2-beta.0

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.
Files changed (166) hide show
  1. package/dist/Console.d.ts +129 -121
  2. package/dist/Console.d.ts.map +1 -1
  3. package/dist/Console.js +98 -99
  4. package/dist/Console.js.map +1 -1
  5. package/dist/ConsoleInput.d.ts +47 -43
  6. package/dist/ConsoleInput.d.ts.map +1 -1
  7. package/dist/ConsoleInput.js +111 -73
  8. package/dist/ConsoleInput.js.map +1 -1
  9. package/dist/ConsoleMenu.d.ts +24 -22
  10. package/dist/ConsoleMenu.d.ts.map +1 -1
  11. package/dist/ConsoleMenu.js +7 -12
  12. package/dist/ConsoleMenu.js.map +1 -1
  13. package/dist/ConsolePropTypes.d.ts +2 -2
  14. package/dist/ConsolePropTypes.d.ts.map +1 -1
  15. package/dist/ConsolePropTypes.js.map +1 -1
  16. package/dist/ConsoleStatusBar.d.ts +26 -29
  17. package/dist/ConsoleStatusBar.d.ts.map +1 -1
  18. package/dist/ConsoleStatusBar.js +11 -12
  19. package/dist/ConsoleStatusBar.js.map +1 -1
  20. package/dist/StoragePropTypes.d.ts +2 -2
  21. package/dist/StoragePropTypes.d.ts.map +1 -1
  22. package/dist/StoragePropTypes.js.map +1 -1
  23. package/dist/command-history/CommandHistory.d.ts +52 -77
  24. package/dist/command-history/CommandHistory.d.ts.map +1 -1
  25. package/dist/command-history/CommandHistory.js +12 -14
  26. package/dist/command-history/CommandHistory.js.map +1 -1
  27. package/dist/command-history/CommandHistoryActions.d.ts +11 -19
  28. package/dist/command-history/CommandHistoryActions.d.ts.map +1 -1
  29. package/dist/command-history/CommandHistoryActions.js +4 -19
  30. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  31. package/dist/command-history/CommandHistoryItem.d.ts +15 -21
  32. package/dist/command-history/CommandHistoryItem.d.ts.map +1 -1
  33. package/dist/command-history/CommandHistoryItem.js +1 -10
  34. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  35. package/dist/command-history/CommandHistoryItemTooltip.d.ts +34 -31
  36. package/dist/command-history/CommandHistoryItemTooltip.d.ts.map +1 -1
  37. package/dist/command-history/CommandHistoryItemTooltip.js +28 -36
  38. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  39. package/dist/command-history/CommandHistoryTypes.d.ts +19 -0
  40. package/dist/command-history/CommandHistoryTypes.d.ts.map +1 -0
  41. package/dist/command-history/CommandHistoryTypes.js +2 -0
  42. package/dist/command-history/CommandHistoryTypes.js.map +1 -0
  43. package/dist/command-history/index.d.ts +5 -5
  44. package/dist/command-history/index.d.ts.map +1 -1
  45. package/dist/command-history/index.js.map +1 -1
  46. package/dist/common/Code.d.ts +10 -11
  47. package/dist/common/Code.d.ts.map +1 -1
  48. package/dist/common/Code.js +5 -5
  49. package/dist/common/Code.js.map +1 -1
  50. package/dist/common/ConsoleUtils.d.ts +20 -8
  51. package/dist/common/ConsoleUtils.d.ts.map +1 -1
  52. package/dist/common/ConsoleUtils.js +34 -10
  53. package/dist/common/ConsoleUtils.js.map +1 -1
  54. package/dist/console-history/ConsoleHistory.d.ts +19 -18
  55. package/dist/console-history/ConsoleHistory.d.ts.map +1 -1
  56. package/dist/console-history/ConsoleHistory.js +5 -9
  57. package/dist/console-history/ConsoleHistory.js.map +1 -1
  58. package/dist/console-history/ConsoleHistoryItem.d.ts +21 -44
  59. package/dist/console-history/ConsoleHistoryItem.d.ts.map +1 -1
  60. package/dist/console-history/ConsoleHistoryItem.js +12 -28
  61. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  62. package/dist/console-history/ConsoleHistoryItemResult.d.ts +13 -9
  63. package/dist/console-history/ConsoleHistoryItemResult.d.ts.map +1 -1
  64. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  65. package/dist/console-history/ConsoleHistoryResultErrorMessage.d.ts +25 -21
  66. package/dist/console-history/ConsoleHistoryResultErrorMessage.d.ts.map +1 -1
  67. package/dist/console-history/ConsoleHistoryResultErrorMessage.js +15 -9
  68. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  69. package/dist/console-history/ConsoleHistoryResultInProgress.d.ts +21 -17
  70. package/dist/console-history/ConsoleHistoryResultInProgress.d.ts.map +1 -1
  71. package/dist/console-history/ConsoleHistoryResultInProgress.js +12 -10
  72. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  73. package/dist/console-history/ConsoleHistoryTypes.d.ts +19 -0
  74. package/dist/console-history/ConsoleHistoryTypes.d.ts.map +1 -0
  75. package/dist/console-history/ConsoleHistoryTypes.js +2 -0
  76. package/dist/console-history/ConsoleHistoryTypes.js.map +1 -0
  77. package/dist/console-history/index.d.ts +5 -5
  78. package/dist/console-history/index.d.ts.map +1 -1
  79. package/dist/console-history/index.js.map +1 -1
  80. package/dist/csv/CsvFormats.d.ts +13 -12
  81. package/dist/csv/CsvFormats.d.ts.map +1 -1
  82. package/dist/csv/CsvFormats.js +8 -8
  83. package/dist/csv/CsvFormats.js.map +1 -1
  84. package/dist/csv/CsvInputBar.d.ts +46 -38
  85. package/dist/csv/CsvInputBar.d.ts.map +1 -1
  86. package/dist/csv/CsvInputBar.js +15 -23
  87. package/dist/csv/CsvInputBar.js.map +1 -1
  88. package/dist/csv/CsvOverlay.d.ts +40 -40
  89. package/dist/csv/CsvOverlay.d.ts.map +1 -1
  90. package/dist/csv/CsvOverlay.js +38 -29
  91. package/dist/csv/CsvOverlay.js.map +1 -1
  92. package/dist/csv/CsvParser.d.ts +44 -46
  93. package/dist/csv/CsvParser.d.ts.map +1 -1
  94. package/dist/csv/CsvParser.js +53 -8
  95. package/dist/csv/CsvParser.js.map +1 -1
  96. package/dist/csv/CsvTypeParser.d.ts +32 -27
  97. package/dist/csv/CsvTypeParser.d.ts.map +1 -1
  98. package/dist/csv/CsvTypeParser.js +42 -8
  99. package/dist/csv/CsvTypeParser.js.map +1 -1
  100. package/dist/csv/NewTableColumnTypes.d.ts +1 -1
  101. package/dist/csv/NewTableColumnTypes.d.ts.map +1 -1
  102. package/dist/csv/NewTableColumnTypes.js.map +1 -1
  103. package/dist/declaration.d.js +2 -0
  104. package/dist/declaration.d.js.map +1 -0
  105. package/dist/index.d.ts +14 -13
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js.map +1 -1
  108. package/dist/log/LogLevel.d.ts +1 -1
  109. package/dist/log/LogLevel.d.ts.map +1 -1
  110. package/dist/log/LogLevel.js.map +1 -1
  111. package/dist/log/LogLevelMenuItem.d.ts +11 -12
  112. package/dist/log/LogLevelMenuItem.d.ts.map +1 -1
  113. package/dist/log/LogLevelMenuItem.js +0 -6
  114. package/dist/log/LogLevelMenuItem.js.map +1 -1
  115. package/dist/log/LogView.d.ts +40 -47
  116. package/dist/log/LogView.d.ts.map +1 -1
  117. package/dist/log/LogView.js +65 -29
  118. package/dist/log/LogView.js.map +1 -1
  119. package/dist/monaco/MonacoCompletionProvider.d.ts +19 -19
  120. package/dist/monaco/MonacoCompletionProvider.d.ts.map +1 -1
  121. package/dist/monaco/MonacoCompletionProvider.js +11 -15
  122. package/dist/monaco/MonacoCompletionProvider.js.map +1 -1
  123. package/dist/monaco/MonacoUtils.d.ts +77 -20
  124. package/dist/monaco/MonacoUtils.d.ts.map +1 -1
  125. package/dist/monaco/MonacoUtils.js +32 -24
  126. package/dist/monaco/MonacoUtils.js.map +1 -1
  127. package/dist/monaco/index.d.ts +3 -2
  128. package/dist/monaco/index.d.ts.map +1 -1
  129. package/dist/monaco/index.js.map +1 -1
  130. package/dist/monaco/lang/Language.d.ts +7 -0
  131. package/dist/monaco/lang/Language.d.ts.map +1 -0
  132. package/dist/monaco/lang/Language.js +2 -0
  133. package/dist/monaco/lang/Language.js.map +1 -0
  134. package/dist/monaco/lang/db.d.ts +3 -93
  135. package/dist/monaco/lang/db.d.ts.map +1 -1
  136. package/dist/monaco/lang/db.js +18 -3
  137. package/dist/monaco/lang/db.js.map +1 -1
  138. package/dist/monaco/lang/groovy.d.ts +3 -146
  139. package/dist/monaco/lang/groovy.d.ts.map +1 -1
  140. package/dist/monaco/lang/groovy.js +15 -2
  141. package/dist/monaco/lang/groovy.js.map +1 -1
  142. package/dist/monaco/lang/log.d.ts +3 -40
  143. package/dist/monaco/lang/log.d.ts.map +1 -1
  144. package/dist/monaco/lang/log.js +2 -1
  145. package/dist/monaco/lang/log.js.map +1 -1
  146. package/dist/monaco/lang/python.d.ts +3 -154
  147. package/dist/monaco/lang/python.d.ts.map +1 -1
  148. package/dist/monaco/lang/python.js +15 -2
  149. package/dist/monaco/lang/python.js.map +1 -1
  150. package/dist/monaco/lang/scala.d.ts +3 -140
  151. package/dist/monaco/lang/scala.d.ts.map +1 -1
  152. package/dist/monaco/lang/scala.js +10 -3
  153. package/dist/monaco/lang/scala.js.map +1 -1
  154. package/dist/notebook/Editor.d.ts +26 -27
  155. package/dist/notebook/Editor.d.ts.map +1 -1
  156. package/dist/notebook/Editor.js +23 -19
  157. package/dist/notebook/Editor.js.map +1 -1
  158. package/dist/notebook/ScriptEditor.d.ts +54 -51
  159. package/dist/notebook/ScriptEditor.d.ts.map +1 -1
  160. package/dist/notebook/ScriptEditor.js +45 -48
  161. package/dist/notebook/ScriptEditor.js.map +1 -1
  162. package/dist/notebook/ScriptEditorUtils.d.ts +15 -10
  163. package/dist/notebook/ScriptEditorUtils.d.ts.map +1 -1
  164. package/dist/notebook/ScriptEditorUtils.js +7 -7
  165. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  166. package/package.json +12 -11
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/monaco/MonacoUtils.js"],"names":["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","loader","then","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","warn","getMonacoKeyCodeFromShortcut","shortcut","keyState","keyValue","isMac","metaKey","CtrlCmd","shiftKey","Shift","altKey","Alt","ctrlKey","WinCtrl","fromString"],"mappings":"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","sourcesContent":["/**\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\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';\nimport { KeyCodeUtils } from 'monaco-editor/esm/vs/base/common/keyCodes.js';\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';\n\nconst log = Log.module('MonacoUtils');\n\nclass MonacoUtils {\n static init() {\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 {String} color The hex color string to remove the hashtag from, eg. '#ffffff'\n */\n static removeHashtag(color) {\n return color.substring(1);\n }\n\n static registerLanguages(languages) {\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 language.loader = () => ({\n then: () => {},\n });\n });\n\n // Then register our language definitions\n languages.forEach(language => {\n MonacoUtils.registerLanguage(language);\n });\n }\n\n static registerLanguage(language) {\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 {monaco.editor.IEditor} editor The editor to set the EOL for\n * @param {monaco.editor.EndOfLineSequence} eolSequence EOL sequence\n */\n static setEOL(editor, eolSequence = monaco.editor.EndOfLineSequence.LF) {\n editor.getModel().setEOL(eolSequence);\n }\n\n /**\n * Links an editor with a provided session to provide completion items.\n * @param {dh.IdeSession} session The IdeSession to link\n * @param {monaco.editor.IEditor} editor The editor to link the session to\n * @return A cleanup function for disposing of the created listeners\n */\n static openDocument(editor, session) {\n const model = editor.getModel();\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(editor, session) {\n const model = editor.getModel();\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 {Monaco.editor} editor The editor the register the paste handler for\n */\n static registerPasteHandler(editor) {\n editor.onDidPaste(pasteEvent => {\n const smartQuotes = /“|”/g;\n const invalidChars = /\\u200b/g;\n const editorModel = editor.getModel();\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() {\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 {Monaco.editor} editor The editor to remove the keybindings from\n */\n static removeConflictingKeybindings(editor) {\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 MonacoUtils.removeKeybinding(\n editor,\n MonacoUtils.isMacPlatform() ? keybinding.mac : keybinding.windows\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 {Monaco.editor} editor The editor to remove the keybinding from\n * @param {string} keybinding The key string to remove. E.g. 'ctrl+C' for copy on Windows\n */\n static removeKeybinding(editor, keybinding) {\n if (!keybinding) {\n return;\n }\n /* eslint-disable no-underscore-dangle */\n // It's possible a single keybinding has multiple commands depending on context\n const keybindings = editor._standaloneKeybindingService\n ._getResolver()\n ._map.get(keybinding);\n\n if (keybindings) {\n keybindings.forEach(elem => {\n log.debug2(\n `Removing Monaco keybinding ${keybinding} for ${elem.command}`\n );\n editor._standaloneKeybindingService.addDynamicKeybinding(\n `-${elem.command}`,\n null,\n () => {}\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) {\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","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 * @return 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,3 +1,4 @@
1
- export { default as MonacoUtils } from "./MonacoUtils";
2
- export { default as MonacoCompletionProvider } from "./MonacoCompletionProvider";
1
+ export { default as MonacoUtils } from './MonacoUtils';
2
+ export { default as MonacoCompletionProvider } from './MonacoCompletionProvider';
3
+ export { default as MonacoTheme } from './MonacoTheme.module.scss';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/monaco/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/monaco/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/monaco/index.js"],"names":["default","MonacoUtils","MonacoCompletionProvider","MonacoTheme"],"mappings":"SAASA,OAAO,IAAIC,W;SACXD,OAAO,IAAIE,wB;SACXF,OAAO,IAAIG,W","sourcesContent":["export { default as MonacoUtils } from './MonacoUtils';\nexport { default as MonacoCompletionProvider } from './MonacoCompletionProvider';\nexport { default as MonacoTheme } from './MonacoTheme.module.scss';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/monaco/index.ts"],"names":["default","MonacoUtils","MonacoCompletionProvider","MonacoTheme"],"mappings":"SAASA,OAAO,IAAIC,W;SACXD,OAAO,IAAIE,wB;SACXF,OAAO,IAAIG,W","sourcesContent":["export { default as MonacoUtils } from './MonacoUtils';\nexport { default as MonacoCompletionProvider } from './MonacoCompletionProvider';\nexport { default as MonacoTheme } from './MonacoTheme.module.scss';\n"],"file":"index.js"}
@@ -0,0 +1,7 @@
1
+ import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
2
+ export declare type Language = {
3
+ id: string;
4
+ conf: monaco.languages.LanguageConfiguration;
5
+ language: monaco.languages.IMonarchLanguage | monaco.Thenable<monaco.languages.IMonarchLanguage>;
6
+ };
7
+ //# sourceMappingURL=Language.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Language.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"Language.js"}
@@ -1,94 +1,4 @@
1
- declare namespace _default {
2
- export { id };
3
- export { conf };
4
- export { language };
5
- }
6
- export default _default;
7
- declare const id: "deephavenDb";
8
- declare namespace conf {
9
- namespace comments {
10
- const lineComment: string;
11
- const blockComment: string[];
12
- }
13
- const brackets: string[][];
14
- const autoClosingPairs: ({
15
- open: string;
16
- close: string;
17
- notIn?: undefined;
18
- } | {
19
- open: string;
20
- close: string;
21
- notIn: string[];
22
- })[];
23
- const surroundingPairs: {
24
- open: string;
25
- close: string;
26
- }[];
27
- const onEnterRules: {
28
- beforeText: RegExp;
29
- action: {
30
- indentAction: number;
31
- };
32
- }[];
33
- namespace folding {
34
- const offSide: boolean;
35
- namespace markers {
36
- const start: RegExp;
37
- const end: RegExp;
38
- }
39
- }
40
- }
41
- declare namespace language {
42
- export const tokenPostfix: string;
43
- export const keywords: string[];
44
- export const builtins: string[];
45
- export const operators: string[];
46
- const brackets_1: string[][];
47
- export { brackets_1 as brackets };
48
- export const symbols: RegExp;
49
- export const escapes: RegExp;
50
- export const exponent: RegExp;
51
- export const regexpctl: RegExp;
52
- export const regexpesc: RegExp;
53
- export namespace tokenizer {
54
- const root: ((string | RegExp)[] | (RegExp | {
55
- cases: {
56
- '$1@keywords': string[];
57
- $3: string[];
58
- '$1@builtins': string[];
59
- '@default': string[];
60
- };
61
- })[] | {
62
- include: string;
63
- } | (RegExp | {
64
- token: string;
65
- bracket: string;
66
- next: string;
67
- })[] | (RegExp | {
68
- cases: {
69
- '@operators': string;
70
- '@default': string;
71
- };
72
- })[])[];
73
- const whitespace: (string | RegExp)[][];
74
- const comment: (string | RegExp)[][];
75
- const string: ((string | RegExp)[] | (RegExp | {
76
- cases: {
77
- '$#==$S2': {
78
- token: string;
79
- next: string;
80
- };
81
- '@default': string;
82
- };
83
- })[])[];
84
- const regexp: ((string | RegExp)[] | (RegExp | (string | {
85
- token: string;
86
- next: string;
87
- })[])[] | (string | {
88
- token: string;
89
- bracket: string;
90
- })[])[];
91
- const regexrange: (string | RegExp)[][];
92
- }
93
- }
1
+ import { Language } from './Language';
2
+ declare const lang: Language;
3
+ export default lang;
94
4
  //# sourceMappingURL=db.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/monaco/lang/db.js"],"names":[],"mappings":";;;;;;AACA,gCAAyB"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/monaco/lang/db.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkStC,QAAA,MAAM,IAAI,EAAE,QAAiC,CAAC;AAC9C,eAAe,IAAI,CAAC"}
@@ -61,7 +61,19 @@ var language = {
61
61
  builtins: ['define', 'require', 'window', 'document', 'undefined'],
62
62
  operators: ['=', '>', '<', '!', '~', '?', ':', '==', '<=', '>=', '!=', '&&', '||', '++', '--', '+', '-', '*', '/', '&', '|', '^', '%', '<<', '>>', '>>>', '+=', '-=', '*=', '/=', '&=', '|=', '^=', '%=', '<<=', '>>=', '>>>='],
63
63
  // define our own brackets as '<' and '>' do not match in javascript
64
- brackets: [['(', ')', 'bracket.parenthesis'], ['{', '}', 'bracket.curly'], ['[', ']', 'bracket.square']],
64
+ brackets: [{
65
+ open: '{',
66
+ close: '}',
67
+ token: 'delimiter.curly'
68
+ }, {
69
+ open: '[',
70
+ close: ']',
71
+ token: 'delimiter.bracket'
72
+ }, {
73
+ open: '(',
74
+ close: ')',
75
+ token: 'delimiter.parenthesis'
76
+ }],
65
77
  // common regular expressions
66
78
  symbols: /[~!@#%\^&*-+=|\\:`<>.?\/]+/,
67
79
  escapes: /\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,
@@ -110,7 +122,9 @@ var language = {
110
122
  }
111
123
  }]],
112
124
  // We match regular expression quite precisely
113
- regexp: [[/(\{)(\d+(?:,\d*)?)(\})/, ['@brackets.regexp.escape.control', 'regexp.escape.control', '@brackets.regexp.escape.control']], [/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/, ['@brackets.regexp.escape.control', {
125
+ regexp: [[/(\{)(\d+(?:,\d*)?)(\})/, ['@brackets.regexp.escape.control', 'regexp.escape.control', '@brackets.regexp.escape.control']], [/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/, [{
126
+ token: '@brackets.regexp.escape.control'
127
+ }, {
114
128
  token: 'regexp.escape.control',
115
129
  next: '@regexrange'
116
130
  }]], [/(\()(\?:|\?=|\?!)/, ['@brackets.regexp.escape.control', 'regexp.escape.control']], [/[()]/, '@brackets.regexp.escape.control'], [/@regexpctl/, 'regexp.escape.control'], [/[^\\\/]/, 'regexp'], [/@regexpesc/, 'regexp.escape'], [/\\\./, 'regexp.invalid'], ['/', {
@@ -120,9 +134,10 @@ var language = {
120
134
  regexrange: [[/-/, 'regexp.escape.control'], [/\^/, 'regexp.invalid'], [/@regexpesc/, 'regexp.escape'], [/[^\]]/, 'regexp'], [/\]/, '@brackets.regexp.escape.control', '@pop']]
121
135
  }
122
136
  };
123
- export default {
137
+ var lang = {
124
138
  id,
125
139
  conf,
126
140
  language
127
141
  };
142
+ export default lang;
128
143
  //# sourceMappingURL=db.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/monaco/lang/db.js"],"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","symbols","escapes","exponent","regexpctl","regexpesc","tokenizer","root","cases","$3","include","token","bracket","next","whitespace","comment","string","regexp","regexrange"],"mappings":"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","sourcesContent":["/* eslint no-useless-escape: \"off\" */\nconst id = 'deephavenDb';\n\nconst conf = {\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 = {\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 ['(', ')', 'bracket.parenthesis'],\n ['{', '}', 'bracket.curly'],\n ['[', ']', 'bracket.square'],\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 '@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\nexport default { id, conf, language };\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/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,147 +1,4 @@
1
- declare namespace _default {
2
- export { id };
3
- export { conf };
4
- export { language };
5
- }
6
- export default _default;
7
- declare const id: "groovy";
8
- declare namespace conf {
9
- namespace comments {
10
- const lineComment: string;
11
- const blockComment: string[];
12
- }
13
- const brackets: string[][];
14
- const autoClosingPairs: ({
15
- open: string;
16
- close: string;
17
- notIn?: undefined;
18
- } | {
19
- open: string;
20
- close: string;
21
- notIn: string[];
22
- })[];
23
- const surroundingPairs: {
24
- open: string;
25
- close: string;
26
- }[];
27
- const onEnterRules: {
28
- beforeText: RegExp;
29
- action: {
30
- indentAction: number;
31
- };
32
- }[];
33
- namespace folding {
34
- const offSide: boolean;
35
- namespace markers {
36
- const start: RegExp;
37
- const end: RegExp;
38
- }
39
- }
40
- }
41
- declare namespace language {
42
- export const keywords: string[];
43
- export const operators: string[];
44
- const brackets_1: string[][];
45
- export { brackets_1 as brackets };
46
- export const symbols: RegExp;
47
- export const delimiters: RegExp;
48
- export const escapes: RegExp;
49
- export const rawpre: RegExp;
50
- export const strpre: RegExp;
51
- export namespace tokenizer {
52
- const root: ((string | RegExp)[] | (RegExp | {
53
- token: string;
54
- bracket: string;
55
- next: string;
56
- })[] | (RegExp | {
57
- token: string;
58
- bracket: string;
59
- next: string;
60
- nextEmbedded: string;
61
- })[] | (RegExp | {
62
- cases: {
63
- '@keywords': string;
64
- '@default': string;
65
- };
66
- })[] | (RegExp | {
67
- cases: {
68
- '~[A-Z0-9_]+': string;
69
- '@default': string;
70
- };
71
- })[] | {
72
- include: string;
73
- } | (RegExp | {
74
- cases: {
75
- '@keywords': string;
76
- '@operators': string;
77
- '@default': string;
78
- };
79
- })[] | (string | {
80
- token: string;
81
- bracket: string;
82
- })[])[];
83
- const mstring: ((string | RegExp)[] | {
84
- include: string;
85
- } | (RegExp | {
86
- cases: {
87
- '$#==$S2': {
88
- token: string;
89
- bracket: string;
90
- next: string;
91
- };
92
- '@default': {
93
- token: string;
94
- };
95
- };
96
- })[])[];
97
- const sstring: ((string | RegExp)[] | {
98
- include: string;
99
- } | (RegExp | {
100
- token: string;
101
- bracket: string;
102
- next: string;
103
- nextEmbedded: string;
104
- })[])[];
105
- const string: ((string | RegExp)[] | {
106
- include: string;
107
- } | (RegExp | {
108
- token: string;
109
- bracket: string;
110
- next: string;
111
- })[])[];
112
- const strcontent: (string | RegExp)[][];
113
- const mrawstring: ((string | RegExp)[] | {
114
- include: string;
115
- } | (RegExp | {
116
- cases: {
117
- '$#==$S2': {
118
- token: string;
119
- bracket: string;
120
- next: string;
121
- };
122
- '@default': {
123
- token: string;
124
- };
125
- };
126
- })[])[];
127
- const rawstring: ((string | RegExp)[] | {
128
- include: string;
129
- } | (RegExp | {
130
- cases: {
131
- '$#==$S2': {
132
- token: string;
133
- bracket: string;
134
- next: string;
135
- };
136
- '@default': {
137
- token: string;
138
- };
139
- };
140
- })[])[];
141
- const rawstrcontent: (string | RegExp)[][];
142
- const whitespace: (string | RegExp)[][];
143
- const comment: (string | RegExp)[][];
144
- const doccomment: (string | RegExp)[][];
145
- }
146
- }
1
+ import { Language } from './Language';
2
+ declare const lang: Language;
3
+ export default lang;
147
4
  //# sourceMappingURL=groovy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"groovy.d.ts","sourceRoot":"","sources":["../../../src/monaco/lang/groovy.js"],"names":[],"mappings":";;;;;;AAAA,2BAAoB"}
1
+ {"version":3,"file":"groovy.d.ts","sourceRoot":"","sources":["../../../src/monaco/lang/groovy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAuVtC,QAAA,MAAM,IAAI,EAAE,QAAiC,CAAC;AAC9C,eAAe,IAAI,CAAC"}
@@ -59,7 +59,19 @@ var language = {
59
59
  // defaultToken: 'invalid',
60
60
  keywords: ['and', 'del', 'from', 'not', 'while', 'as', 'elif', 'global', 'or', 'with', 'assert', 'else', 'if', 'pass', 'yield', 'break', 'except', 'import', 'print', 'println', 'class', 'exec', 'in', 'raise', 'continue', 'finally', 'is', 'return', 'def', 'for', 'lambda', 'try', ':', '=', 'isinstance', '__debug__'],
61
61
  operators: ['+', '-', '*', '**', '/', '//', '%', '<<', '>>', '&', '|', '^', '~', '<', '>', '<=', '>=', '==', '!=', '<>', '+=', '-=', '*=', '/', '//=', '%=', '&=', '|=', '^=', '>>=', '<<=', '**='],
62
- brackets: [['(', ')', 'delimiter.parenthesis'], ['{', '}', 'delimiter.curly'], ['[', ']', 'delimiter.square']],
62
+ brackets: [{
63
+ open: '{',
64
+ close: '}',
65
+ token: 'delimiter.curly'
66
+ }, {
67
+ open: '[',
68
+ close: ']',
69
+ token: 'delimiter.square'
70
+ }, {
71
+ open: '(',
72
+ close: ')',
73
+ token: 'delimiter.parenthesis'
74
+ }],
63
75
  // operator symbols
64
76
  symbols: /[=><!~&|+\-*/^%]+/,
65
77
  delimiters: /[;=.@:,`]/,
@@ -195,9 +207,10 @@ var language = {
195
207
  doccomment: [[/[^/*]+/, 'comment.doc'], [/\*\//, 'comment.doc', '@pop'], [/[/*]/, 'comment.doc']]
196
208
  }
197
209
  };
198
- export default {
210
+ var lang = {
199
211
  id,
200
212
  conf,
201
213
  language
202
214
  };
215
+ export default lang;
203
216
  //# sourceMappingURL=groovy.js.map