editor.api.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. import { EditorOptions } from './common/config/editorOptions.js';
  6. import { createMonacoBaseAPI } from './common/services/editorBaseApi.js';
  7. import { createMonacoEditorAPI } from './standalone/browser/standaloneEditor.js';
  8. import { createMonacoLanguagesAPI } from './standalone/browser/standaloneLanguages.js';
  9. import { FormattingConflicts } from './contrib/format/browser/format.js';
  10. // Set defaults for standalone editor
  11. EditorOptions.wrappingIndent.defaultValue = 0 /* WrappingIndent.None */;
  12. EditorOptions.glyphMargin.defaultValue = false;
  13. EditorOptions.autoIndent.defaultValue = 3 /* EditorAutoIndentStrategy.Advanced */;
  14. EditorOptions.overviewRulerLanes.defaultValue = 2;
  15. // We need to register a formatter selector which simply picks the first available formatter.
  16. // See https://github.com/microsoft/monaco-editor/issues/2327
  17. FormattingConflicts.setFormatterSelector((formatter, document, mode) => Promise.resolve(formatter[0]));
  18. const api = createMonacoBaseAPI();
  19. api.editor = createMonacoEditorAPI();
  20. api.languages = createMonacoLanguagesAPI();
  21. export const CancellationTokenSource = api.CancellationTokenSource;
  22. export const Emitter = api.Emitter;
  23. export const KeyCode = api.KeyCode;
  24. export const KeyMod = api.KeyMod;
  25. export const Position = api.Position;
  26. export const Range = api.Range;
  27. export const Selection = api.Selection;
  28. export const SelectionDirection = api.SelectionDirection;
  29. export const MarkerSeverity = api.MarkerSeverity;
  30. export const MarkerTag = api.MarkerTag;
  31. export const Uri = api.Uri;
  32. export const Token = api.Token;
  33. export const editor = api.editor;
  34. export const languages = api.languages;
  35. const monacoEnvironment = globalThis.MonacoEnvironment;
  36. if ((monacoEnvironment === null || monacoEnvironment === void 0 ? void 0 : monacoEnvironment.globalAPI) || (typeof define === 'function' && define.amd)) {
  37. globalThis.monaco = api;
  38. }
  39. if (typeof globalThis.require !== 'undefined' && typeof globalThis.require.config === 'function') {
  40. globalThis.require.config({
  41. ignoreDuplicateModules: [
  42. 'vscode-languageserver-types',
  43. 'vscode-languageserver-types/main',
  44. 'vscode-languageserver-textdocument',
  45. 'vscode-languageserver-textdocument/main',
  46. 'vscode-nls',
  47. 'vscode-nls/vscode-nls',
  48. 'jsonc-parser',
  49. 'jsonc-parser/main',
  50. 'vscode-uri',
  51. 'vscode-uri/index',
  52. 'vs/basic-languages/typescript/typescript'
  53. ]
  54. });
  55. }