monaco.contribution.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. import '../../editor/editor.api.js';
  2. /*!-----------------------------------------------------------------------------
  3. * Copyright (c) Microsoft Corporation. All rights reserved.
  4. * Version: 0.34.1(547870b6881302c5b4ff32173c16d06009e3588f)
  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 __copyProps = (to, from, except, desc) => {
  13. if (from && typeof from === "object" || typeof from === "function") {
  14. for (let key of __getOwnPropNames(from))
  15. if (!__hasOwnProp.call(to, key) && key !== except)
  16. __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  17. }
  18. return to;
  19. };
  20. var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
  21. // src/fillers/monaco-editor-core.ts
  22. var monaco_editor_core_exports = {};
  23. __reExport(monaco_editor_core_exports, monaco_editor_core_star);
  24. import * as monaco_editor_core_star from "../../editor/editor.api.js";
  25. // src/language/html/monaco.contribution.ts
  26. var LanguageServiceDefaultsImpl = class {
  27. _onDidChange = new monaco_editor_core_exports.Emitter();
  28. _options;
  29. _modeConfiguration;
  30. _languageId;
  31. constructor(languageId, options, modeConfiguration) {
  32. this._languageId = languageId;
  33. this.setOptions(options);
  34. this.setModeConfiguration(modeConfiguration);
  35. }
  36. get onDidChange() {
  37. return this._onDidChange.event;
  38. }
  39. get languageId() {
  40. return this._languageId;
  41. }
  42. get options() {
  43. return this._options;
  44. }
  45. get modeConfiguration() {
  46. return this._modeConfiguration;
  47. }
  48. setOptions(options) {
  49. this._options = options || /* @__PURE__ */ Object.create(null);
  50. this._onDidChange.fire(this);
  51. }
  52. setModeConfiguration(modeConfiguration) {
  53. this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);
  54. this._onDidChange.fire(this);
  55. }
  56. };
  57. var formatDefaults = {
  58. tabSize: 4,
  59. insertSpaces: false,
  60. wrapLineLength: 120,
  61. 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',
  62. contentUnformatted: "pre",
  63. indentInnerHtml: false,
  64. preserveNewLines: true,
  65. maxPreserveNewLines: void 0,
  66. indentHandlebars: false,
  67. endWithNewline: false,
  68. extraLiners: "head, body, /html",
  69. wrapAttributes: "auto"
  70. };
  71. var optionsDefault = {
  72. format: formatDefaults,
  73. suggest: {},
  74. data: { useDefaultDataProvider: true }
  75. };
  76. function getConfigurationDefault(languageId) {
  77. return {
  78. completionItems: true,
  79. hovers: true,
  80. documentSymbols: true,
  81. links: true,
  82. documentHighlights: true,
  83. rename: true,
  84. colors: true,
  85. foldingRanges: true,
  86. selectionRanges: true,
  87. diagnostics: languageId === htmlLanguageId,
  88. documentFormattingEdits: languageId === htmlLanguageId,
  89. documentRangeFormattingEdits: languageId === htmlLanguageId
  90. };
  91. }
  92. var htmlLanguageId = "html";
  93. var handlebarsLanguageId = "handlebars";
  94. var razorLanguageId = "razor";
  95. var htmlLanguageService = registerHTMLLanguageService(htmlLanguageId, optionsDefault, getConfigurationDefault(htmlLanguageId));
  96. var htmlDefaults = htmlLanguageService.defaults;
  97. var handlebarLanguageService = registerHTMLLanguageService(handlebarsLanguageId, optionsDefault, getConfigurationDefault(handlebarsLanguageId));
  98. var handlebarDefaults = handlebarLanguageService.defaults;
  99. var razorLanguageService = registerHTMLLanguageService(razorLanguageId, optionsDefault, getConfigurationDefault(razorLanguageId));
  100. var razorDefaults = razorLanguageService.defaults;
  101. monaco_editor_core_exports.languages.html = {
  102. htmlDefaults,
  103. razorDefaults,
  104. handlebarDefaults,
  105. htmlLanguageService,
  106. handlebarLanguageService,
  107. razorLanguageService,
  108. registerHTMLLanguageService
  109. };
  110. function getMode() {
  111. if (false) {
  112. return new Promise((resolve, reject) => {
  113. __require(["vs/language/html/htmlMode"], resolve, reject);
  114. });
  115. } else {
  116. return import("./htmlMode.js");
  117. }
  118. }
  119. function registerHTMLLanguageService(languageId, options = optionsDefault, modeConfiguration = getConfigurationDefault(languageId)) {
  120. const defaults = new LanguageServiceDefaultsImpl(languageId, options, modeConfiguration);
  121. let mode;
  122. const onLanguageListener = monaco_editor_core_exports.languages.onLanguage(languageId, async () => {
  123. mode = (await getMode()).setupMode(defaults);
  124. });
  125. return {
  126. defaults,
  127. dispose() {
  128. onLanguageListener.dispose();
  129. mode?.dispose();
  130. mode = void 0;
  131. }
  132. };
  133. }
  134. export {
  135. handlebarDefaults,
  136. handlebarLanguageService,
  137. htmlDefaults,
  138. htmlLanguageService,
  139. razorDefaults,
  140. razorLanguageService,
  141. registerHTMLLanguageService
  142. };