@deephaven/console 0.22.3-beta.15 → 0.22.3-beta.21

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 (108) hide show
  1. package/dist/Console.d.ts +3 -3
  2. package/dist/Console.d.ts.map +1 -1
  3. package/dist/Console.js +9 -114
  4. package/dist/Console.js.map +1 -1
  5. package/dist/ConsoleInput.js +14 -90
  6. package/dist/ConsoleInput.js.map +1 -1
  7. package/dist/ConsoleMenu.js +6 -25
  8. package/dist/ConsoleMenu.js.map +1 -1
  9. package/dist/ConsolePropTypes.js.map +1 -1
  10. package/dist/ConsoleShortcuts.js +1 -1
  11. package/dist/ConsoleShortcuts.js.map +1 -1
  12. package/dist/ConsoleStatusBar.js +0 -16
  13. package/dist/ConsoleStatusBar.js.map +1 -1
  14. package/dist/HeapUsage.d.ts +1 -1
  15. package/dist/HeapUsage.d.ts.map +1 -1
  16. package/dist/HeapUsage.js +2 -18
  17. package/dist/HeapUsage.js.map +1 -1
  18. package/dist/StoragePropTypes.js.map +1 -1
  19. package/dist/command-history/CommandHistory.js +1 -49
  20. package/dist/command-history/CommandHistory.js.map +1 -1
  21. package/dist/command-history/CommandHistoryActions.js +0 -6
  22. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  23. package/dist/command-history/CommandHistoryItem.d.ts +4 -4
  24. package/dist/command-history/CommandHistoryItem.d.ts.map +1 -1
  25. package/dist/command-history/CommandHistoryItem.js +3 -6
  26. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  27. package/dist/command-history/CommandHistoryItemTooltip.d.ts +1 -1
  28. package/dist/command-history/CommandHistoryItemTooltip.d.ts.map +1 -1
  29. package/dist/command-history/CommandHistoryItemTooltip.js +3 -28
  30. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  31. package/dist/command-history/CommandHistoryViewportUpdater.js +0 -3
  32. package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
  33. package/dist/command-history/index.js.map +1 -1
  34. package/dist/common/Code.js +2 -11
  35. package/dist/common/Code.js.map +1 -1
  36. package/dist/common/ConsoleConstants.js +0 -2
  37. package/dist/common/ConsoleConstants.js.map +1 -1
  38. package/dist/common/ConsoleUtils.js +4 -19
  39. package/dist/common/ConsoleUtils.js.map +1 -1
  40. package/dist/common/ObjectIcon.d.ts +1 -1
  41. package/dist/common/ObjectIcon.d.ts.map +1 -1
  42. package/dist/common/ObjectIcon.js +2 -8
  43. package/dist/common/ObjectIcon.js.map +1 -1
  44. package/dist/common/index.js.map +1 -1
  45. package/dist/console-history/ConsoleHistory.js +0 -8
  46. package/dist/console-history/ConsoleHistory.js.map +1 -1
  47. package/dist/console-history/ConsoleHistoryItem.js +2 -25
  48. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  49. package/dist/console-history/ConsoleHistoryItemResult.d.ts +6 -6
  50. package/dist/console-history/ConsoleHistoryItemResult.d.ts.map +1 -1
  51. package/dist/console-history/ConsoleHistoryItemResult.js +2 -4
  52. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  53. package/dist/console-history/ConsoleHistoryResultErrorMessage.js +0 -22
  54. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  55. package/dist/console-history/ConsoleHistoryResultInProgress.js +0 -13
  56. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  57. package/dist/console-history/index.js.map +1 -1
  58. package/dist/csv/CsvFormats.js +0 -9
  59. package/dist/csv/CsvFormats.js.map +1 -1
  60. package/dist/csv/CsvInputBar.js +18 -51
  61. package/dist/csv/CsvInputBar.js.map +1 -1
  62. package/dist/csv/CsvOverlay.d.ts +2 -2
  63. package/dist/csv/CsvOverlay.d.ts.map +1 -1
  64. package/dist/csv/CsvOverlay.js +1 -41
  65. package/dist/csv/CsvOverlay.js.map +1 -1
  66. package/dist/csv/CsvParser.js +10 -73
  67. package/dist/csv/CsvParser.js.map +1 -1
  68. package/dist/csv/CsvTypeParser.js +15 -85
  69. package/dist/csv/CsvTypeParser.js.map +1 -1
  70. package/dist/csv/NewTableColumnTypes.js +0 -9
  71. package/dist/csv/NewTableColumnTypes.js.map +1 -1
  72. package/dist/index.d.ts +3 -2
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +3 -2
  75. package/dist/index.js.map +1 -1
  76. package/dist/log/LogLevel.js.map +1 -1
  77. package/dist/log/LogLevelMenuItem.js +0 -5
  78. package/dist/log/LogLevelMenuItem.js.map +1 -1
  79. package/dist/log/LogView.js +16 -106
  80. package/dist/log/LogView.js.map +1 -1
  81. package/dist/monaco/MonacoCompletionProvider.js +2 -14
  82. package/dist/monaco/MonacoCompletionProvider.js.map +1 -1
  83. package/dist/monaco/MonacoUtils.d.ts.map +1 -1
  84. package/dist/monaco/MonacoUtils.js +21 -49
  85. package/dist/monaco/MonacoUtils.js.map +1 -1
  86. package/dist/monaco/index.js.map +1 -1
  87. package/dist/monaco/lang/db.d.ts.map +1 -1
  88. package/dist/monaco/lang/db.js +22 -13
  89. package/dist/monaco/lang/db.js.map +1 -1
  90. package/dist/monaco/lang/groovy.d.ts.map +1 -1
  91. package/dist/monaco/lang/groovy.js +28 -15
  92. package/dist/monaco/lang/groovy.js.map +1 -1
  93. package/dist/monaco/lang/log.js +1 -0
  94. package/dist/monaco/lang/log.js.map +1 -1
  95. package/dist/monaco/lang/python.d.ts.map +1 -1
  96. package/dist/monaco/lang/python.js +30 -16
  97. package/dist/monaco/lang/python.js.map +1 -1
  98. package/dist/monaco/lang/scala.js +26 -13
  99. package/dist/monaco/lang/scala.js.map +1 -1
  100. package/dist/notebook/Editor.js +2 -21
  101. package/dist/notebook/Editor.js.map +1 -1
  102. package/dist/notebook/ScriptEditor.d.ts +1 -1
  103. package/dist/notebook/ScriptEditor.d.ts.map +1 -1
  104. package/dist/notebook/ScriptEditor.js +0 -57
  105. package/dist/notebook/ScriptEditor.js.map +1 -1
  106. package/dist/notebook/ScriptEditorUtils.js +1 -7
  107. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  108. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"scala.js","names":["id","conf","wordPattern","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","surroundingPairs","folding","markers","start","RegExp","end","language","keywords","softKeywords","constants","modifiers","softModifiers","name","type","symbols","digits","hexdigits","escapes","fstring_conv","tokenizer","root","token","bracket","next","cases","include","import","allowMethod","comment","case","vardef","string","switchTo","stringt","fstring","fstringt","sstring","sstringt","interp","rawstring","rawstringt","whitespace","lang"],"sources":["../../../src/monaco/lang/scala.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * The MIT License (MIT)\n *\n * Copyright (c) Microsoft Corporation\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n *\n * The base version of this file is licensed under the MIT License (as above)\n * and was sourced from microsoft's monaco languages repository:\n * - https://github.com/microsoft/monaco-languages/blob/main/src/scala/scala.ts\n *--------------------------------------------------------------------------------------------*/\n\nimport * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\nconst id = 'scala';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n /*\n * `...` is allowed as an identifier.\n * $ is allowed in identifiers.\n * unary_<op> is allowed as an identifier.\n * <name>_= is allowed as an identifier.\n */\n wordPattern: /(unary_[@~!#%^&*()\\-=+\\\\|:<>/?]+)|([a-zA-Z_$][\\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\\w$]*)/g,\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: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n folding: {\n markers: {\n start: new RegExp('^\\\\s*//\\\\s*(?:(?:#?region\\\\b)|(?:<editor-fold\\\\b))'),\n end: new RegExp('^\\\\s*//\\\\s*(?:(?:#?endregion\\\\b)|(?:</editor-fold>))'),\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // tokenPostfix: '.scala',\n\n // We can't easily add everything from Dotty, but we can at least add some of its keywords\n keywords: [\n 'asInstanceOf',\n 'catch',\n 'class',\n 'classOf',\n 'def',\n 'do',\n 'else',\n 'extends',\n 'finally',\n 'for',\n 'foreach',\n 'forSome',\n 'if',\n 'import',\n 'isInstanceOf',\n 'macro',\n 'match',\n 'new',\n 'object',\n 'package',\n 'return',\n 'throw',\n 'trait',\n 'try',\n 'type',\n 'until',\n 'val',\n 'var',\n 'while',\n 'with',\n 'yield',\n\n // Dotty-specific:\n 'given',\n 'enum',\n 'then',\n ],\n\n // Dotty-specific:\n softKeywords: ['as', 'export', 'extension', 'end', 'derives', 'on'],\n\n constants: ['true', 'false', 'null', 'this', 'super'],\n\n modifiers: [\n 'abstract',\n 'final',\n 'implicit',\n 'lazy',\n 'override',\n 'private',\n 'protected',\n 'sealed',\n ],\n\n // Dotty-specific:\n softModifiers: ['inline', 'opaque', 'open', 'transparent', 'using'],\n\n name: /(?:[a-z_$][\\w$]*|`[^`]+`)/,\n type: /(?:[A-Z][\\w$]*)/,\n\n // we include these common regular expressions\n symbols: /[=><!~?:&|+\\-*/^\\\\%@#]+/,\n digits: /\\d+(_+\\d+)*/,\n hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,\n\n // C# style strings\n escapes: /\\\\(?:[btnfr\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\n\n fstring_conv: /[bBhHsScCdoxXeEfgGaAt]|[Tn](?:[HIklMSLNpzZsQ]|[BbhAaCYyjmde]|[RTrDFC])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings\n [\n /\\braw\"\"\"/,\n { token: 'string.quote', bracket: '@open', next: '@rawstringt' },\n ],\n [\n /\\braw\"/,\n { token: 'string.quote', bracket: '@open', next: '@rawstring' },\n ],\n\n [\n /\\bs\"\"\"/,\n { token: 'string.quote', bracket: '@open', next: '@sstringt' },\n ],\n [/\\bs\"/, { token: 'string.quote', bracket: '@open', next: '@sstring' }],\n [\n /\\bf\"\"\"\"/,\n { token: 'string.quote', bracket: '@open', next: '@fstringt' },\n ],\n [/\\bf\"/, { token: 'string.quote', bracket: '@open', next: '@fstring' }],\n [/\"\"\"/, { token: 'string.quote', bracket: '@open', next: '@stringt' }],\n [/\"/, { token: 'string.quote', bracket: '@open', next: '@string' }],\n\n // numbers\n [/(@digits)[eE]([-+]?(@digits))?[fFdD]?/, 'number.float', '@allowMethod'],\n [\n /(@digits)\\.(@digits)([eE][-+]?(@digits))?[fFdD]?/,\n 'number.float',\n '@allowMethod',\n ],\n [/0[xX](@hexdigits)[Ll]?/, 'number.hex', '@allowMethod'],\n [/(@digits)[fFdD]/, 'number.float', '@allowMethod'],\n [/(@digits)[lL]?/, 'number', '@allowMethod'],\n [/\\b_\\*/, 'key'],\n [/\\b(_)\\b/, 'keyword', '@allowMethod'],\n\n // identifiers and keywords\n [/\\bimport\\b/, 'keyword', '@import'],\n [/\\b(case)([ \\t]+)(class)\\b/, ['keyword.modifier', 'white', 'keyword']],\n [/\\bcase\\b/, 'keyword', '@case'],\n [/\\bva[lr]\\b/, 'keyword', '@vardef'],\n [\n /\\b(def)([ \\t]+)((?:unary_)?@symbols|@name(?:_=)|@name)/,\n ['keyword', 'white', 'identifier'],\n ],\n [/@name(?=[ \\t]*:(?!:))/, 'variable'],\n [\n /(\\.)(@name|@symbols)/,\n [\n { token: 'operator' },\n {\n token: '@rematch',\n next: '@allowMethod',\n },\n ],\n ],\n [/([{(])(\\s*)(@name(?=\\s*=>))/, ['@brackets', 'white', 'variable']],\n [\n /@name/,\n {\n cases: {\n '@keywords': 'keyword',\n '@softKeywords': 'keyword',\n '@modifiers': 'keyword.modifier',\n '@softModifiers': 'keyword.modifier',\n '@constants': {\n token: 'constant',\n next: '@allowMethod',\n },\n '@default': {\n token: 'identifier',\n next: '@allowMethod',\n },\n },\n },\n ],\n [/@type/, 'type', '@allowMethod'],\n\n // whitespace\n { include: '@whitespace' },\n\n // @ annotations.\n [/@[a-zA-Z_$][\\w$]*(?:\\.[a-zA-Z_$][\\w$]*)*/, 'annotation'],\n\n // delimiters and operators\n [/[{(]/, '@brackets'],\n [/[})]/, '@brackets', '@allowMethod'],\n [/\\[/, 'operator.square'],\n [/](?!\\s*(?:va[rl]|def|type)\\b)/, 'operator.square', '@allowMethod'],\n [/]/, 'operator.square'],\n [/([=-]>|<-|>:|<:|:>|<%)(?=[\\s\\w()[\\]{},.\"'`])/, 'keyword'],\n [/@symbols/, 'operator'],\n\n // delimiter: after number because of .\\d floats\n [/[;,.]/, 'delimiter'],\n\n // symbols\n [/'[a-zA-Z$][\\w$]*(?!')/, 'attribute.name'],\n\n // characters\n [/'[^\\\\']'/, 'string', '@allowMethod'],\n [\n /(')(@escapes)(')/,\n [\n { token: 'string' },\n { token: 'string.escape' },\n {\n token: 'string',\n next: '@allowMethod',\n },\n ],\n ],\n [/'/, 'string.invalid'],\n ],\n\n import: [\n [/;/, 'delimiter', '@pop'],\n [/^|$/, '', '@pop'],\n [/[ \\t]+/, 'white'],\n [/[\\n\\r]+/, 'white', '@pop'],\n [/\\/\\*/, 'comment', '@comment'],\n [/@name|@type/, 'type'],\n [/[(){}]/, '@brackets'],\n [/[[\\]]/, 'operator.square'],\n [/[.,]/, 'delimiter'],\n ],\n\n allowMethod: [\n [/^|$/, '', '@pop'],\n [/[ \\t]+/, 'white'],\n [/[\\n\\r]+/, 'white', '@pop'],\n [/\\/\\*/, 'comment', '@comment'],\n [/(?==>[\\s\\w([{])/, 'keyword', '@pop'],\n [\n /(@name|@symbols)(?=[ \\t]*[[({\"'`]|[ \\t]+(?:[+-]?\\.?\\d|\\w))/,\n {\n cases: {\n '@keywords': { token: 'keyword', next: '@pop' },\n '->|<-|>:|<:|<%': { token: 'keyword', next: '@pop' },\n '@default': { token: '@rematch', next: '@pop' },\n },\n },\n ],\n ['', '', '@pop'],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\/\\*/, 'comment', '@push'], // nested comment\n [/\\*\\//, 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n case: [\n [/\\b_\\*/, 'key'],\n [/\\b(_|true|false|null|this|super)\\b/, 'keyword', '@allowMethod'],\n [/\\bif\\b|=>/, 'keyword', '@pop'],\n [/`[^`]+`/, 'identifier', '@allowMethod'],\n [/@name/, 'variable', '@allowMethod'],\n [/:::?|\\||@(?![a-z_$])/, 'keyword'],\n { include: '@root' },\n ],\n\n vardef: [\n [/\\b_\\*/, 'key'],\n [/\\b(_|true|false|null|this|super)\\b/, 'keyword'],\n [/@name/, 'variable'],\n [/:::?|\\||@(?![a-z_$])/, 'keyword'],\n [/=|:(?!:)/, 'operator', '@pop'],\n [/$/, 'white', '@pop'],\n { include: '@root' },\n ],\n\n string: [\n [/[^\\\\\"\\n\\r]+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [\n /\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n ],\n\n stringt: [\n [/[^\\\\\"\\n\\r]+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [/\"(?=\"\"\")/, 'string'],\n [\n /\"\"\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\"/, 'string'],\n ],\n\n fstring: [\n [/@escapes/, 'string.escape'],\n [\n /\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\\$\\$/, 'string'],\n [/(\\$)([a-z_]\\w*)/, ['operator', 'identifier']],\n [/\\$\\{/, 'operator', '@interp'],\n [/%%/, 'string'],\n [\n /(%)([-#+ 0,(])(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,\n ['metatag', 'keyword.modifier', 'number', 'metatag'],\n ],\n [\n /(%)(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,\n ['metatag', 'number', 'metatag'],\n ],\n [\n /(%)([-#+ 0,(])(@fstring_conv)/,\n ['metatag', 'keyword.modifier', 'metatag'],\n ],\n [/(%)(@fstring_conv)/, ['metatag', 'metatag']],\n [/./, 'string'],\n ],\n\n fstringt: [\n [/@escapes/, 'string.escape'],\n [/\"(?=\"\"\")/, 'string'],\n [\n /\"\"\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\\$\\$/, 'string'],\n [/(\\$)([a-z_]\\w*)/, ['operator', 'identifier']],\n [/\\$\\{/, 'operator', '@interp'],\n [/%%/, 'string'],\n [\n /(%)([-#+ 0,(])(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,\n ['metatag', 'keyword.modifier', 'number', 'metatag'],\n ],\n [\n /(%)(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,\n ['metatag', 'number', 'metatag'],\n ],\n [\n /(%)([-#+ 0,(])(@fstring_conv)/,\n ['metatag', 'keyword.modifier', 'metatag'],\n ],\n [/(%)(@fstring_conv)/, ['metatag', 'metatag']],\n [/./, 'string'],\n ],\n\n sstring: [\n [/@escapes/, 'string.escape'],\n [\n /\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\\$\\$/, 'string'],\n [/(\\$)([a-z_]\\w*)/, ['operator', 'identifier']],\n [/\\$\\{/, 'operator', '@interp'],\n [/./, 'string'],\n ],\n\n sstringt: [\n [/@escapes/, 'string.escape'],\n [/\"(?=\"\"\")/, 'string'],\n [\n /\"\"\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\\$\\$/, 'string'],\n [/(\\$)([a-z_]\\w*)/, ['operator', 'identifier']],\n [/\\$\\{/, 'operator', '@interp'],\n [/./, 'string'],\n ],\n\n interp: [\n [/{/, 'operator', '@push'],\n [/}/, 'operator', '@pop'],\n { include: '@root' },\n ],\n\n rawstring: [\n [/[^\"]/, 'string'],\n [\n /\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n ],\n\n rawstringt: [\n [/[^\"]/, 'string'],\n [/\"(?=\"\"\")/, 'string'],\n [\n /\"\"\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\"/, 'string'],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, 'white'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"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"}
1
+ {"version":3,"file":"scala.js","names":["id","conf","wordPattern","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","surroundingPairs","folding","markers","start","end","language","keywords","softKeywords","constants","modifiers","softModifiers","name","type","symbols","digits","hexdigits","escapes","fstring_conv","tokenizer","root","token","bracket","next","cases","include","import","allowMethod","comment","case","vardef","string","switchTo","stringt","fstring","fstringt","sstring","sstringt","interp","rawstring","rawstringt","whitespace","lang"],"sources":["../../../src/monaco/lang/scala.ts"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * The MIT License (MIT)\n *\n * Copyright (c) Microsoft Corporation\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included\n * in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\n * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\n * DEALINGS IN THE SOFTWARE.\n *\n * The base version of this file is licensed under the MIT License (as above)\n * and was sourced from microsoft's monaco languages repository:\n * - https://github.com/microsoft/monaco-languages/blob/main/src/scala/scala.ts\n *--------------------------------------------------------------------------------------------*/\n\nimport * as monaco from 'monaco-editor';\nimport { Language } from './Language';\n\nconst id = 'scala';\n\nconst conf: monaco.languages.LanguageConfiguration = {\n /*\n * `...` is allowed as an identifier.\n * $ is allowed in identifiers.\n * unary_<op> is allowed as an identifier.\n * <name>_= is allowed as an identifier.\n */\n wordPattern: /(unary_[@~!#%^&*()\\-=+\\\\|:<>/?]+)|([a-zA-Z_$][\\w$]*?_=)|(`[^`]+`)|([a-zA-Z_$][\\w$]*)/g,\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: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n surroundingPairs: [\n { open: '{', close: '}' },\n { open: '[', close: ']' },\n { open: '(', close: ')' },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n folding: {\n markers: {\n start: /^\\s*\\/\\/\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))/,\n end: /^\\s*\\/\\/\\s*(?:(?:#?endregion\\b)|(?:<\\/editor-fold>))/,\n },\n },\n};\n\nconst language: monaco.languages.IMonarchLanguage = {\n // tokenPostfix: '.scala',\n\n // We can't easily add everything from Dotty, but we can at least add some of its keywords\n keywords: [\n 'asInstanceOf',\n 'catch',\n 'class',\n 'classOf',\n 'def',\n 'do',\n 'else',\n 'extends',\n 'finally',\n 'for',\n 'foreach',\n 'forSome',\n 'if',\n 'import',\n 'isInstanceOf',\n 'macro',\n 'match',\n 'new',\n 'object',\n 'package',\n 'return',\n 'throw',\n 'trait',\n 'try',\n 'type',\n 'until',\n 'val',\n 'var',\n 'while',\n 'with',\n 'yield',\n\n // Dotty-specific:\n 'given',\n 'enum',\n 'then',\n ],\n\n // Dotty-specific:\n softKeywords: ['as', 'export', 'extension', 'end', 'derives', 'on'],\n\n constants: ['true', 'false', 'null', 'this', 'super'],\n\n modifiers: [\n 'abstract',\n 'final',\n 'implicit',\n 'lazy',\n 'override',\n 'private',\n 'protected',\n 'sealed',\n ],\n\n // Dotty-specific:\n softModifiers: ['inline', 'opaque', 'open', 'transparent', 'using'],\n\n name: /(?:[a-z_$][\\w$]*|`[^`]+`)/,\n type: /(?:[A-Z][\\w$]*)/,\n\n // we include these common regular expressions\n symbols: /[=><!~?:&|+\\-*/^\\\\%@#]+/,\n digits: /\\d+(_+\\d+)*/,\n hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,\n\n // C# style strings\n escapes: /\\\\(?:[btnfr\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\n\n fstring_conv: /[bBhHsScCdoxXeEfgGaAt]|[Tn](?:[HIklMSLNpzZsQ]|[BbhAaCYyjmde]|[RTrDFC])/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // strings\n [\n /\\braw\"\"\"/,\n { token: 'string.quote', bracket: '@open', next: '@rawstringt' },\n ],\n [\n /\\braw\"/,\n { token: 'string.quote', bracket: '@open', next: '@rawstring' },\n ],\n\n [\n /\\bs\"\"\"/,\n { token: 'string.quote', bracket: '@open', next: '@sstringt' },\n ],\n [/\\bs\"/, { token: 'string.quote', bracket: '@open', next: '@sstring' }],\n [\n /\\bf\"\"\"\"/,\n { token: 'string.quote', bracket: '@open', next: '@fstringt' },\n ],\n [/\\bf\"/, { token: 'string.quote', bracket: '@open', next: '@fstring' }],\n [/\"\"\"/, { token: 'string.quote', bracket: '@open', next: '@stringt' }],\n [/\"/, { token: 'string.quote', bracket: '@open', next: '@string' }],\n\n // numbers\n [/(@digits)[eE]([-+]?(@digits))?[fFdD]?/, 'number.float', '@allowMethod'],\n [\n /(@digits)\\.(@digits)([eE][-+]?(@digits))?[fFdD]?/,\n 'number.float',\n '@allowMethod',\n ],\n [/0[xX](@hexdigits)[Ll]?/, 'number.hex', '@allowMethod'],\n [/(@digits)[fFdD]/, 'number.float', '@allowMethod'],\n [/(@digits)[lL]?/, 'number', '@allowMethod'],\n [/\\b_\\*/, 'key'],\n [/\\b(_)\\b/, 'keyword', '@allowMethod'],\n\n // identifiers and keywords\n [/\\bimport\\b/, 'keyword', '@import'],\n [/\\b(case)([ \\t]+)(class)\\b/, ['keyword.modifier', 'white', 'keyword']],\n [/\\bcase\\b/, 'keyword', '@case'],\n [/\\bva[lr]\\b/, 'keyword', '@vardef'],\n [\n /\\b(def)([ \\t]+)((?:unary_)?@symbols|@name(?:_=)|@name)/,\n ['keyword', 'white', 'identifier'],\n ],\n [/@name(?=[ \\t]*:(?!:))/, 'variable'],\n [\n /(\\.)(@name|@symbols)/,\n [\n { token: 'operator' },\n {\n token: '@rematch',\n next: '@allowMethod',\n },\n ],\n ],\n [/([{(])(\\s*)(@name(?=\\s*=>))/, ['@brackets', 'white', 'variable']],\n [\n /@name/,\n {\n cases: {\n '@keywords': 'keyword',\n '@softKeywords': 'keyword',\n '@modifiers': 'keyword.modifier',\n '@softModifiers': 'keyword.modifier',\n '@constants': {\n token: 'constant',\n next: '@allowMethod',\n },\n '@default': {\n token: 'identifier',\n next: '@allowMethod',\n },\n },\n },\n ],\n [/@type/, 'type', '@allowMethod'],\n\n // whitespace\n { include: '@whitespace' },\n\n // @ annotations.\n [/@[a-zA-Z_$][\\w$]*(?:\\.[a-zA-Z_$][\\w$]*)*/, 'annotation'],\n\n // delimiters and operators\n [/[{(]/, '@brackets'],\n [/[})]/, '@brackets', '@allowMethod'],\n [/\\[/, 'operator.square'],\n [/](?!\\s*(?:va[rl]|def|type)\\b)/, 'operator.square', '@allowMethod'],\n [/]/, 'operator.square'],\n [/([=-]>|<-|>:|<:|:>|<%)(?=[\\s\\w()[\\]{},.\"'`])/, 'keyword'],\n [/@symbols/, 'operator'],\n\n // delimiter: after number because of .\\d floats\n [/[;,.]/, 'delimiter'],\n\n // symbols\n [/'[a-zA-Z$][\\w$]*(?!')/, 'attribute.name'],\n\n // characters\n [/'[^\\\\']'/, 'string', '@allowMethod'],\n [\n /(')(@escapes)(')/,\n [\n { token: 'string' },\n { token: 'string.escape' },\n {\n token: 'string',\n next: '@allowMethod',\n },\n ],\n ],\n [/'/, 'string.invalid'],\n ],\n\n import: [\n [/;/, 'delimiter', '@pop'],\n [/^|$/, '', '@pop'],\n [/[ \\t]+/, 'white'],\n [/[\\n\\r]+/, 'white', '@pop'],\n [/\\/\\*/, 'comment', '@comment'],\n [/@name|@type/, 'type'],\n [/[(){}]/, '@brackets'],\n [/[[\\]]/, 'operator.square'],\n [/[.,]/, 'delimiter'],\n ],\n\n allowMethod: [\n [/^|$/, '', '@pop'],\n [/[ \\t]+/, 'white'],\n [/[\\n\\r]+/, 'white', '@pop'],\n [/\\/\\*/, 'comment', '@comment'],\n [/(?==>[\\s\\w([{])/, 'keyword', '@pop'],\n [\n /(@name|@symbols)(?=[ \\t]*[[({\"'`]|[ \\t]+(?:[+-]?\\.?\\d|\\w))/,\n {\n cases: {\n '@keywords': { token: 'keyword', next: '@pop' },\n '->|<-|>:|<:|<%': { token: 'keyword', next: '@pop' },\n '@default': { token: '@rematch', next: '@pop' },\n },\n },\n ],\n ['', '', '@pop'],\n ],\n\n comment: [\n [/[^/*]+/, 'comment'],\n [/\\/\\*/, 'comment', '@push'], // nested comment\n [/\\*\\//, 'comment', '@pop'],\n [/[/*]/, 'comment'],\n ],\n\n case: [\n [/\\b_\\*/, 'key'],\n [/\\b(_|true|false|null|this|super)\\b/, 'keyword', '@allowMethod'],\n [/\\bif\\b|=>/, 'keyword', '@pop'],\n [/`[^`]+`/, 'identifier', '@allowMethod'],\n [/@name/, 'variable', '@allowMethod'],\n [/:::?|\\||@(?![a-z_$])/, 'keyword'],\n { include: '@root' },\n ],\n\n vardef: [\n [/\\b_\\*/, 'key'],\n [/\\b(_|true|false|null|this|super)\\b/, 'keyword'],\n [/@name/, 'variable'],\n [/:::?|\\||@(?![a-z_$])/, 'keyword'],\n [/=|:(?!:)/, 'operator', '@pop'],\n [/$/, 'white', '@pop'],\n { include: '@root' },\n ],\n\n string: [\n [/[^\\\\\"\\n\\r]+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [\n /\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n ],\n\n stringt: [\n [/[^\\\\\"\\n\\r]+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [/\"(?=\"\"\")/, 'string'],\n [\n /\"\"\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\"/, 'string'],\n ],\n\n fstring: [\n [/@escapes/, 'string.escape'],\n [\n /\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\\$\\$/, 'string'],\n [/(\\$)([a-z_]\\w*)/, ['operator', 'identifier']],\n [/\\$\\{/, 'operator', '@interp'],\n [/%%/, 'string'],\n [\n /(%)([-#+ 0,(])(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,\n ['metatag', 'keyword.modifier', 'number', 'metatag'],\n ],\n [\n /(%)(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,\n ['metatag', 'number', 'metatag'],\n ],\n [\n /(%)([-#+ 0,(])(@fstring_conv)/,\n ['metatag', 'keyword.modifier', 'metatag'],\n ],\n [/(%)(@fstring_conv)/, ['metatag', 'metatag']],\n [/./, 'string'],\n ],\n\n fstringt: [\n [/@escapes/, 'string.escape'],\n [/\"(?=\"\"\")/, 'string'],\n [\n /\"\"\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\\$\\$/, 'string'],\n [/(\\$)([a-z_]\\w*)/, ['operator', 'identifier']],\n [/\\$\\{/, 'operator', '@interp'],\n [/%%/, 'string'],\n [\n /(%)([-#+ 0,(])(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,\n ['metatag', 'keyword.modifier', 'number', 'metatag'],\n ],\n [\n /(%)(\\d+|\\.\\d+|\\d+\\.\\d+)(@fstring_conv)/,\n ['metatag', 'number', 'metatag'],\n ],\n [\n /(%)([-#+ 0,(])(@fstring_conv)/,\n ['metatag', 'keyword.modifier', 'metatag'],\n ],\n [/(%)(@fstring_conv)/, ['metatag', 'metatag']],\n [/./, 'string'],\n ],\n\n sstring: [\n [/@escapes/, 'string.escape'],\n [\n /\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\\$\\$/, 'string'],\n [/(\\$)([a-z_]\\w*)/, ['operator', 'identifier']],\n [/\\$\\{/, 'operator', '@interp'],\n [/./, 'string'],\n ],\n\n sstringt: [\n [/@escapes/, 'string.escape'],\n [/\"(?=\"\"\")/, 'string'],\n [\n /\"\"\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\\$\\$/, 'string'],\n [/(\\$)([a-z_]\\w*)/, ['operator', 'identifier']],\n [/\\$\\{/, 'operator', '@interp'],\n [/./, 'string'],\n ],\n\n interp: [\n [/{/, 'operator', '@push'],\n [/}/, 'operator', '@pop'],\n { include: '@root' },\n ],\n\n rawstring: [\n [/[^\"]/, 'string'],\n [\n /\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n ],\n\n rawstringt: [\n [/[^\"]/, 'string'],\n [/\"(?=\"\"\")/, 'string'],\n [\n /\"\"\"/,\n {\n token: 'string.quote',\n bracket: '@close',\n switchTo: '@allowMethod',\n },\n ],\n [/\"/, 'string'],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, 'white'],\n [/\\/\\*/, 'comment', '@comment'],\n [/\\/\\/.*$/, 'comment'],\n ],\n },\n};\n\nconst lang: Language = { id, conf, language };\nexport default lang;\n"],"mappings":"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"}
@@ -1,9 +1,6 @@
1
1
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
-
3
2
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
-
5
3
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
-
7
4
  /**
8
5
  * Editor editor for large blocks of code
9
6
  */
@@ -12,30 +9,23 @@ import classNames from 'classnames';
12
9
  import * as monaco from 'monaco-editor';
13
10
  import { assertNotNull } from '@deephaven/utils';
14
11
  import MonacoUtils from "../monaco/MonacoUtils.js";
15
-
16
12
  class Editor extends Component {
17
13
  constructor(props) {
18
14
  super(props);
19
-
20
15
  _defineProperty(this, "container", void 0);
21
-
22
16
  _defineProperty(this, "editor", void 0);
23
-
24
17
  this.handleResize = this.handleResize.bind(this);
25
18
  this.container = null;
26
19
  this.state = {};
27
20
  }
28
-
29
21
  componentDidMount() {
30
22
  this.initEditor();
31
23
  window.addEventListener('resize', this.handleResize);
32
24
  }
33
-
34
25
  componentWillUnmount() {
35
26
  window.removeEventListener('resize', this.handleResize);
36
27
  this.destroyEditor();
37
28
  }
38
-
39
29
  setLanguage(language) {
40
30
  if (this.editor) {
41
31
  var model = this.editor.getModel();
@@ -43,11 +33,9 @@ class Editor extends Component {
43
33
  monaco.editor.setModelLanguage(model, language);
44
34
  }
45
35
  }
46
-
47
36
  handleResize() {
48
37
  this.updateDimensions();
49
38
  }
50
-
51
39
  toggleFind() {
52
40
  if (this.editor) {
53
41
  // The actions.find action can no longer be triggered when the editor is not in focus, with monaco 0.22.x.
@@ -57,13 +45,10 @@ class Editor extends Component {
57
45
  this.editor.trigger('toggleFind', 'actions.find', undefined);
58
46
  }
59
47
  }
60
-
61
48
  updateDimensions() {
62
49
  var _this$editor;
63
-
64
50
  (_this$editor = this.editor) === null || _this$editor === void 0 ? void 0 : _this$editor.layout();
65
51
  }
66
-
67
52
  initEditor() {
68
53
  var {
69
54
  onEditorInitialized
@@ -92,7 +77,8 @@ class Editor extends Component {
92
77
  this.editor.addAction({
93
78
  id: 'find',
94
79
  label: 'Find',
95
- keybindings: [// eslint-disable-next-line no-bitwise
80
+ keybindings: [
81
+ // eslint-disable-next-line no-bitwise
96
82
  monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyF],
97
83
  precondition: undefined,
98
84
  keybindingContext: undefined,
@@ -106,7 +92,6 @@ class Editor extends Component {
106
92
  MonacoUtils.removeConflictingKeybindings(this.editor);
107
93
  onEditorInitialized(this.editor);
108
94
  }
109
-
110
95
  destroyEditor() {
111
96
  var {
112
97
  onEditorWillDestroy
@@ -116,7 +101,6 @@ class Editor extends Component {
116
101
  this.editor.dispose();
117
102
  this.editor = undefined;
118
103
  }
119
-
120
104
  render() {
121
105
  var {
122
106
  className
@@ -128,15 +112,12 @@ class Editor extends Component {
128
112
  }
129
113
  });
130
114
  }
131
-
132
115
  }
133
-
134
116
  _defineProperty(Editor, "defaultProps", {
135
117
  className: 'fill-parent-absolute',
136
118
  onEditorInitialized: () => undefined,
137
119
  onEditorWillDestroy: () => undefined,
138
120
  settings: {}
139
121
  });
140
-
141
122
  export default Editor;
142
123
  //# sourceMappingURL=Editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Editor.js","names":["React","Component","classNames","monaco","assertNotNull","MonacoUtils","Editor","constructor","props","handleResize","bind","container","state","componentDidMount","initEditor","window","addEventListener","componentWillUnmount","removeEventListener","destroyEditor","setLanguage","language","editor","model","getModel","setModelLanguage","updateDimensions","toggleFind","focus","trigger","undefined","layout","onEditorInitialized","settings","copyWithSyntaxHighlighting","fixedOverflowWidgets","folding","fontFamily","glyphMargin","lineNumbersMinChars","minimap","enabled","scrollBeyondLastLine","tabCompletion","value","wordWrap","create","addAction","id","label","keybindings","KeyMod","CtrlCmd","KeyCode","KeyF","precondition","keybindingContext","contextMenuGroupId","contextMenuOrder","run","removeConflictingKeybindings","onEditorWillDestroy","dispose","render","className"],"sources":["../../src/notebook/Editor.tsx"],"sourcesContent":["/**\n * Editor editor for large blocks of code\n */\nimport React, { Component, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor';\nimport { assertNotNull } from '@deephaven/utils';\nimport MonacoUtils from '../monaco/MonacoUtils';\n\ninterface EditorProps {\n className: string;\n onEditorInitialized: (editor: monaco.editor.IStandaloneCodeEditor) => void;\n onEditorWillDestroy: (editor: monaco.editor.IStandaloneCodeEditor) => void;\n settings: monaco.editor.IStandaloneEditorConstructionOptions;\n}\n\nclass Editor extends Component<EditorProps, Record<string, never>> {\n static defaultProps = {\n className: 'fill-parent-absolute',\n onEditorInitialized: (): void => undefined,\n onEditorWillDestroy: (): void => undefined,\n settings: {},\n };\n\n constructor(props: EditorProps) {\n super(props);\n\n this.handleResize = this.handleResize.bind(this);\n\n this.container = null;\n this.state = {};\n }\n\n componentDidMount(): void {\n this.initEditor();\n\n window.addEventListener('resize', this.handleResize);\n }\n\n componentWillUnmount(): void {\n window.removeEventListener('resize', this.handleResize);\n\n this.destroyEditor();\n }\n\n container: HTMLDivElement | null;\n\n editor?: monaco.editor.IStandaloneCodeEditor;\n\n setLanguage(language: string): void {\n if (this.editor) {\n const model = this.editor.getModel();\n assertNotNull(model);\n monaco.editor.setModelLanguage(model, language);\n }\n }\n\n handleResize(): void {\n this.updateDimensions();\n }\n\n toggleFind(): void {\n if (this.editor) {\n // The actions.find action can no longer be triggered when the editor is not in focus, with monaco 0.22.x.\n // As a workaround, just focus the editor before triggering the action\n // https://github.com/microsoft/monaco-editor/issues/2355\n this.editor.focus();\n this.editor.trigger('toggleFind', 'actions.find', undefined);\n }\n }\n\n updateDimensions(): void {\n this.editor?.layout();\n }\n\n initEditor(): void {\n const { onEditorInitialized } = this.props;\n let { settings } = this.props;\n settings = {\n copyWithSyntaxHighlighting: false,\n fixedOverflowWidgets: true,\n folding: false,\n fontFamily: 'Fira Mono',\n glyphMargin: false,\n language: `python`,\n lineNumbersMinChars: 3,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n tabCompletion: 'on',\n value: '',\n wordWrap: 'off',\n ...settings,\n };\n assertNotNull(this.container);\n this.editor = monaco.editor.create(this.container, settings);\n this.editor.addAction({\n id: 'find',\n label: 'Find',\n keybindings: [\n // eslint-disable-next-line no-bitwise\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyF,\n ],\n precondition: undefined,\n keybindingContext: undefined,\n contextMenuGroupId: 'navigation',\n contextMenuOrder: 1.0,\n\n run: () => {\n this.toggleFind();\n },\n });\n this.editor.layout();\n MonacoUtils.removeConflictingKeybindings(this.editor);\n\n onEditorInitialized(this.editor);\n }\n\n destroyEditor(): void {\n const { onEditorWillDestroy } = this.props;\n assertNotNull(this.editor);\n onEditorWillDestroy(this.editor);\n this.editor.dispose();\n this.editor = undefined;\n }\n\n render(): ReactElement {\n const { className } = this.props;\n return (\n <div\n className={classNames('editor-container', className)}\n ref={container => {\n this.container = container;\n }}\n />\n );\n }\n}\n\nexport default Editor;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA,OAAOA,KAAP,IAAgBC,SAAhB,QAA+C,OAA/C;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAO,KAAKC,MAAZ,MAAwB,eAAxB;AACA,SAASC,aAAT,QAA8B,kBAA9B;OACOC,W;;AASP,MAAMC,MAAN,SAAqBL,SAArB,CAAmE;EAQjEM,WAAW,CAACC,KAAD,EAAqB;IAC9B,MAAMA,KAAN;;IAD8B;;IAAA;;IAG9B,KAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAApB;IAEA,KAAKC,SAAL,GAAiB,IAAjB;IACA,KAAKC,KAAL,GAAa,EAAb;EACD;;EAEDC,iBAAiB,GAAS;IACxB,KAAKC,UAAL;IAEAC,MAAM,CAACC,gBAAP,CAAwB,QAAxB,EAAkC,KAAKP,YAAvC;EACD;;EAEDQ,oBAAoB,GAAS;IAC3BF,MAAM,CAACG,mBAAP,CAA2B,QAA3B,EAAqC,KAAKT,YAA1C;IAEA,KAAKU,aAAL;EACD;;EAMDC,WAAW,CAACC,QAAD,EAAyB;IAClC,IAAI,KAAKC,MAAT,EAAiB;MACf,IAAMC,KAAK,GAAG,KAAKD,MAAL,CAAYE,QAAZ,EAAd;MACApB,aAAa,CAACmB,KAAD,CAAb;MACApB,MAAM,CAACmB,MAAP,CAAcG,gBAAd,CAA+BF,KAA/B,EAAsCF,QAAtC;IACD;EACF;;EAEDZ,YAAY,GAAS;IACnB,KAAKiB,gBAAL;EACD;;EAEDC,UAAU,GAAS;IACjB,IAAI,KAAKL,MAAT,EAAiB;MACf;MACA;MACA;MACA,KAAKA,MAAL,CAAYM,KAAZ;MACA,KAAKN,MAAL,CAAYO,OAAZ,CAAoB,YAApB,EAAkC,cAAlC,EAAkDC,SAAlD;IACD;EACF;;EAEDJ,gBAAgB,GAAS;IAAA;;IACvB,qBAAKJ,MAAL,8DAAaS,MAAb;EACD;;EAEDjB,UAAU,GAAS;IACjB,IAAM;MAAEkB;IAAF,IAA0B,KAAKxB,KAArC;IACA,IAAI;MAAEyB;IAAF,IAAe,KAAKzB,KAAxB;IACAyB,QAAQ;MACNC,0BAA0B,EAAE,KADtB;MAENC,oBAAoB,EAAE,IAFhB;MAGNC,OAAO,EAAE,KAHH;MAINC,UAAU,EAAE,WAJN;MAKNC,WAAW,EAAE,KALP;MAMNjB,QAAQ,UANF;MAONkB,mBAAmB,EAAE,CAPf;MAQNC,OAAO,EAAE;QAAEC,OAAO,EAAE;MAAX,CARH;MASNC,oBAAoB,EAAE,KAThB;MAUNC,aAAa,EAAE,IAVT;MAWNC,KAAK,EAAE,EAXD;MAYNC,QAAQ,EAAE;IAZJ,GAaHZ,QAbG,CAAR;IAeA7B,aAAa,CAAC,KAAKO,SAAN,CAAb;IACA,KAAKW,MAAL,GAAcnB,MAAM,CAACmB,MAAP,CAAcwB,MAAd,CAAqB,KAAKnC,SAA1B,EAAqCsB,QAArC,CAAd;IACA,KAAKX,MAAL,CAAYyB,SAAZ,CAAsB;MACpBC,EAAE,EAAE,MADgB;MAEpBC,KAAK,EAAE,MAFa;MAGpBC,WAAW,EAAE,CACX;MACA/C,MAAM,CAACgD,MAAP,CAAcC,OAAd,GAAwBjD,MAAM,CAACkD,OAAP,CAAeC,IAF5B,CAHO;MAOpBC,YAAY,EAAEzB,SAPM;MAQpB0B,iBAAiB,EAAE1B,SARC;MASpB2B,kBAAkB,EAAE,YATA;MAUpBC,gBAAgB,EAAE,GAVE;MAYpBC,GAAG,EAAE,MAAM;QACT,KAAKhC,UAAL;MACD;IAdmB,CAAtB;IAgBA,KAAKL,MAAL,CAAYS,MAAZ;IACA1B,WAAW,CAACuD,4BAAZ,CAAyC,KAAKtC,MAA9C;IAEAU,mBAAmB,CAAC,KAAKV,MAAN,CAAnB;EACD;;EAEDH,aAAa,GAAS;IACpB,IAAM;MAAE0C;IAAF,IAA0B,KAAKrD,KAArC;IACAJ,aAAa,CAAC,KAAKkB,MAAN,CAAb;IACAuC,mBAAmB,CAAC,KAAKvC,MAAN,CAAnB;IACA,KAAKA,MAAL,CAAYwC,OAAZ;IACA,KAAKxC,MAAL,GAAcQ,SAAd;EACD;;EAEDiC,MAAM,GAAiB;IACrB,IAAM;MAAEC;IAAF,IAAgB,KAAKxD,KAA3B;IACA,oBACE;MACE,SAAS,EAAEN,UAAU,CAAC,kBAAD,EAAqB8D,SAArB,CADvB;MAEE,GAAG,EAAErD,SAAS,IAAI;QAChB,KAAKA,SAAL,GAAiBA,SAAjB;MACD;IAJH,EADF;EAQD;;AAvHgE;;gBAA7DL,M,kBACkB;EACpB0D,SAAS,EAAE,sBADS;EAEpBhC,mBAAmB,EAAE,MAAYF,SAFb;EAGpB+B,mBAAmB,EAAE,MAAY/B,SAHb;EAIpBG,QAAQ,EAAE;AAJU,C;;AAyHxB,eAAe3B,MAAf"}
1
+ {"version":3,"file":"Editor.js","names":["React","Component","classNames","monaco","assertNotNull","MonacoUtils","Editor","constructor","props","handleResize","bind","container","state","componentDidMount","initEditor","window","addEventListener","componentWillUnmount","removeEventListener","destroyEditor","setLanguage","language","editor","model","getModel","setModelLanguage","updateDimensions","toggleFind","focus","trigger","undefined","layout","onEditorInitialized","settings","copyWithSyntaxHighlighting","fixedOverflowWidgets","folding","fontFamily","glyphMargin","lineNumbersMinChars","minimap","enabled","scrollBeyondLastLine","tabCompletion","value","wordWrap","create","addAction","id","label","keybindings","KeyMod","CtrlCmd","KeyCode","KeyF","precondition","keybindingContext","contextMenuGroupId","contextMenuOrder","run","removeConflictingKeybindings","onEditorWillDestroy","dispose","render","className"],"sources":["../../src/notebook/Editor.tsx"],"sourcesContent":["/**\n * Editor editor for large blocks of code\n */\nimport React, { Component, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport * as monaco from 'monaco-editor';\nimport { assertNotNull } from '@deephaven/utils';\nimport MonacoUtils from '../monaco/MonacoUtils';\n\ninterface EditorProps {\n className: string;\n onEditorInitialized: (editor: monaco.editor.IStandaloneCodeEditor) => void;\n onEditorWillDestroy: (editor: monaco.editor.IStandaloneCodeEditor) => void;\n settings: monaco.editor.IStandaloneEditorConstructionOptions;\n}\n\nclass Editor extends Component<EditorProps, Record<string, never>> {\n static defaultProps = {\n className: 'fill-parent-absolute',\n onEditorInitialized: (): void => undefined,\n onEditorWillDestroy: (): void => undefined,\n settings: {},\n };\n\n constructor(props: EditorProps) {\n super(props);\n\n this.handleResize = this.handleResize.bind(this);\n\n this.container = null;\n this.state = {};\n }\n\n componentDidMount(): void {\n this.initEditor();\n\n window.addEventListener('resize', this.handleResize);\n }\n\n componentWillUnmount(): void {\n window.removeEventListener('resize', this.handleResize);\n\n this.destroyEditor();\n }\n\n container: HTMLDivElement | null;\n\n editor?: monaco.editor.IStandaloneCodeEditor;\n\n setLanguage(language: string): void {\n if (this.editor) {\n const model = this.editor.getModel();\n assertNotNull(model);\n monaco.editor.setModelLanguage(model, language);\n }\n }\n\n handleResize(): void {\n this.updateDimensions();\n }\n\n toggleFind(): void {\n if (this.editor) {\n // The actions.find action can no longer be triggered when the editor is not in focus, with monaco 0.22.x.\n // As a workaround, just focus the editor before triggering the action\n // https://github.com/microsoft/monaco-editor/issues/2355\n this.editor.focus();\n this.editor.trigger('toggleFind', 'actions.find', undefined);\n }\n }\n\n updateDimensions(): void {\n this.editor?.layout();\n }\n\n initEditor(): void {\n const { onEditorInitialized } = this.props;\n let { settings } = this.props;\n settings = {\n copyWithSyntaxHighlighting: false,\n fixedOverflowWidgets: true,\n folding: false,\n fontFamily: 'Fira Mono',\n glyphMargin: false,\n language: `python`,\n lineNumbersMinChars: 3,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n tabCompletion: 'on',\n value: '',\n wordWrap: 'off',\n ...settings,\n };\n assertNotNull(this.container);\n this.editor = monaco.editor.create(this.container, settings);\n this.editor.addAction({\n id: 'find',\n label: 'Find',\n keybindings: [\n // eslint-disable-next-line no-bitwise\n monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyF,\n ],\n precondition: undefined,\n keybindingContext: undefined,\n contextMenuGroupId: 'navigation',\n contextMenuOrder: 1.0,\n\n run: () => {\n this.toggleFind();\n },\n });\n this.editor.layout();\n MonacoUtils.removeConflictingKeybindings(this.editor);\n\n onEditorInitialized(this.editor);\n }\n\n destroyEditor(): void {\n const { onEditorWillDestroy } = this.props;\n assertNotNull(this.editor);\n onEditorWillDestroy(this.editor);\n this.editor.dispose();\n this.editor = undefined;\n }\n\n render(): ReactElement {\n const { className } = this.props;\n return (\n <div\n className={classNames('editor-container', className)}\n ref={container => {\n this.container = container;\n }}\n />\n );\n }\n}\n\nexport default Editor;\n"],"mappings":"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"}
@@ -17,7 +17,7 @@ interface ScriptEditorProps {
17
17
  onRunCommand: (command: string) => void;
18
18
  onEditorInitialized: (editor: editor.IStandaloneCodeEditor) => void;
19
19
  onEditorWillDestroy: (editor: editor.IStandaloneCodeEditor) => void;
20
- session: IdeSession;
20
+ session: IdeSession | null;
21
21
  sessionLanguage?: string;
22
22
  settings?: editor.IStandaloneEditorConstructionOptions;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptEditor.d.ts","sourceRoot":"","sources":["../../src/notebook/ScriptEditor.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAc,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,qBAAqB,CAAC;AAK7B,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,KAAK,IAAI,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;IACpE,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;IACpE,OAAO,EAAE,UAAU,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,oCAAoC,CAAC;CACxD;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;CACjC;AAED,cAAM,YAAa,SAAQ,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACxE,MAAM,CAAC,YAAY;;;;;wBAKH,IAAI;mCACO,IAAI;mCACJ,IAAI;;MAE7B;gBAEU,KAAK,EAAE,iBAAiB;IAgBpC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAuCtD,oBAAoB,IAAI,IAAI;IAI5B,qBAAqB,EAAE,WAAW,EAAE,CAAC;IAErC,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC,MAAM,CAAC,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAEtC,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAEnC,QAAQ,IAAI,MAAM,GAAG,IAAI;IAQzB,kBAAkB,IAAI,MAAM;IAkB5B,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,GAAG,IAAI;IA+BxE,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,GAAG,IAAI;IAUxE,SAAS,IAAI,IAAI;IAQjB,iBAAiB,IAAI,IAAI;IAMzB,kBAAkB,IAAI,IAAI;IAgD1B,oBAAoB,IAAI,IAAI;IAO5B,eAAe,IAAI,IAAI;IAKvB,kBAAkB,IAAI,IAAI;IAY1B,oBAAoB,IAAI,IAAI;IAY5B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAO,GAAG,IAAI;IAqBxC,gBAAgB,IAAI,IAAI;IAOxB,KAAK,IAAI,IAAI;IAOb,UAAU,IAAI,IAAI;IAMlB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAMpC,MAAM,IAAI,YAAY;CAoDvB;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ScriptEditor.d.ts","sourceRoot":"","sources":["../../src/notebook/ScriptEditor.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAc,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,qBAAqB,CAAC;AAK7B,UAAU,iBAAiB;IACzB,KAAK,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,yBAAyB,KAAK,IAAI,CAAC;IACxD,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;IACpE,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;IACpE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,oCAAoC,CAAC;CACxD;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;CACjC;AAED,cAAM,YAAa,SAAQ,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IACxE,MAAM,CAAC,YAAY;;;;;wBAKH,IAAI;mCACO,IAAI;mCACJ,IAAI;;MAE7B;gBAEU,KAAK,EAAE,iBAAiB;IAgBpC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAuCtD,oBAAoB,IAAI,IAAI;IAI5B,qBAAqB,EAAE,WAAW,EAAE,CAAC;IAErC,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAEhC,MAAM,CAAC,EAAE,MAAM,CAAC,qBAAqB,CAAC;IAEtC,eAAe,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAEnC,QAAQ,IAAI,MAAM,GAAG,IAAI;IAQzB,kBAAkB,IAAI,MAAM;IAkB5B,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,GAAG,IAAI;IA+BxE,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,qBAAqB,GAAG,IAAI;IAUxE,SAAS,IAAI,IAAI;IAQjB,iBAAiB,IAAI,IAAI;IAMzB,kBAAkB,IAAI,IAAI;IAgD1B,oBAAoB,IAAI,IAAI;IAO5B,eAAe,IAAI,IAAI;IAKvB,kBAAkB,IAAI,IAAI;IAY1B,oBAAoB,IAAI,IAAI;IAY5B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,UAAO,GAAG,IAAI;IAqBxC,gBAAgB,IAAI,IAAI;IAOxB,KAAK,IAAI,IAAI;IAOb,UAAU,IAAI,IAAI;IAMlB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAMpC,MAAM,IAAI,YAAY;CAoDvB;AAED,eAAe,YAAY,CAAC"}
@@ -1,5 +1,4 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  /**
4
3
  * Script editor for large blocks of code
5
4
  */
@@ -13,19 +12,13 @@ import { MonacoCompletionProvider, MonacoUtils } from "../monaco/index.js";
13
12
  import "./ScriptEditor.css";
14
13
  import SHORTCUTS from "../ConsoleShortcuts.js";
15
14
  var log = Log.module('ScriptEditor');
16
-
17
15
  class ScriptEditor extends Component {
18
16
  constructor(props) {
19
17
  super(props);
20
-
21
18
  _defineProperty(this, "contextActionCleanups", void 0);
22
-
23
19
  _defineProperty(this, "completionCleanup", void 0);
24
-
25
20
  _defineProperty(this, "editor", void 0);
26
-
27
21
  _defineProperty(this, "editorComponent", void 0);
28
-
29
22
  this.handleEditorInitialized = this.handleEditorInitialized.bind(this);
30
23
  this.handleEditorWillDestroy = this.handleEditorWillDestroy.bind(this);
31
24
  this.handleRun = this.handleRun.bind(this);
@@ -37,39 +30,31 @@ class ScriptEditor extends Component {
37
30
  model: null
38
31
  };
39
32
  }
40
-
41
33
  componentDidMount() {
42
34
  ShortcutRegistry.addEventListener('onUpdate', this.updateShortcuts);
43
35
  }
44
-
45
36
  componentDidUpdate(prevProps) {
46
37
  var _prevProps$settings, _prevProps$settings2;
47
-
48
38
  var {
49
39
  sessionLanguage,
50
40
  settings
51
41
  } = this.props;
52
42
  var language = settings === null || settings === void 0 ? void 0 : settings.language;
53
43
  var languageChanged = language !== ((_prevProps$settings = prevProps.settings) === null || _prevProps$settings === void 0 ? void 0 : _prevProps$settings.language);
54
-
55
44
  if (languageChanged) {
56
45
  log.debug('Set language', language);
57
46
  this.setLanguage(language);
58
47
  }
59
-
60
48
  var sessionDisconnected = sessionLanguage == null && prevProps.sessionLanguage != null;
61
49
  var languageMatch = language === sessionLanguage;
62
50
  var prevLanguageMatch = ((_prevProps$settings2 = prevProps.settings) === null || _prevProps$settings2 === void 0 ? void 0 : _prevProps$settings2.language) === prevProps.sessionLanguage;
63
-
64
51
  if (sessionDisconnected || sessionLanguage !== undefined && prevLanguageMatch && !languageMatch) {
65
52
  // Session disconnected or language changed from matching the session language to non-matching
66
53
  log.debug('De-init completion and context actions');
67
54
  this.deInitContextActions();
68
55
  this.deInitCodeCompletion();
69
56
  }
70
-
71
57
  var sessionConnected = sessionLanguage != null && prevProps.sessionLanguage == null;
72
-
73
58
  if (sessionConnected && languageMatch || sessionLanguage !== undefined && !prevLanguageMatch && languageMatch) {
74
59
  // Session connected with a matching language or notebook language changed to matching
75
60
  log.debug('Init completion and context actions');
@@ -77,23 +62,18 @@ class ScriptEditor extends Component {
77
62
  this.initCodeCompletion();
78
63
  }
79
64
  }
80
-
81
65
  componentWillUnmount() {
82
66
  ShortcutRegistry.removeEventListener('onUpdate', this.updateShortcuts);
83
67
  }
84
-
85
68
  getValue() {
86
69
  if (this.editor) {
87
70
  return this.editor.getValue();
88
71
  }
89
-
90
72
  log.error('Editor not initialized');
91
73
  return null;
92
74
  }
93
-
94
75
  getSelectedCommand() {
95
76
  var _this$editor, _this$editor2;
96
-
97
77
  var range = (_this$editor = this.editor) === null || _this$editor === void 0 ? void 0 : _this$editor.getSelection();
98
78
  assertNotNull(range);
99
79
  var model = (_this$editor2 = this.editor) === null || _this$editor2 === void 0 ? void 0 : _this$editor2.getModel();
@@ -105,17 +85,14 @@ class ScriptEditor extends Component {
105
85
  var {
106
86
  endLineNumber
107
87
  } = range;
108
-
109
88
  if (endColumn === 1 && endLineNumber > startLineNumber) {
110
89
  endLineNumber -= 1;
111
90
  }
112
-
113
91
  var startLineMinColumn = model === null || model === void 0 ? void 0 : model.getLineMinColumn(startLineNumber);
114
92
  var endLineMaxColumn = model === null || model === void 0 ? void 0 : model.getLineMaxColumn(endLineNumber);
115
93
  var wholeLineRange = range.setStartPosition(startLineNumber, startLineMinColumn).setEndPosition(endLineNumber, endLineMaxColumn);
116
94
  return model === null || model === void 0 ? void 0 : model.getValueInRange(wholeLineRange);
117
95
  }
118
-
119
96
  handleEditorInitialized(innerEditor) {
120
97
  var {
121
98
  focusOnMount,
@@ -132,21 +109,16 @@ class ScriptEditor extends Component {
132
109
  });
133
110
  MonacoUtils.setEOL(innerEditor);
134
111
  MonacoUtils.registerPasteHandler(innerEditor);
135
-
136
112
  if (session != null && settings && sessionLanguage === settings.language) {
137
113
  this.initContextActions();
138
114
  this.initCodeCompletion();
139
115
  }
140
-
141
116
  innerEditor.onDidChangeModelContent(onChange);
142
-
143
117
  if (focusOnMount != null && focusOnMount) {
144
118
  innerEditor.focus();
145
119
  }
146
-
147
120
  onEditorInitialized(this.editor);
148
121
  }
149
-
150
122
  handleEditorWillDestroy(innerEditor) {
151
123
  log.debug('handleEditorWillDestroy');
152
124
  var {
@@ -160,18 +132,15 @@ class ScriptEditor extends Component {
160
132
  });
161
133
  this.editor = undefined;
162
134
  }
163
-
164
135
  handleRun() {
165
136
  var {
166
137
  onRunCommand
167
138
  } = this.props;
168
139
  var command = this.getValue();
169
-
170
140
  if (command != null) {
171
141
  onRunCommand(command);
172
142
  }
173
143
  }
174
-
175
144
  handleRunSelected() {
176
145
  var {
177
146
  onRunCommand
@@ -179,17 +148,14 @@ class ScriptEditor extends Component {
179
148
  var command = this.getSelectedCommand();
180
149
  onRunCommand(command);
181
150
  }
182
-
183
151
  initContextActions() {
184
152
  if (this.contextActionCleanups.length > 0) {
185
153
  log.error('Context actions already initialized.');
186
154
  return;
187
155
  }
188
-
189
156
  if (!this.editor) {
190
157
  return;
191
158
  }
192
-
193
159
  var cleanups = [];
194
160
  cleanups.push(this.editor.addAction({
195
161
  id: 'run-code',
@@ -213,107 +179,87 @@ class ScriptEditor extends Component {
213
179
  }));
214
180
  this.contextActionCleanups = cleanups;
215
181
  }
216
-
217
182
  deInitContextActions() {
218
183
  if (this.contextActionCleanups.length > 0) {
219
184
  this.contextActionCleanups.forEach(cleanup => cleanup.dispose());
220
185
  this.contextActionCleanups = [];
221
186
  }
222
187
  }
223
-
224
188
  updateShortcuts() {
225
189
  this.deInitContextActions();
226
190
  this.initContextActions();
227
191
  }
228
-
229
192
  initCodeCompletion() {
230
193
  if (this.completionCleanup != null) {
231
194
  log.error('Code completion already initialized.');
232
195
  return;
233
196
  }
234
-
235
197
  var {
236
198
  session
237
199
  } = this.props;
238
200
  log.debug('initCodeCompletion', this.editor, session);
239
-
240
201
  if (this.editor && session != null) {
241
202
  this.completionCleanup = MonacoUtils.openDocument(this.editor, session);
242
203
  }
243
204
  }
244
-
245
205
  deInitCodeCompletion() {
246
206
  var {
247
207
  session
248
208
  } = this.props;
249
209
  log.debug('deInitCodeCompletion', this.editor, session);
250
-
251
210
  if (this.completionCleanup) {
252
211
  this.completionCleanup.dispose();
253
212
  this.completionCleanup = undefined;
254
213
  }
255
-
256
214
  if (this.editor && session != null) {
257
215
  MonacoUtils.closeDocument(this.editor, session);
258
216
  }
259
217
  }
260
-
261
218
  append(text) {
262
219
  var focus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
263
220
  assertNotNull(this.editor);
264
221
  var model = this.editor.getModel();
265
222
  assertNotNull(model);
266
223
  var currentText = model.getValue();
267
-
268
224
  if (currentText) {
269
225
  model.setValue("".concat(currentText, "\n").concat(text));
270
226
  } else {
271
227
  model.setValue("".concat(text));
272
228
  }
273
-
274
229
  var lastLine = model.getLineCount();
275
230
  var column = model.getLineLength(lastLine) + 1;
276
231
  this.editor.setPosition({
277
232
  lineNumber: lastLine,
278
233
  column
279
234
  });
280
-
281
235
  if (focus) {
282
236
  this.editor.focus();
283
237
  }
284
238
  }
285
-
286
239
  updateDimensions() {
287
240
  log.debug('updateDimensions');
288
-
289
241
  if (this.editor) {
290
242
  this.editor.layout();
291
243
  }
292
244
  }
293
-
294
245
  focus() {
295
246
  log.debug('focus');
296
-
297
247
  if (this.editor) {
298
248
  this.editor.focus();
299
249
  }
300
250
  }
301
-
302
251
  toggleFind() {
303
252
  if (this.editorComponent.current) {
304
253
  this.editorComponent.current.toggleFind();
305
254
  }
306
255
  }
307
-
308
256
  setLanguage(language) {
309
257
  if (this.editorComponent.current && language !== undefined) {
310
258
  this.editorComponent.current.setLanguage(language);
311
259
  }
312
260
  }
313
-
314
261
  render() {
315
262
  var _settings$language;
316
-
317
263
  var {
318
264
  error,
319
265
  isLoaded,
@@ -347,9 +293,7 @@ class ScriptEditor extends Component {
347
293
  session: session
348
294
  }))));
349
295
  }
350
-
351
296
  }
352
-
353
297
  _defineProperty(ScriptEditor, "defaultProps", {
354
298
  error: null,
355
299
  isLoading: false,
@@ -360,6 +304,5 @@ _defineProperty(ScriptEditor, "defaultProps", {
360
304
  onEditorWillDestroy: () => undefined,
361
305
  session: null
362
306
  });
363
-
364
307
  export default ScriptEditor;
365
308
  //# sourceMappingURL=ScriptEditor.js.map