86600ad17ac9f62a1d4afd003912c166e1eaa4eccc147a109ceab29214178654ee45860c6f188260aa2e4c6ca3b545a70d67f451c0955c8be720a5248558c6 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
  6. var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
  7. if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
  8. else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  9. return c > 3 && r && Object.defineProperty(target, key, r), r;
  10. };
  11. var __param = (this && this.__param) || function (paramIndex, decorator) {
  12. return function (target, key) { decorator(target, key, paramIndex); }
  13. };
  14. import * as objects from '../../../base/common/objects.js';
  15. import { ICodeEditorService } from '../services/codeEditorService.js';
  16. import { CodeEditorWidget } from './codeEditorWidget.js';
  17. import { ICommandService } from '../../../platform/commands/common/commands.js';
  18. import { IContextKeyService } from '../../../platform/contextkey/common/contextkey.js';
  19. import { IInstantiationService } from '../../../platform/instantiation/common/instantiation.js';
  20. import { INotificationService } from '../../../platform/notification/common/notification.js';
  21. import { IThemeService } from '../../../platform/theme/common/themeService.js';
  22. import { IAccessibilityService } from '../../../platform/accessibility/common/accessibility.js';
  23. import { ILanguageConfigurationService } from '../../common/languages/languageConfigurationRegistry.js';
  24. import { ILanguageFeaturesService } from '../../common/services/languageFeatures.js';
  25. let EmbeddedCodeEditorWidget = class EmbeddedCodeEditorWidget extends CodeEditorWidget {
  26. constructor(domElement, options, parentEditor, instantiationService, codeEditorService, commandService, contextKeyService, themeService, notificationService, accessibilityService, languageConfigurationService, languageFeaturesService) {
  27. super(domElement, Object.assign(Object.assign({}, parentEditor.getRawOptions()), { overflowWidgetsDomNode: parentEditor.getOverflowWidgetsDomNode() }), {}, instantiationService, codeEditorService, commandService, contextKeyService, themeService, notificationService, accessibilityService, languageConfigurationService, languageFeaturesService);
  28. this._parentEditor = parentEditor;
  29. this._overwriteOptions = options;
  30. // Overwrite parent's options
  31. super.updateOptions(this._overwriteOptions);
  32. this._register(parentEditor.onDidChangeConfiguration((e) => this._onParentConfigurationChanged(e)));
  33. }
  34. getParentEditor() {
  35. return this._parentEditor;
  36. }
  37. _onParentConfigurationChanged(e) {
  38. super.updateOptions(this._parentEditor.getRawOptions());
  39. super.updateOptions(this._overwriteOptions);
  40. }
  41. updateOptions(newOptions) {
  42. objects.mixin(this._overwriteOptions, newOptions, true);
  43. super.updateOptions(this._overwriteOptions);
  44. }
  45. };
  46. EmbeddedCodeEditorWidget = __decorate([
  47. __param(3, IInstantiationService),
  48. __param(4, ICodeEditorService),
  49. __param(5, ICommandService),
  50. __param(6, IContextKeyService),
  51. __param(7, IThemeService),
  52. __param(8, INotificationService),
  53. __param(9, IAccessibilityService),
  54. __param(10, ILanguageConfigurationService),
  55. __param(11, ILanguageFeaturesService)
  56. ], EmbeddedCodeEditorWidget);
  57. export { EmbeddedCodeEditorWidget };