monaco.contribution.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. import '../../editor/editor.api.js';
  2. /*!-----------------------------------------------------------------------------
  3. * Copyright (c) Microsoft Corporation. All rights reserved.
  4. * Version: 0.31.1(337587859b1c171314b40503171188b6cea6a32a)
  5. * Released under the MIT license
  6. * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
  7. *-----------------------------------------------------------------------------*/
  8. var __defProp = Object.defineProperty;
  9. var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
  10. var __getOwnPropNames = Object.getOwnPropertyNames;
  11. var __hasOwnProp = Object.prototype.hasOwnProperty;
  12. var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
  13. var __reExport = (target, module, desc) => {
  14. if (module && typeof module === "object" || typeof module === "function") {
  15. for (let key of __getOwnPropNames(module))
  16. if (!__hasOwnProp.call(target, key) && key !== "default")
  17. __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
  18. }
  19. return target;
  20. };
  21. // src/fillers/monaco-editor-core.ts
  22. var monaco_editor_core_exports = {};
  23. __markAsModule(monaco_editor_core_exports);
  24. __reExport(monaco_editor_core_exports, monaco_editor_core_star);
  25. import * as monaco_editor_core_star from "../../editor/editor.api.js";
  26. // src/html/monaco.contribution.ts
  27. var LanguageServiceDefaultsImpl = class {
  28. constructor(languageId, options, modeConfiguration) {
  29. this._onDidChange = new monaco_editor_core_exports.Emitter();
  30. this._languageId = languageId;
  31. this.setOptions(options);
  32. this.setModeConfiguration(modeConfiguration);
  33. }
  34. get onDidChange() {
  35. return this._onDidChange.event;
  36. }
  37. get languageId() {
  38. return this._languageId;
  39. }
  40. get options() {
  41. return this._options;
  42. }
  43. get modeConfiguration() {
  44. return this._modeConfiguration;
  45. }
  46. setOptions(options) {
  47. this._options = options || Object.create(null);
  48. this._onDidChange.fire(this);
  49. }
  50. setModeConfiguration(modeConfiguration) {
  51. this._modeConfiguration = modeConfiguration || Object.create(null);
  52. this._onDidChange.fire(this);
  53. }
  54. };
  55. var formatDefaults = {
  56. tabSize: 4,
  57. insertSpaces: false,
  58. wrapLineLength: 120,
  59. unformatted: 'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',
  60. contentUnformatted: "pre",
  61. indentInnerHtml: false,
  62. preserveNewLines: true,
  63. maxPreserveNewLines: void 0,
  64. indentHandlebars: false,
  65. endWithNewline: false,
  66. extraLiners: "head, body, /html",
  67. wrapAttributes: "auto"
  68. };
  69. var optionsDefault = {
  70. format: formatDefaults,
  71. suggest: {},
  72. data: { useDefaultDataProvider: true }
  73. };
  74. function getConfigurationDefault(languageId) {
  75. return {
  76. completionItems: true,
  77. hovers: true,
  78. documentSymbols: true,
  79. links: true,
  80. documentHighlights: true,
  81. rename: true,
  82. colors: true,
  83. foldingRanges: true,
  84. selectionRanges: true,
  85. diagnostics: languageId === htmlLanguageId,
  86. documentFormattingEdits: languageId === htmlLanguageId,
  87. documentRangeFormattingEdits: languageId === htmlLanguageId
  88. };
  89. }
  90. var htmlLanguageId = "html";
  91. var handlebarsLanguageId = "handlebars";
  92. var razorLanguageId = "razor";
  93. var htmlLanguageService = registerHTMLLanguageService(htmlLanguageId, optionsDefault, getConfigurationDefault(htmlLanguageId));
  94. var htmlDefaults = htmlLanguageService.defaults;
  95. var handlebarLanguageService = registerHTMLLanguageService(handlebarsLanguageId, optionsDefault, getConfigurationDefault(handlebarsLanguageId));
  96. var handlebarDefaults = handlebarLanguageService.defaults;
  97. var razorLanguageService = registerHTMLLanguageService(razorLanguageId, optionsDefault, getConfigurationDefault(razorLanguageId));
  98. var razorDefaults = razorLanguageService.defaults;
  99. monaco_editor_core_exports.languages.html = {
  100. htmlDefaults,
  101. razorDefaults,
  102. handlebarDefaults,
  103. htmlLanguageService,
  104. handlebarLanguageService,
  105. razorLanguageService,
  106. registerHTMLLanguageService
  107. };
  108. function getMode() {
  109. if (false) {
  110. return new Promise((resolve, reject) => {
  111. __require(["vs/language/html/htmlMode"], resolve, reject);
  112. });
  113. } else {
  114. return import("./htmlMode.js");
  115. }
  116. }
  117. function registerHTMLLanguageService(languageId, options = optionsDefault, modeConfiguration = getConfigurationDefault(languageId)) {
  118. const defaults = new LanguageServiceDefaultsImpl(languageId, options, modeConfiguration);
  119. let mode;
  120. const onLanguageListener = monaco_editor_core_exports.languages.onLanguage(languageId, async () => {
  121. mode = (await getMode()).setupMode(defaults);
  122. });
  123. return {
  124. defaults,
  125. dispose() {
  126. onLanguageListener.dispose();
  127. mode?.dispose();
  128. mode = void 0;
  129. }
  130. };
  131. }
  132. export {
  133. handlebarDefaults,
  134. handlebarLanguageService,
  135. htmlDefaults,
  136. htmlLanguageService,
  137. razorDefaults,
  138. razorLanguageService,
  139. registerHTMLLanguageService
  140. };