@eclipse-docks/extension-monaco-editor 0.7.135 → 0.7.136

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.js","names":["LanguageServiceDefaultsImpl","optionsDefault","getMode","LanguageServiceDefaultsImpl","getMode","editor_api","monaco_contribution","monaco_contribution$1","monaco_contribution$3","monaco_contribution$2"],"sources":["../../../node_modules/monaco-editor/esm/vs/language/css/monaco.contribution.js","../../../node_modules/monaco-editor/esm/vs/language/html/monaco.contribution.js","../../../node_modules/monaco-editor/esm/vs/language/json/monaco.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/_.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/css/css.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/cypher/cypher.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/freemarker2/freemarker2.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/go/go.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/html/html.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/java/java.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/less/less.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/mdx/mdx.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/php/php.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/python/python.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/r/r.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/st/st.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/typespec/typespec.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/wgsl/wgsl.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js","../../../node_modules/monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js","../../../node_modules/monaco-editor/esm/external/monaco-lsp-client/out/index.js","../../../node_modules/monaco-editor/esm/vs/editor/internal/initialize.js","../../../node_modules/monaco-editor/esm/vs/editor/editor.main.js","../src/monaco-grammars.ts","../src/monaco-widget.ts"],"sourcesContent":["import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, options, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setOptions(options);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n get diagnosticsOptions() {\n return this.options;\n }\n get options() {\n return this._options;\n }\n setOptions(options) {\n this._options = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setDiagnosticsOptions(options) {\n this.setOptions(options);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst optionsDefault = {\n validate: true,\n lint: {\n compatibleVendorPrefixes: \"ignore\",\n vendorPrefix: \"warning\",\n duplicateProperties: \"warning\",\n emptyRules: \"warning\",\n importStatement: \"ignore\",\n boxModel: \"ignore\",\n universalSelector: \"ignore\",\n zeroUnits: \"ignore\",\n fontFaceProperties: \"warning\",\n hexColorLength: \"error\",\n argumentsInColorFunction: \"error\",\n unknownProperties: \"warning\",\n ieHack: \"ignore\",\n unknownVendorSpecificProperties: \"ignore\",\n propertyIgnoredDueToDisplay: \"warning\",\n important: \"ignore\",\n float: \"ignore\",\n idSelector: \"ignore\"\n },\n data: { useDefaultDataProvider: true },\n format: {\n newlineBetweenSelectors: true,\n newlineBetweenRules: true,\n spaceAroundSelectorSeparator: false,\n braceStyle: \"collapse\",\n maxPreserveNewLines: void 0,\n preserveNewLines: true\n }\n};\nconst modeConfigurationDefault = {\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n definitions: true,\n references: true,\n documentHighlights: true,\n rename: true,\n colors: true,\n foldingRanges: true,\n diagnostics: true,\n selectionRanges: true,\n documentFormattingEdits: true,\n documentRangeFormattingEdits: true\n};\nconst cssDefaults = new LanguageServiceDefaultsImpl(\n \"css\",\n optionsDefault,\n modeConfigurationDefault\n);\nconst scssDefaults = new LanguageServiceDefaultsImpl(\n \"scss\",\n optionsDefault,\n modeConfigurationDefault\n);\nconst lessDefaults = new LanguageServiceDefaultsImpl(\n \"less\",\n optionsDefault,\n modeConfigurationDefault\n);\nfunction getMode() {\n return import('./cssMode.js');\n}\nlanguages.onLanguage(\"less\", () => {\n getMode().then((mode2) => mode2.setupMode(lessDefaults));\n});\nlanguages.onLanguage(\"scss\", () => {\n getMode().then((mode2) => mode2.setupMode(scssDefaults));\n});\nlanguages.onLanguage(\"css\", () => {\n getMode().then((mode2) => mode2.setupMode(cssDefaults));\n});\n\nexport { cssDefaults, lessDefaults, scssDefaults };\n","import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, options, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setOptions(options);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get options() {\n return this._options;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n setOptions(options) {\n this._options = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst formatDefaults = {\n tabSize: 4,\n insertSpaces: false,\n wrapLineLength: 120,\n 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',\n contentUnformatted: \"pre\",\n indentInnerHtml: false,\n preserveNewLines: true,\n maxPreserveNewLines: void 0,\n indentHandlebars: false,\n endWithNewline: false,\n extraLiners: \"head, body, /html\",\n wrapAttributes: \"auto\"\n};\nconst optionsDefault = {\n format: formatDefaults,\n suggest: {},\n data: { useDefaultDataProvider: true }\n};\nfunction getConfigurationDefault(languageId) {\n return {\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n links: true,\n documentHighlights: true,\n rename: true,\n colors: true,\n foldingRanges: true,\n selectionRanges: true,\n diagnostics: languageId === htmlLanguageId,\n // turned off for Razor and Handlebar\n documentFormattingEdits: languageId === htmlLanguageId,\n // turned off for Razor and Handlebar\n documentRangeFormattingEdits: languageId === htmlLanguageId\n // turned off for Razor and Handlebar\n };\n}\nconst htmlLanguageId = \"html\";\nconst handlebarsLanguageId = \"handlebars\";\nconst razorLanguageId = \"razor\";\nconst htmlLanguageService = registerHTMLLanguageService(\n htmlLanguageId,\n optionsDefault,\n getConfigurationDefault(htmlLanguageId)\n);\nconst htmlDefaults = htmlLanguageService.defaults;\nconst handlebarLanguageService = registerHTMLLanguageService(\n handlebarsLanguageId,\n optionsDefault,\n getConfigurationDefault(handlebarsLanguageId)\n);\nconst handlebarDefaults = handlebarLanguageService.defaults;\nconst razorLanguageService = registerHTMLLanguageService(\n razorLanguageId,\n optionsDefault,\n getConfigurationDefault(razorLanguageId)\n);\nconst razorDefaults = razorLanguageService.defaults;\nfunction getMode() {\n return import('./htmlMode.js');\n}\nfunction registerHTMLLanguageService(languageId, options = optionsDefault, modeConfiguration = getConfigurationDefault(languageId)) {\n const defaults = new LanguageServiceDefaultsImpl(languageId, options, modeConfiguration);\n let mode2;\n const onLanguageListener = languages.onLanguage(languageId, async () => {\n mode2 = (await getMode()).setupMode(defaults);\n });\n return {\n defaults,\n dispose() {\n onLanguageListener.dispose();\n mode2?.dispose();\n mode2 = void 0;\n }\n };\n}\n\nexport { handlebarDefaults, handlebarLanguageService, htmlDefaults, htmlLanguageService, razorDefaults, razorLanguageService, registerHTMLLanguageService };\n","import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, Emitter } from '../../editor/editor.api2.js';\n\nclass LanguageServiceDefaultsImpl {\n constructor(languageId, diagnosticsOptions, modeConfiguration) {\n this._onDidChange = new Emitter();\n this._languageId = languageId;\n this.setDiagnosticsOptions(diagnosticsOptions);\n this.setModeConfiguration(modeConfiguration);\n }\n get onDidChange() {\n return this._onDidChange.event;\n }\n get languageId() {\n return this._languageId;\n }\n get modeConfiguration() {\n return this._modeConfiguration;\n }\n get diagnosticsOptions() {\n return this._diagnosticsOptions;\n }\n setDiagnosticsOptions(options) {\n this._diagnosticsOptions = options || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n setModeConfiguration(modeConfiguration) {\n this._modeConfiguration = modeConfiguration || /* @__PURE__ */ Object.create(null);\n this._onDidChange.fire(this);\n }\n}\nconst diagnosticDefault = {\n validate: true,\n allowComments: true,\n schemas: [],\n enableSchemaRequest: false,\n schemaRequest: \"warning\",\n schemaValidation: \"warning\",\n comments: \"error\",\n trailingCommas: \"error\"\n};\nconst modeConfigurationDefault = {\n documentFormattingEdits: true,\n documentRangeFormattingEdits: true,\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n tokens: true,\n colors: true,\n foldingRanges: true,\n diagnostics: true,\n selectionRanges: true\n};\nconst jsonDefaults = new LanguageServiceDefaultsImpl(\n \"json\",\n diagnosticDefault,\n modeConfigurationDefault\n);\nconst getWorker = () => getMode().then((mode2) => mode2.getWorker());\nfunction getMode() {\n return import('./jsonMode.js');\n}\nlanguages.register({\n id: \"json\",\n extensions: [\".json\", \".bowerrc\", \".jshintrc\", \".jscsrc\", \".eslintrc\", \".babelrc\", \".har\"],\n aliases: [\"JSON\", \"json\"],\n mimetypes: [\"application/json\"]\n});\nlanguages.onLanguage(\"json\", () => {\n getMode().then((mode2) => mode2.setupMode(jsonDefaults));\n});\n\nexport { getWorker, jsonDefaults };\n","import '../editor/browser/coreCommands.js';\nimport '../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../editor/contrib/caretOperations/browser/transpose.js';\nimport '../editor/contrib/clipboard/browser/clipboard.js';\nimport '../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../editor/contrib/codelens/browser/codelensController.js';\nimport '../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../editor/contrib/comment/browser/comment.js';\nimport '../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../editor/contrib/dnd/browser/dnd.js';\nimport '../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../editor/contrib/find/browser/findController.js';\nimport '../editor/contrib/folding/browser/folding.js';\nimport '../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../editor/contrib/format/browser/formatActions.js';\nimport '../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../editor/contrib/gotoError/browser/gotoError.js';\nimport '../editor/contrib/gpu/browser/gpuActions.js';\nimport '../editor/contrib/hover/browser/hoverContribution.js';\nimport '../editor/contrib/indentation/browser/indentation.js';\nimport '../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../editor/contrib/links/browser/links.js';\nimport '../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../editor/contrib/multicursor/browser/multicursor.js';\nimport '../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../editor/contrib/rename/browser/rename.js';\nimport '../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../editor/contrib/snippet/browser/snippetController2.js';\nimport '../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../editor/contrib/suggest/browser/suggestController.js';\nimport '../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../editor/contrib/tokenization/browser/tokenization.js';\nimport '../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../editor/common/standaloneStrings.js';\nimport '../base/browser/ui/codicons/codicon/codicon.css';\nimport '../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages } from '../editor/editor.api2.js';\n\nconst languageDefinitions = {};\nconst lazyLanguageLoaders = {};\nclass LazyLanguageLoader {\n static getOrCreate(languageId) {\n if (!lazyLanguageLoaders[languageId]) {\n lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);\n }\n return lazyLanguageLoaders[languageId];\n }\n constructor(languageId) {\n this._languageId = languageId;\n this._loadingTriggered = false;\n this._lazyLoadPromise = new Promise((resolve, reject) => {\n this._lazyLoadPromiseResolve = resolve;\n this._lazyLoadPromiseReject = reject;\n });\n }\n load() {\n if (!this._loadingTriggered) {\n this._loadingTriggered = true;\n languageDefinitions[this._languageId].loader().then(\n (mod) => this._lazyLoadPromiseResolve(mod),\n (err) => this._lazyLoadPromiseReject(err)\n );\n }\n return this._lazyLoadPromise;\n }\n}\nfunction registerLanguage(def) {\n const languageId = def.id;\n languageDefinitions[languageId] = def;\n languages.register(def);\n const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);\n languages.registerTokensProviderFactory(languageId, {\n create: async () => {\n const mod = await lazyLanguageLoader.load();\n return mod.language;\n }\n });\n languages.onLanguageEncountered(languageId, async () => {\n const mod = await lazyLanguageLoader.load();\n languages.setLanguageConfiguration(languageId, mod.conf);\n });\n}\n\nexport { registerLanguage };\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"abap\",\n extensions: [\".abap\"],\n aliases: [\"abap\", \"ABAP\"],\n loader: () => import('./abap.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"apex\",\n extensions: [\".cls\"],\n aliases: [\"Apex\", \"apex\"],\n mimetypes: [\"text/x-apex-source\", \"text/x-apex\"],\n loader: () => import('./apex.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"azcli\",\n extensions: [\".azcli\"],\n aliases: [\"Azure CLI\", \"azcli\"],\n loader: () => import('./azcli.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"bat\",\n extensions: [\".bat\", \".cmd\"],\n aliases: [\"Batch\", \"bat\"],\n loader: () => import('./bat.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"bicep\",\n extensions: [\".bicep\"],\n aliases: [\"Bicep\"],\n loader: () => import('./bicep.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"cameligo\",\n extensions: [\".mligo\"],\n aliases: [\"Cameligo\"],\n loader: () => import('./cameligo.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"clojure\",\n extensions: [\".clj\", \".cljs\", \".cljc\", \".edn\"],\n aliases: [\"clojure\", \"Clojure\"],\n loader: () => import('./clojure.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"coffeescript\",\n extensions: [\".coffee\"],\n aliases: [\"CoffeeScript\", \"coffeescript\", \"coffee\"],\n mimetypes: [\"text/x-coffeescript\", \"text/coffeescript\"],\n loader: () => import('./coffee.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"c\",\n extensions: [\".c\", \".h\"],\n aliases: [\"C\", \"c\"],\n loader: () => import('./cpp.js')\n});\nregisterLanguage({\n id: \"cpp\",\n extensions: [\".cpp\", \".cc\", \".cxx\", \".hpp\", \".hh\", \".hxx\"],\n aliases: [\"C++\", \"Cpp\", \"cpp\"],\n loader: () => import('./cpp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"csharp\",\n extensions: [\".cs\", \".csx\", \".cake\"],\n aliases: [\"C#\", \"csharp\"],\n loader: () => import('./csharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"csp\",\n extensions: [\".csp\"],\n aliases: [\"CSP\", \"csp\"],\n loader: () => import('./csp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"css\",\n extensions: [\".css\"],\n aliases: [\"CSS\", \"css\"],\n mimetypes: [\"text/css\"],\n loader: () => import('./css.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"cypher\",\n extensions: [\".cypher\", \".cyp\"],\n aliases: [\"Cypher\", \"OpenCypher\"],\n loader: () => import('./cypher.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"dart\",\n extensions: [\".dart\"],\n aliases: [\"Dart\", \"dart\"],\n mimetypes: [\"text/x-dart-source\", \"text/x-dart\"],\n loader: () => import('./dart.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"dockerfile\",\n extensions: [\".dockerfile\"],\n filenames: [\"Dockerfile\"],\n aliases: [\"Dockerfile\"],\n loader: () => import('./dockerfile.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ecl\",\n extensions: [\".ecl\"],\n aliases: [\"ECL\", \"Ecl\", \"ecl\"],\n loader: () => import('./ecl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"elixir\",\n extensions: [\".ex\", \".exs\"],\n aliases: [\"Elixir\", \"elixir\", \"ex\"],\n loader: () => import('./elixir.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"flow9\",\n extensions: [\".flow\"],\n aliases: [\"Flow9\", \"Flow\", \"flow9\", \"flow\"],\n loader: () => import('./flow9.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"fsharp\",\n extensions: [\".fs\", \".fsi\", \".ml\", \".mli\", \".fsx\", \".fsscript\"],\n aliases: [\"F#\", \"FSharp\", \"fsharp\"],\n loader: () => import('./fsharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"freemarker2\",\n extensions: [\".ftl\", \".ftlh\", \".ftlx\"],\n aliases: [\"FreeMarker2\", \"Apache FreeMarker2\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-angle.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Angle/Dollar)\", \"Apache FreeMarker2 (Angle/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAngleInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-bracket.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Bracket/Dollar)\", \"Apache FreeMarker2 (Bracket/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagBracketInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-angle.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Angle/Bracket)\", \"Apache FreeMarker2 (Angle/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAngleInterpolationBracket);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-bracket.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Bracket/Bracket)\", \"Apache FreeMarker2 (Bracket/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagBracketInterpolationBracket);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-auto.interpolation-dollar\",\n aliases: [\"FreeMarker2 (Auto/Dollar)\", \"Apache FreeMarker2 (Auto/Dollar)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationDollar);\n }\n});\nregisterLanguage({\n id: \"freemarker2.tag-auto.interpolation-bracket\",\n aliases: [\"FreeMarker2 (Auto/Bracket)\", \"Apache FreeMarker2 (Auto/Bracket)\"],\n loader: () => {\n return import('./freemarker2.js').then((m) => m.TagAutoInterpolationBracket);\n }\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"go\",\n extensions: [\".go\"],\n aliases: [\"Go\"],\n loader: () => import('./go.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"graphql\",\n extensions: [\".graphql\", \".gql\"],\n aliases: [\"GraphQL\", \"graphql\", \"gql\"],\n mimetypes: [\"application/graphql\"],\n loader: () => import('./graphql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"handlebars\",\n extensions: [\".handlebars\", \".hbs\"],\n aliases: [\"Handlebars\", \"handlebars\", \"hbs\"],\n mimetypes: [\"text/x-handlebars-template\"],\n loader: () => import('./handlebars.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"hcl\",\n extensions: [\".tf\", \".tfvars\", \".hcl\"],\n aliases: [\"Terraform\", \"tf\", \"HCL\", \"hcl\"],\n loader: () => import('./hcl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"html\",\n extensions: [\".html\", \".htm\", \".shtml\", \".xhtml\", \".mdoc\", \".jsp\", \".asp\", \".aspx\", \".jshtm\"],\n aliases: [\"HTML\", \"htm\", \"html\", \"xhtml\"],\n mimetypes: [\"text/html\", \"text/x-jshtm\", \"text/template\", \"text/ng-template\"],\n loader: () => import('./html.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ini\",\n extensions: [\".ini\", \".properties\", \".gitconfig\"],\n filenames: [\"config\", \".gitattributes\", \".gitconfig\", \".editorconfig\"],\n aliases: [\"Ini\", \"ini\"],\n loader: () => import('./ini.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"java\",\n extensions: [\".java\", \".jav\"],\n aliases: [\"Java\", \"java\"],\n mimetypes: [\"text/x-java-source\", \"text/x-java\"],\n loader: () => import('./java.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"javascript\",\n extensions: [\".js\", \".es6\", \".jsx\", \".mjs\", \".cjs\"],\n firstLine: \"^#!.*\\\\bnode\",\n filenames: [\"jakefile\"],\n aliases: [\"JavaScript\", \"javascript\", \"js\"],\n mimetypes: [\"text/javascript\"],\n loader: () => import('./javascript.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"julia\",\n extensions: [\".jl\"],\n aliases: [\"julia\", \"Julia\"],\n loader: () => import('./julia.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"kotlin\",\n extensions: [\".kt\", \".kts\"],\n aliases: [\"Kotlin\", \"kotlin\"],\n mimetypes: [\"text/x-kotlin-source\", \"text/x-kotlin\"],\n loader: () => import('./kotlin.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"less\",\n extensions: [\".less\"],\n aliases: [\"Less\", \"less\"],\n mimetypes: [\"text/x-less\", \"text/less\"],\n loader: () => import('./less.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"lexon\",\n extensions: [\".lex\"],\n aliases: [\"Lexon\"],\n loader: () => import('./lexon.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"lua\",\n extensions: [\".lua\"],\n aliases: [\"Lua\", \"lua\"],\n loader: () => import('./lua.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"liquid\",\n extensions: [\".liquid\", \".html.liquid\"],\n aliases: [\"Liquid\", \"liquid\"],\n mimetypes: [\"application/liquid\"],\n loader: () => import('./liquid.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"m3\",\n extensions: [\".m3\", \".i3\", \".mg\", \".ig\"],\n aliases: [\"Modula-3\", \"Modula3\", \"modula3\", \"m3\"],\n loader: () => import('./m3.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"markdown\",\n extensions: [\".md\", \".markdown\", \".mdown\", \".mkdn\", \".mkd\", \".mdwn\", \".mdtxt\", \".mdtext\"],\n aliases: [\"Markdown\", \"markdown\"],\n loader: () => import('./markdown.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mdx\",\n extensions: [\".mdx\"],\n aliases: [\"MDX\", \"mdx\"],\n loader: () => import('./mdx.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mips\",\n extensions: [\".s\"],\n aliases: [\"MIPS\", \"MIPS-V\"],\n mimetypes: [\"text/x-mips\", \"text/mips\", \"text/plaintext\"],\n loader: () => import('./mips.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"msdax\",\n extensions: [\".dax\", \".msdax\"],\n aliases: [\"DAX\", \"MSDAX\"],\n loader: () => import('./msdax.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"mysql\",\n extensions: [],\n aliases: [\"MySQL\", \"mysql\"],\n loader: () => import('./mysql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"objective-c\",\n extensions: [\".m\"],\n aliases: [\"Objective-C\"],\n loader: () => import('./objective-c.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pascal\",\n extensions: [\".pas\", \".p\", \".pp\"],\n aliases: [\"Pascal\", \"pas\"],\n mimetypes: [\"text/x-pascal-source\", \"text/x-pascal\"],\n loader: () => import('./pascal.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pascaligo\",\n extensions: [\".ligo\"],\n aliases: [\"Pascaligo\", \"ligo\"],\n loader: () => import('./pascaligo.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"perl\",\n extensions: [\".pl\", \".pm\"],\n aliases: [\"Perl\", \"pl\"],\n loader: () => import('./perl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pgsql\",\n extensions: [],\n aliases: [\"PostgreSQL\", \"postgres\", \"pg\", \"postgre\"],\n loader: () => import('./pgsql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"php\",\n extensions: [\".php\", \".php4\", \".php5\", \".phtml\", \".ctp\"],\n aliases: [\"PHP\", \"php\"],\n mimetypes: [\"application/x-php\"],\n loader: () => import('./php.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pla\",\n extensions: [\".pla\"],\n loader: () => import('./pla.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"postiats\",\n extensions: [\".dats\", \".sats\", \".hats\"],\n aliases: [\"ATS\", \"ATS/Postiats\"],\n loader: () => import('./postiats.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"powerquery\",\n extensions: [\".pq\", \".pqm\"],\n aliases: [\"PQ\", \"M\", \"Power Query\", \"Power Query M\"],\n loader: () => import('./powerquery.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"powershell\",\n extensions: [\".ps1\", \".psm1\", \".psd1\"],\n aliases: [\"PowerShell\", \"powershell\", \"ps\", \"ps1\"],\n loader: () => import('./powershell.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"proto\",\n extensions: [\".proto\"],\n aliases: [\"protobuf\", \"Protocol Buffers\"],\n loader: () => import('./protobuf.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"pug\",\n extensions: [\".jade\", \".pug\"],\n aliases: [\"Pug\", \"Jade\", \"jade\"],\n loader: () => import('./pug.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"python\",\n extensions: [\".py\", \".rpy\", \".pyw\", \".cpy\", \".gyp\", \".gypi\"],\n aliases: [\"Python\", \"py\"],\n firstLine: \"^#!/.*\\\\bpython[0-9.-]*\\\\b\",\n loader: () => import('./python.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"qsharp\",\n extensions: [\".qs\"],\n aliases: [\"Q#\", \"qsharp\"],\n loader: () => import('./qsharp.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"r\",\n extensions: [\".r\", \".rhistory\", \".rmd\", \".rprofile\", \".rt\"],\n aliases: [\"R\", \"r\"],\n loader: () => import('./r.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"razor\",\n extensions: [\".cshtml\"],\n aliases: [\"Razor\", \"razor\"],\n mimetypes: [\"text/x-cshtml\"],\n loader: () => import('./razor.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"redis\",\n extensions: [\".redis\"],\n aliases: [\"redis\"],\n loader: () => import('./redis.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"redshift\",\n extensions: [],\n aliases: [\"Redshift\", \"redshift\"],\n loader: () => import('./redshift.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"restructuredtext\",\n extensions: [\".rst\"],\n aliases: [\"reStructuredText\", \"restructuredtext\"],\n loader: () => import('./restructuredtext.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"ruby\",\n extensions: [\".rb\", \".rbx\", \".rjs\", \".gemspec\", \".pp\"],\n filenames: [\"rakefile\", \"Gemfile\"],\n aliases: [\"Ruby\", \"rb\"],\n loader: () => import('./ruby.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"rust\",\n extensions: [\".rs\", \".rlib\"],\n aliases: [\"Rust\", \"rust\"],\n loader: () => import('./rust.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sb\",\n extensions: [\".sb\"],\n aliases: [\"Small Basic\", \"sb\"],\n loader: () => import('./sb.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scala\",\n extensions: [\".scala\", \".sc\", \".sbt\"],\n aliases: [\"Scala\", \"scala\", \"SBT\", \"Sbt\", \"sbt\", \"Dotty\", \"dotty\"],\n mimetypes: [\"text/x-scala-source\", \"text/x-scala\", \"text/x-sbt\", \"text/x-dotty\"],\n loader: () => import('./scala.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scheme\",\n extensions: [\".scm\", \".ss\", \".sch\", \".rkt\"],\n aliases: [\"scheme\", \"Scheme\"],\n loader: () => import('./scheme.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"scss\",\n extensions: [\".scss\"],\n aliases: [\"Sass\", \"sass\", \"scss\"],\n mimetypes: [\"text/x-scss\", \"text/scss\"],\n loader: () => import('./scss.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"shell\",\n extensions: [\".sh\", \".bash\"],\n aliases: [\"Shell\", \"sh\"],\n loader: () => import('./shell.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sol\",\n extensions: [\".sol\"],\n aliases: [\"sol\", \"solidity\", \"Solidity\"],\n loader: () => import('./solidity.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"aes\",\n extensions: [\".aes\"],\n aliases: [\"aes\", \"sophia\", \"Sophia\"],\n loader: () => import('./sophia.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sparql\",\n extensions: [\".rq\"],\n aliases: [\"sparql\", \"SPARQL\"],\n loader: () => import('./sparql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"sql\",\n extensions: [\".sql\"],\n aliases: [\"SQL\"],\n loader: () => import('./sql.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"st\",\n extensions: [\".st\", \".iecst\", \".iecplc\", \".lc3lib\", \".TcPOU\", \".TcDUT\", \".TcGVL\", \".TcIO\"],\n aliases: [\"StructuredText\", \"scl\", \"stl\"],\n loader: () => import('./st.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"swift\",\n aliases: [\"Swift\", \"swift\"],\n extensions: [\".swift\"],\n mimetypes: [\"text/swift\"],\n loader: () => import('./swift.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"systemverilog\",\n extensions: [\".sv\", \".svh\"],\n aliases: [\"SV\", \"sv\", \"SystemVerilog\", \"systemverilog\"],\n loader: () => import('./systemverilog.js')\n});\nregisterLanguage({\n id: \"verilog\",\n extensions: [\".v\", \".vh\"],\n aliases: [\"V\", \"v\", \"Verilog\", \"verilog\"],\n loader: () => import('./systemverilog.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"tcl\",\n extensions: [\".tcl\"],\n aliases: [\"tcl\", \"Tcl\", \"tcltk\", \"TclTk\", \"tcl/tk\", \"Tcl/Tk\"],\n loader: () => import('./tcl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"twig\",\n extensions: [\".twig\"],\n aliases: [\"Twig\", \"twig\"],\n mimetypes: [\"text/x-twig\"],\n loader: () => import('./twig.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"typescript\",\n extensions: [\".ts\", \".tsx\", \".cts\", \".mts\"],\n aliases: [\"TypeScript\", \"ts\", \"typescript\"],\n mimetypes: [\"text/typescript\"],\n loader: () => {\n return import('./typescript.js');\n }\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"typespec\",\n extensions: [\".tsp\"],\n aliases: [\"TypeSpec\"],\n loader: () => import('./typespec.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"vb\",\n extensions: [\".vb\"],\n aliases: [\"Visual Basic\", \"vb\"],\n loader: () => import('./vb.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"wgsl\",\n extensions: [\".wgsl\"],\n aliases: [\"WebGPU Shading Language\", \"WGSL\", \"wgsl\"],\n loader: () => import('./wgsl.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"xml\",\n extensions: [\n \".xml\",\n \".xsd\",\n \".dtd\",\n \".ascx\",\n \".csproj\",\n \".config\",\n \".props\",\n \".targets\",\n \".wxi\",\n \".wxl\",\n \".wxs\",\n \".xaml\",\n \".svg\",\n \".svgz\",\n \".opf\",\n \".xslt\",\n \".xsl\"\n ],\n firstLine: \"(\\\\<\\\\?xml.*)|(\\\\<svg)|(\\\\<\\\\!doctype\\\\s+svg)\",\n aliases: [\"XML\", \"xml\"],\n mimetypes: [\"text/xml\", \"application/xml\", \"application/xaml+xml\", \"application/xml-dtd\"],\n loader: () => import('./xml.js')\n});\n","import { registerLanguage } from '../_.contribution.js';\n\nregisterLanguage({\n id: \"yaml\",\n extensions: [\".yaml\", \".yml\"],\n aliases: [\"YAML\", \"yaml\", \"YML\", \"yml\"],\n mimetypes: [\"application/x-yaml\", \"text/x-yaml\"],\n loader: () => import('./yaml.js')\n});\n","import '../../../vs/editor/browser/coreCommands.js';\nimport '../../../vs/editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../../vs/editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../../vs/editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../../vs/editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../../vs/editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../../vs/editor/contrib/caretOperations/browser/transpose.js';\nimport '../../../vs/editor/contrib/clipboard/browser/clipboard.js';\nimport '../../../vs/editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../../vs/editor/contrib/codelens/browser/codelensController.js';\nimport '../../../vs/editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../../vs/editor/contrib/comment/browser/comment.js';\nimport '../../../vs/editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../../vs/editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../../vs/editor/contrib/dnd/browser/dnd.js';\nimport '../../../vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../../vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../../vs/editor/contrib/find/browser/findController.js';\nimport '../../../vs/editor/contrib/folding/browser/folding.js';\nimport '../../../vs/editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../../vs/editor/contrib/format/browser/formatActions.js';\nimport '../../../vs/editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../../vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../../vs/editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../../vs/editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../../vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../../vs/editor/contrib/gotoError/browser/gotoError.js';\nimport '../../../vs/editor/contrib/gpu/browser/gpuActions.js';\nimport '../../../vs/editor/contrib/hover/browser/hoverContribution.js';\nimport '../../../vs/editor/contrib/indentation/browser/indentation.js';\nimport '../../../vs/editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../../vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../../vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../../vs/editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../../vs/editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../../vs/editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../../vs/editor/contrib/links/browser/links.js';\nimport '../../../vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../../vs/editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../../vs/editor/contrib/multicursor/browser/multicursor.js';\nimport '../../../vs/editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../../vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../../vs/editor/contrib/rename/browser/rename.js';\nimport '../../../vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../../vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../../vs/editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../../vs/editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../../vs/editor/contrib/snippet/browser/snippetController2.js';\nimport '../../../vs/editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../../vs/editor/contrib/suggest/browser/suggestController.js';\nimport '../../../vs/editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../../vs/editor/contrib/tokenization/browser/tokenization.js';\nimport '../../../vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../../vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../../vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../../vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../../vs/editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../../vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../../vs/editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../../vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../../vs/editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../../vs/editor/common/standaloneStrings.js';\nimport '../../../vs/base/browser/ui/codicons/codicon/codicon.css';\nimport '../../../vs/base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../../vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../../vs/editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../../vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../../vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages, MarkerSeverity, MarkerTag, editor, Position, Range, Emitter, Uri } from '../../../vs/editor/editor.api2.js';\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar _a, _b, _c, _d, _e;\nfunction isRequestOrNotification(msg) {\n return msg.method !== void 0;\n}\nvar ErrorObject;\n(function(ErrorObject$1) {\n function create(obj) {\n return obj;\n }\n ErrorObject$1.create = create;\n})(ErrorObject || (ErrorObject = {}));\nvar ErrorCode;\n(function(ErrorCode$1) {\n ErrorCode$1.parseError = -32700;\n ErrorCode$1.invalidRequest = -32600;\n ErrorCode$1.methodNotFound = -32601;\n ErrorCode$1.invalidParams = -32602;\n ErrorCode$1.internalError = -32603;\n function isServerError(code) {\n return -32099 <= code && code <= -32e3;\n }\n ErrorCode$1.isServerError = isServerError;\n function serverError(code) {\n if (!isServerError(code)) throw new Error(\"Invalid range for a server error.\");\n return code;\n }\n ErrorCode$1.serverError = serverError;\n ErrorCode$1.unexpectedServerError = -32e3;\n function isApplicationError(code) {\n return true;\n }\n ErrorCode$1.isApplicationError = isApplicationError;\n function applicationError(code) {\n return code;\n }\n ErrorCode$1.applicationError = applicationError;\n ErrorCode$1.genericApplicationError = -320100;\n})(ErrorCode || (ErrorCode = {}));\nvar EventEmitter = class {\n constructor() {\n __publicField(this, \"listeners\", /* @__PURE__ */ new Set());\n __publicField(this, \"event\", (listener) => {\n this.listeners.add(listener);\n return { dispose: () => {\n this.listeners.delete(listener);\n } };\n });\n }\n fire(args) {\n this.listeners.forEach((listener) => listener(args));\n }\n};\nvar ValueWithChangeEvent = class {\n constructor(initialValue) {\n __publicField(this, \"_value\");\n __publicField(this, \"eventEmitter\");\n this._value = initialValue;\n this.eventEmitter = new EventEmitter();\n }\n get value() {\n return this._value;\n }\n set value(newValue) {\n if (this._value !== newValue) {\n this._value = newValue;\n this.eventEmitter.fire(newValue);\n }\n }\n get onChange() {\n return this.eventEmitter.event;\n }\n};\nfunction createTimeout(delay, callback) {\n const handle = setTimeout(callback, delay);\n return { dispose: () => clearTimeout(handle) };\n}\nfunction setAndDeleteOnDispose(set, keyOrItem, item) {\n if (set instanceof Set) {\n set.add(keyOrItem);\n return { dispose: () => set.delete(keyOrItem) };\n } else {\n set.set(keyOrItem, item);\n return { dispose: () => set.delete(keyOrItem) };\n }\n}\nvar Deferred = class {\n constructor() {\n __publicField(this, \"_state\", \"none\");\n __publicField(this, \"promise\");\n __publicField(this, \"resolve\", () => {\n });\n __publicField(this, \"reject\", () => {\n });\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n get state() {\n return this._state;\n }\n};\nvar BaseMessageTransport = (_a = class {\n constructor() {\n __publicField(this, \"_unprocessedMessages\", []);\n __publicField(this, \"_messageListener\");\n __publicField(this, \"id\", _a.id++);\n __publicField(this, \"_state\", new ValueWithChangeEvent({ state: \"open\" }));\n __publicField(this, \"state\", this._state);\n }\n /**\n * Sets a callback for incoming messages.\n */\n setListener(listener) {\n this._messageListener = listener;\n if (!listener) return;\n while (this._unprocessedMessages.length > 0 && this._messageListener !== void 0) {\n const msg = this._unprocessedMessages.shift();\n this._messageListener(msg);\n }\n }\n /**\n * Writes a message to the stream.\n */\n send(message) {\n return this._sendImpl(message);\n }\n /**\n * Call this in derived classes to signal a new message.\n */\n _dispatchReceivedMessage(message) {\n if (this._unprocessedMessages.length === 0 && this._messageListener) this._messageListener(message);\n else this._unprocessedMessages.push(message);\n }\n /**\n * Call this in derived classes to signal that the connection closed.\n */\n _onConnectionClosed() {\n this._state.value = {\n state: \"closed\",\n error: void 0\n };\n }\n log(logger) {\n return new StreamLogger(this, logger ?? new ConsoleMessageLogger());\n }\n}, __publicField(_a, \"id\", 0), _a);\nvar StreamLogger = class {\n constructor(baseStream, logger) {\n __publicField(this, \"baseStream\");\n __publicField(this, \"logger\");\n this.baseStream = baseStream;\n this.logger = logger;\n }\n get state() {\n return this.baseStream.state;\n }\n setListener(listener) {\n if (listener === void 0) {\n this.baseStream.setListener(void 0);\n return;\n }\n this.baseStream.setListener((readMessage) => {\n this.logger.log(this.baseStream, \"incoming\", readMessage);\n listener(readMessage);\n });\n }\n send(message) {\n this.logger.log(this.baseStream, \"outgoing\", message);\n return this.baseStream.send(message);\n }\n toString() {\n return `StreamLogger/${this.baseStream.toString()}`;\n }\n};\nvar ConsoleMessageLogger = class {\n log(stream, type, message) {\n const char = type === \"incoming\" ? \"<-\" : \"->\";\n console.log(`${char} [${stream.toString()}] ${JSON.stringify(message)}`);\n }\n};\nvar Channel = class Channel2 {\n constructor(connect) {\n __publicField(this, \"connect\");\n this.connect = connect;\n }\n mapContext(map) {\n return new Channel2((listener) => this.connect(listener ? mapRequestHandlerContext(listener, map) : void 0));\n }\n};\nfunction mapRequestHandlerContext(messageHandler, map) {\n return {\n handleNotification: (request, context) => messageHandler.handleNotification(request, map(context)),\n handleRequest: (request, requestId, context) => messageHandler.handleRequest(request, requestId, map(context))\n };\n}\nvar StreamBasedChannel = class StreamBasedChannel2 {\n constructor(_stream, _listener, _logger) {\n __publicField(this, \"_stream\");\n __publicField(this, \"_listener\");\n __publicField(this, \"_logger\");\n __publicField(this, \"_unprocessedResponses\", /* @__PURE__ */ new Map());\n __publicField(this, \"_lastUsedRequestId\", 0);\n this._stream = _stream;\n this._listener = _listener;\n this._logger = _logger;\n this._stream.setListener((message) => {\n if (isRequestOrNotification(message)) if (message.id === void 0) this._processNotification(message);\n else this._processRequest(message);\n else this._processResponse(message);\n });\n }\n /**\n * Creates a channel factory from a given stream and logger.\n * This allows to delay specifying a `RequestHandler`.\n * Once the channel is created, it processes incoming messages.\n */\n static createChannel(stream, logger) {\n let constructed = false;\n return new Channel((listener) => {\n if (constructed) throw new Error(`A channel to the stream ${stream} was already constructed!`);\n else constructed = true;\n return new StreamBasedChannel2(stream, listener, logger);\n });\n }\n get state() {\n return this._stream.state;\n }\n async _processNotification(message) {\n if (message.id !== void 0) throw new Error();\n if (!this._listener) {\n if (this._logger) this._logger.debug({\n text: \"Notification ignored\",\n message\n });\n return;\n }\n try {\n await this._listener.handleNotification({\n method: message.method,\n params: message.params || null\n });\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `Exception was thrown while handling notification: ${exception}`,\n exception,\n message\n });\n }\n }\n async _processRequest(message) {\n if (message.id === void 0) throw new Error();\n let result;\n if (this._listener) try {\n result = await this._listener.handleRequest({\n method: message.method,\n params: message.params || null\n }, message.id);\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `Exception was thrown while handling request: ${exception}`,\n message,\n exception\n });\n result = { error: {\n code: ErrorCode.internalError,\n message: \"An unexpected exception was thrown.\",\n data: void 0\n } };\n }\n else {\n if (this._logger) this._logger.debug({\n text: \"Received request even though not listening for requests\",\n message\n });\n result = { error: {\n code: ErrorCode.methodNotFound,\n message: \"This endpoint does not listen for requests or notifications.\",\n data: void 0\n } };\n }\n let responseMsg;\n if (\"result\" in result) responseMsg = {\n jsonrpc: \"2.0\",\n id: message.id,\n result: result.result\n };\n else responseMsg = {\n jsonrpc: \"2.0\",\n id: message.id,\n error: result.error\n };\n await this._stream.send(responseMsg);\n }\n _processResponse(message) {\n const strId = \"\" + message.id;\n const callback = this._unprocessedResponses.get(strId);\n if (!callback) {\n if (this._logger) this._logger.debug({\n text: \"Got an unexpected response message\",\n message\n });\n return;\n }\n this._unprocessedResponses.delete(strId);\n callback(message);\n }\n _newRequestId() {\n return this._lastUsedRequestId++;\n }\n sendRequest(request, _context, messageIdCallback) {\n const message = {\n jsonrpc: \"2.0\",\n id: this._newRequestId(),\n method: request.method,\n params: request.params || void 0\n };\n if (messageIdCallback) messageIdCallback(message.id);\n return new Promise((resolve, reject) => {\n const strId = \"\" + message.id;\n this._unprocessedResponses.set(strId, (response) => {\n if (\"result\" in response) resolve({ result: response.result });\n else {\n if (!response.error) reject(/* @__PURE__ */ new Error(\"Response had neither 'result' nor 'error' field set.\"));\n resolve({ error: response.error });\n }\n });\n this._stream.send(message).then(void 0, (reason) => {\n this._unprocessedResponses.delete(strId);\n reject(reason);\n });\n });\n }\n sendNotification(notification, context) {\n const msg = {\n jsonrpc: \"2.0\",\n id: void 0,\n method: notification.method,\n params: notification.params || void 0\n };\n return this._stream.send(msg);\n }\n toString() {\n return \"StreamChannel/\" + this._stream.toString();\n }\n};\nvar Serializers;\n(function(Serializers$1) {\n function sAny() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: input\n }),\n serializeToJson: (input) => input\n };\n }\n Serializers$1.sAny = sAny;\n function sEmptyObject() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: {}\n }),\n serializeToJson: (input) => ({})\n };\n }\n Serializers$1.sEmptyObject = sEmptyObject;\n function sVoidFromNull() {\n return {\n deserializeFromJson: (input) => ({\n hasErrors: false,\n value: void 0\n }),\n serializeToJson: (input) => null\n };\n }\n Serializers$1.sVoidFromNull = sVoidFromNull;\n})(Serializers || (Serializers = {}));\nconst OptionalMethodNotFound = Symbol(\"OptionalMethodNotFound\");\nvar TypedChannelBase = class {\n contextualize(args) {\n return new ContextualizedTypedChannel(this, args);\n }\n};\nvar ContextualizedTypedChannel = class extends TypedChannelBase {\n constructor(underylingTypedChannel, converters) {\n super();\n __publicField(this, \"underylingTypedChannel\");\n __publicField(this, \"converters\");\n this.underylingTypedChannel = underylingTypedChannel;\n this.converters = converters;\n }\n async request(requestType, args, newContext) {\n const context = await this.converters.getSendContext(newContext);\n return this.underylingTypedChannel.request(requestType, args, context);\n }\n async notify(notificationType, params, newContext) {\n const context = await this.converters.getSendContext(newContext);\n return this.underylingTypedChannel.notify(notificationType, params, context);\n }\n registerNotificationHandler(type, handler) {\n return this.underylingTypedChannel.registerNotificationHandler(type, async (arg, context) => {\n return await handler(arg, await this.converters.getNewContext(context));\n });\n }\n registerRequestHandler(requestType, handler) {\n return this.underylingTypedChannel.registerRequestHandler(requestType, async (arg, requestId, context) => {\n return await handler(arg, requestId, await this.converters.getNewContext(context));\n });\n }\n};\nvar TypedChannel = class TypedChannel2 extends TypedChannelBase {\n constructor(channelCtor, options = {}) {\n super();\n __publicField(this, \"channelCtor\");\n __publicField(this, \"_requestSender\");\n __publicField(this, \"_handler\", /* @__PURE__ */ new Map());\n __publicField(this, \"_unknownNotificationHandler\", /* @__PURE__ */ new Set());\n __publicField(this, \"_timeout\");\n __publicField(this, \"sendExceptionDetails\", false);\n __publicField(this, \"_logger\");\n __publicField(this, \"listeningDeferred\", new Deferred());\n __publicField(this, \"onListening\", this.listeningDeferred.promise);\n __publicField(this, \"_requestDidErrorEventEmitter\", new EventEmitter());\n __publicField(this, \"onRequestDidError\", this._requestDidErrorEventEmitter.event);\n this.channelCtor = channelCtor;\n this._logger = options.logger;\n this.sendExceptionDetails = !!options.sendExceptionDetails;\n this._timeout = createTimeout(1e3, () => {\n if (!this._requestSender) console.warn(`\"${this.startListen.name}\" has not been called within 1 second after construction of this channel. Did you forget to call it?`, this);\n });\n }\n static fromTransport(stream, options = {}) {\n return new TypedChannel2(StreamBasedChannel.createChannel(stream, options.logger), options);\n }\n /**\n * This method must be called to forward messages from the stream to this channel.\n * This is not done automatically on construction so that this instance\n * can be setup properly before handling messages.\n */\n startListen() {\n if (this._requestSender) throw new Error(`\"${this.startListen.name}\" can be called only once, but it already has been called.`);\n if (this._timeout) {\n this._timeout.dispose();\n this._timeout = void 0;\n }\n this._requestSender = this.channelCtor.connect({\n handleRequest: (req, id, context) => this.handleRequest(req, id, context),\n handleNotification: (req, context) => this.handleNotification(req, context)\n });\n this.listeningDeferred.resolve();\n }\n checkChannel(channel) {\n if (!channel) throw new Error(`\"${this.startListen.name}\" must be called before any messages can be sent or received.`);\n return true;\n }\n async handleRequest(request, requestId, context) {\n const handler = this._handler.get(request.method);\n if (!handler) {\n if (this._logger) this._logger.debug({\n text: `No request handler for \"${request.method}\".`,\n data: { requestObject: request }\n });\n return { error: {\n code: ErrorCode.methodNotFound,\n message: `No request handler for \"${request.method}\".`,\n data: { method: request.method }\n } };\n }\n if (handler.kind != \"request\") {\n const message = `\"${request.method}\" is registered as notification, but was sent as request.`;\n if (this._logger) this._logger.debug({\n text: message,\n data: { requestObject: request }\n });\n return { error: {\n code: ErrorCode.invalidRequest,\n message,\n data: { method: request.method }\n } };\n }\n const decodeResult = handler.requestType.paramsSerializer.deserializeFromJson(request.params);\n if (decodeResult.hasErrors) {\n const message = `Got invalid params: ${decodeResult.errorMessage}`;\n if (this._logger) this._logger.debug({\n text: message,\n data: {\n requestObject: request,\n errorMessage: decodeResult.errorMessage\n }\n });\n return { error: {\n code: ErrorCode.invalidParams,\n message,\n data: { errors: decodeResult.errorMessage }\n } };\n } else {\n const args = decodeResult.value;\n let response;\n try {\n const result = await handler.handler(args, requestId, context);\n if (\"error\" in result || \"errorMessage\" in result) {\n const errorData = result.error ? handler.requestType.errorSerializer.serializeToJson(result.error) : void 0;\n response = { error: {\n code: result.errorCode || ErrorCode.genericApplicationError,\n message: result.errorMessage || \"An error was returned\",\n data: errorData\n } };\n } else response = { result: handler.requestType.resultSerializer.serializeToJson(result.ok) };\n } catch (exception) {\n if (exception instanceof RequestHandlingError) response = { error: {\n code: exception.code,\n message: exception.message\n } };\n else {\n if (this._logger) this._logger.warn({\n text: `An exception was thrown while handling a request: ${exception}.`,\n exception,\n data: { requestObject: request }\n });\n response = { error: {\n code: ErrorCode.unexpectedServerError,\n message: this.sendExceptionDetails ? `An exception was thrown while handling a request: ${exception}.` : \"Server has thrown an unexpected exception\"\n } };\n }\n }\n return response;\n }\n }\n async handleNotification(request, context) {\n const handler = this._handler.get(request.method);\n if (!handler) {\n for (const h of this._unknownNotificationHandler) h(request);\n if (this._unknownNotificationHandler.size === 0) {\n if (this._logger) this._logger.debug({\n text: `Unhandled notification \"${request.method}\"`,\n data: { requestObject: request }\n });\n }\n return;\n }\n if (handler.kind != \"notification\") {\n if (this._logger) this._logger.debug({\n text: `\"${request.method}\" is registered as request, but was sent as notification.`,\n data: { requestObject: request }\n });\n return;\n }\n const decodeResult = handler.notificationType.paramsSerializer.deserializeFromJson(request.params);\n if (decodeResult.hasErrors) {\n if (this._logger) this._logger.debug({\n text: `Got invalid params: ${decodeResult}`,\n data: {\n requestObject: request,\n errorMessage: decodeResult.errorMessage\n }\n });\n return;\n }\n const val = decodeResult.value;\n for (const handlerFunc of handler.handlers) try {\n handlerFunc(val, context);\n } catch (exception) {\n if (this._logger) this._logger.warn({\n text: `An exception was thrown while handling a notification: ${exception}.`,\n exception,\n data: { requestObject: request }\n });\n }\n }\n registerUnknownNotificationHandler(handler) {\n return setAndDeleteOnDispose(this._unknownNotificationHandler, handler);\n }\n registerRequestHandler(requestType, handler) {\n if (this._handler.get(requestType.method)) throw new Error(`Handler with method \"${requestType.method}\" already registered.`);\n return setAndDeleteOnDispose(this._handler, requestType.method, {\n kind: \"request\",\n requestType,\n handler\n });\n }\n registerNotificationHandler(type, handler) {\n let registeredHandler = this._handler.get(type.method);\n if (!registeredHandler) {\n registeredHandler = {\n kind: \"notification\",\n notificationType: type,\n handlers: /* @__PURE__ */ new Set()\n };\n this._handler.set(type.method, registeredHandler);\n } else {\n if (registeredHandler.kind !== \"notification\") throw new Error(`Method \"${type.method}\" was already registered as request handler.`);\n if (registeredHandler.notificationType !== type) throw new Error(`Method \"${type.method}\" was registered for a different type.`);\n }\n return setAndDeleteOnDispose(registeredHandler.handlers, handler);\n }\n getRegisteredTypes() {\n const result = [];\n for (const h of this._handler.values()) if (h.kind === \"notification\") result.push(h.notificationType);\n else if (h.kind === \"request\") result.push(h.requestType);\n return result;\n }\n async request(requestType, args, context) {\n if (!this.checkChannel(this._requestSender)) throw new Error(\"Impossible\");\n const params = requestType.paramsSerializer.serializeToJson(args);\n assertObjectArrayOrNull(params);\n const response = await this._requestSender.sendRequest({\n method: requestType.method,\n params\n }, context);\n if (\"error\" in response) {\n if (requestType.isOptional && response.error.code === ErrorCode.methodNotFound) return OptionalMethodNotFound;\n let errorData;\n if (response.error.data !== void 0) {\n const deserializationResult = requestType.errorSerializer.deserializeFromJson(response.error.data);\n if (deserializationResult.hasErrors) throw new Error(deserializationResult.errorMessage);\n errorData = deserializationResult.value;\n } else errorData = void 0;\n const error = new RequestHandlingError(response.error.message, errorData, response.error.code);\n this._requestDidErrorEventEmitter.fire({ error });\n throw error;\n } else {\n const result = requestType.resultSerializer.deserializeFromJson(response.result);\n if (result.hasErrors) throw new Error(\"Could not deserialize response: \" + result.errorMessage + `\n\n${JSON.stringify(response, null, 2)}`);\n else return result.value;\n }\n }\n async notify(notificationType, params, context) {\n if (!this.checkChannel(this._requestSender)) throw new Error();\n const encodedParams = notificationType.paramsSerializer.serializeToJson(params);\n assertObjectArrayOrNull(encodedParams);\n this._requestSender.sendNotification({\n method: notificationType.method,\n params: encodedParams\n }, context);\n }\n};\nfunction assertObjectArrayOrNull(val) {\n if (val !== null && Array.isArray(val) && typeof val !== \"object\") throw new Error(\"Invalid value! Only null, array and object is allowed.\");\n}\nvar RequestHandlingError = class RequestHandlingError2 extends Error {\n constructor(message, data, code = ErrorCode.genericApplicationError) {\n super(message);\n __publicField(this, \"data\");\n __publicField(this, \"code\");\n this.data = data;\n this.code = code;\n Object.setPrototypeOf(this, RequestHandlingError2.prototype);\n }\n};\nvar RequestType = class RequestType2 {\n constructor(method, paramsSerializer, resultSerializer, errorSerializer, isOptional = false) {\n __publicField(this, \"method\");\n __publicField(this, \"paramsSerializer\");\n __publicField(this, \"resultSerializer\");\n __publicField(this, \"errorSerializer\");\n __publicField(this, \"isOptional\");\n __publicField(this, \"kind\", \"request\");\n this.method = method;\n this.paramsSerializer = paramsSerializer;\n this.resultSerializer = resultSerializer;\n this.errorSerializer = errorSerializer;\n this.isOptional = isOptional;\n }\n withMethod(method) {\n return new RequestType2(method, this.paramsSerializer, this.resultSerializer, this.errorSerializer);\n }\n optional() {\n return new RequestType2(this.method, this.paramsSerializer, this.resultSerializer, this.errorSerializer, true);\n }\n};\nvar NotificationType = class NotificationType2 {\n constructor(method, paramsSerializer) {\n __publicField(this, \"method\");\n __publicField(this, \"paramsSerializer\");\n __publicField(this, \"kind\", \"notification\");\n this.method = method;\n this.paramsSerializer = paramsSerializer;\n }\n withMethod(method) {\n return new NotificationType2(method, this.paramsSerializer);\n }\n};\nfunction unverifiedRequest(request) {\n return new RequestType((request || {}).method, Serializers.sAny(), Serializers.sAny(), Serializers.sAny());\n}\nfunction unverifiedNotification(request) {\n return new NotificationType((request || {}).method, Serializers.sAny());\n}\nconst IsErrorWrapper = Symbol();\nvar ErrorWrapper = (_b = IsErrorWrapper, _c = class {\n constructor(error) {\n __publicField(this, \"error\");\n __publicField(this, _b);\n this.error = error;\n }\n}, __publicField(_c, \"factory\", (error) => {\n return new _c(error);\n}), _c);\nfunction contract(contractObj) {\n const server = transform(contractObj[\"server\"]);\n const client = transform(contractObj[\"client\"]);\n return new Contract(contractObj.tags || [], server, client);\n}\nfunction transform(requestMap) {\n const result = {};\n for (const [key, req] of Object.entries(requestMap)) {\n const method = req.method ? req.method : key;\n result[key] = req.withMethod(method);\n }\n return result;\n}\nvar Contract = class Contract2 {\n constructor(tags = [], server, client) {\n __publicField(this, \"tags\");\n __publicField(this, \"server\");\n __publicField(this, \"client\");\n this.tags = tags;\n this.server = server;\n this.client = client;\n }\n _onlyDesignTime() {\n return /* @__PURE__ */ new Error(\"This property is not meant to be accessed at runtime\");\n }\n get TContractObject() {\n throw this._onlyDesignTime();\n }\n get TClientInterface() {\n throw this._onlyDesignTime();\n }\n get TServerInterface() {\n throw this._onlyDesignTime();\n }\n get TClientHandler() {\n throw this._onlyDesignTime();\n }\n get TServerHandler() {\n throw this._onlyDesignTime();\n }\n get TTags() {\n throw this._onlyDesignTime();\n }\n getInterface(typedChannel, myContract, otherContract, myInterface) {\n const counterpart = this.buildCounterpart(typedChannel, otherContract);\n const disposable = this.registerHandlers(typedChannel, myContract, myInterface, counterpart);\n return {\n counterpart,\n dispose: () => disposable.dispose()\n };\n }\n buildCounterpart(typedChannel, otherContract) {\n const counterpart = {};\n for (const [key, req] of Object.entries(otherContract)) {\n let method;\n if (req.kind === \"request\") if (req.isOptional) method = async (args, context) => {\n if (args === void 0) args = {};\n try {\n return await typedChannel.request(req, args, context);\n } catch (error) {\n if (error && error.code === ErrorCode.methodNotFound) return OptionalMethodNotFound;\n throw error;\n }\n };\n else method = (args, context) => {\n if (args === void 0) args = {};\n return typedChannel.request(req, args, context);\n };\n else method = (args, context) => {\n if (args === void 0) args = {};\n return typedChannel.notify(req, args, context);\n };\n counterpart[key] = method;\n }\n return counterpart;\n }\n registerHandlers(typedChannel, myContract, myInterface, counterpart) {\n const disposables = [];\n for (const [key, req] of Object.entries(myContract)) if (req.kind === \"request\") {\n let method = myInterface[key];\n if (!method) continue;\n const handler = this.createRequestHandler(counterpart, method);\n disposables.push(typedChannel.registerRequestHandler(req, handler));\n } else {\n const method = myInterface[key];\n if (method) disposables.push(typedChannel.registerNotificationHandler(req, (args, context) => {\n method(args, {\n context,\n counterpart\n });\n }));\n }\n return { dispose: () => disposables.forEach((d) => d.dispose()) };\n }\n createRequestHandler(counterpart, method) {\n return async (args, requestId, listenerContext) => {\n const result = await method(args, {\n context: listenerContext,\n counterpart,\n newErr: ErrorWrapper.factory,\n requestId\n });\n if (result instanceof ErrorWrapper) return result.error;\n return { ok: result };\n };\n }\n /**\n * Gets a server object directly from a stream by constructing a new `TypedChannel`.\n * It also registers the client implementation to the stream.\n * The channel starts listening immediately.\n */\n static getServerFromStream(contract$1, stream, options, clientImplementation) {\n const channel = TypedChannel.fromTransport(stream, options);\n const { server } = contract$1.getServer(channel, clientImplementation);\n channel.startListen();\n return {\n channel,\n server\n };\n }\n /**\n * Gets a client object directly from a stream by constructing a new `TypedChannel`.\n * It also registers the server implementation to the stream.\n * The channel starts listening immediately.\n */\n static registerServerToStream(contract$1, stream, options, serverImplementation) {\n const channel = TypedChannel.fromTransport(stream, options);\n const { client } = contract$1.registerServer(channel, serverImplementation);\n channel.startListen();\n return {\n channel,\n client\n };\n }\n getServer(typedChannel, clientImplementation) {\n const { counterpart, dispose } = this.getInterface(typedChannel, this.client, this.server, clientImplementation);\n return {\n server: counterpart,\n dispose\n };\n }\n registerServer(typedChannel, serverImplementation) {\n const { counterpart, dispose } = this.getInterface(typedChannel, this.server, this.client, serverImplementation);\n return {\n client: counterpart,\n dispose\n };\n }\n withContext() {\n return new Contract2(this.tags, this.server, this.client);\n }\n};\nlet FoldingRangeKind = /* @__PURE__ */ (function(FoldingRangeKind$1) {\n FoldingRangeKind$1[\"Comment\"] = \"comment\";\n FoldingRangeKind$1[\"Imports\"] = \"imports\";\n FoldingRangeKind$1[\"Region\"] = \"region\";\n return FoldingRangeKind$1;\n})({});\nlet SymbolKind = /* @__PURE__ */ (function(SymbolKind$1) {\n SymbolKind$1[SymbolKind$1[\"File\"] = 1] = \"File\";\n SymbolKind$1[SymbolKind$1[\"Module\"] = 2] = \"Module\";\n SymbolKind$1[SymbolKind$1[\"Namespace\"] = 3] = \"Namespace\";\n SymbolKind$1[SymbolKind$1[\"Package\"] = 4] = \"Package\";\n SymbolKind$1[SymbolKind$1[\"Class\"] = 5] = \"Class\";\n SymbolKind$1[SymbolKind$1[\"Method\"] = 6] = \"Method\";\n SymbolKind$1[SymbolKind$1[\"Property\"] = 7] = \"Property\";\n SymbolKind$1[SymbolKind$1[\"Field\"] = 8] = \"Field\";\n SymbolKind$1[SymbolKind$1[\"Constructor\"] = 9] = \"Constructor\";\n SymbolKind$1[SymbolKind$1[\"Enum\"] = 10] = \"Enum\";\n SymbolKind$1[SymbolKind$1[\"Interface\"] = 11] = \"Interface\";\n SymbolKind$1[SymbolKind$1[\"Function\"] = 12] = \"Function\";\n SymbolKind$1[SymbolKind$1[\"Variable\"] = 13] = \"Variable\";\n SymbolKind$1[SymbolKind$1[\"Constant\"] = 14] = \"Constant\";\n SymbolKind$1[SymbolKind$1[\"String\"] = 15] = \"String\";\n SymbolKind$1[SymbolKind$1[\"Number\"] = 16] = \"Number\";\n SymbolKind$1[SymbolKind$1[\"Boolean\"] = 17] = \"Boolean\";\n SymbolKind$1[SymbolKind$1[\"Array\"] = 18] = \"Array\";\n SymbolKind$1[SymbolKind$1[\"Object\"] = 19] = \"Object\";\n SymbolKind$1[SymbolKind$1[\"Key\"] = 20] = \"Key\";\n SymbolKind$1[SymbolKind$1[\"Null\"] = 21] = \"Null\";\n SymbolKind$1[SymbolKind$1[\"EnumMember\"] = 22] = \"EnumMember\";\n SymbolKind$1[SymbolKind$1[\"Struct\"] = 23] = \"Struct\";\n SymbolKind$1[SymbolKind$1[\"Event\"] = 24] = \"Event\";\n SymbolKind$1[SymbolKind$1[\"Operator\"] = 25] = \"Operator\";\n SymbolKind$1[SymbolKind$1[\"TypeParameter\"] = 26] = \"TypeParameter\";\n return SymbolKind$1;\n})({});\nlet SymbolTag = /* @__PURE__ */ (function(SymbolTag$1) {\n SymbolTag$1[SymbolTag$1[\"Deprecated\"] = 1] = \"Deprecated\";\n return SymbolTag$1;\n})({});\nlet InlayHintKind = /* @__PURE__ */ (function(InlayHintKind$1) {\n InlayHintKind$1[InlayHintKind$1[\"Type\"] = 1] = \"Type\";\n InlayHintKind$1[InlayHintKind$1[\"Parameter\"] = 2] = \"Parameter\";\n return InlayHintKind$1;\n})({});\nlet TextDocumentSyncKind = /* @__PURE__ */ (function(TextDocumentSyncKind$1) {\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"None\"] = 0] = \"None\";\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"Full\"] = 1] = \"Full\";\n TextDocumentSyncKind$1[TextDocumentSyncKind$1[\"Incremental\"] = 2] = \"Incremental\";\n return TextDocumentSyncKind$1;\n})({});\nlet CompletionItemKind = /* @__PURE__ */ (function(CompletionItemKind$1) {\n CompletionItemKind$1[CompletionItemKind$1[\"Text\"] = 1] = \"Text\";\n CompletionItemKind$1[CompletionItemKind$1[\"Method\"] = 2] = \"Method\";\n CompletionItemKind$1[CompletionItemKind$1[\"Function\"] = 3] = \"Function\";\n CompletionItemKind$1[CompletionItemKind$1[\"Constructor\"] = 4] = \"Constructor\";\n CompletionItemKind$1[CompletionItemKind$1[\"Field\"] = 5] = \"Field\";\n CompletionItemKind$1[CompletionItemKind$1[\"Variable\"] = 6] = \"Variable\";\n CompletionItemKind$1[CompletionItemKind$1[\"Class\"] = 7] = \"Class\";\n CompletionItemKind$1[CompletionItemKind$1[\"Interface\"] = 8] = \"Interface\";\n CompletionItemKind$1[CompletionItemKind$1[\"Module\"] = 9] = \"Module\";\n CompletionItemKind$1[CompletionItemKind$1[\"Property\"] = 10] = \"Property\";\n CompletionItemKind$1[CompletionItemKind$1[\"Unit\"] = 11] = \"Unit\";\n CompletionItemKind$1[CompletionItemKind$1[\"Value\"] = 12] = \"Value\";\n CompletionItemKind$1[CompletionItemKind$1[\"Enum\"] = 13] = \"Enum\";\n CompletionItemKind$1[CompletionItemKind$1[\"Keyword\"] = 14] = \"Keyword\";\n CompletionItemKind$1[CompletionItemKind$1[\"Snippet\"] = 15] = \"Snippet\";\n CompletionItemKind$1[CompletionItemKind$1[\"Color\"] = 16] = \"Color\";\n CompletionItemKind$1[CompletionItemKind$1[\"File\"] = 17] = \"File\";\n CompletionItemKind$1[CompletionItemKind$1[\"Reference\"] = 18] = \"Reference\";\n CompletionItemKind$1[CompletionItemKind$1[\"Folder\"] = 19] = \"Folder\";\n CompletionItemKind$1[CompletionItemKind$1[\"EnumMember\"] = 20] = \"EnumMember\";\n CompletionItemKind$1[CompletionItemKind$1[\"Constant\"] = 21] = \"Constant\";\n CompletionItemKind$1[CompletionItemKind$1[\"Struct\"] = 22] = \"Struct\";\n CompletionItemKind$1[CompletionItemKind$1[\"Event\"] = 23] = \"Event\";\n CompletionItemKind$1[CompletionItemKind$1[\"Operator\"] = 24] = \"Operator\";\n CompletionItemKind$1[CompletionItemKind$1[\"TypeParameter\"] = 25] = \"TypeParameter\";\n return CompletionItemKind$1;\n})({});\nlet CompletionItemTag = /* @__PURE__ */ (function(CompletionItemTag$1) {\n CompletionItemTag$1[CompletionItemTag$1[\"Deprecated\"] = 1] = \"Deprecated\";\n return CompletionItemTag$1;\n})({});\nlet InsertTextFormat = /* @__PURE__ */ (function(InsertTextFormat$1) {\n InsertTextFormat$1[InsertTextFormat$1[\"PlainText\"] = 1] = \"PlainText\";\n InsertTextFormat$1[InsertTextFormat$1[\"Snippet\"] = 2] = \"Snippet\";\n return InsertTextFormat$1;\n})({});\nlet DocumentHighlightKind = /* @__PURE__ */ (function(DocumentHighlightKind$1) {\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Text\"] = 1] = \"Text\";\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Read\"] = 2] = \"Read\";\n DocumentHighlightKind$1[DocumentHighlightKind$1[\"Write\"] = 3] = \"Write\";\n return DocumentHighlightKind$1;\n})({});\nlet CodeActionKind = /* @__PURE__ */ (function(CodeActionKind$1) {\n CodeActionKind$1[\"Empty\"] = \"\";\n CodeActionKind$1[\"QuickFix\"] = \"quickfix\";\n CodeActionKind$1[\"Refactor\"] = \"refactor\";\n CodeActionKind$1[\"RefactorExtract\"] = \"refactor.extract\";\n CodeActionKind$1[\"RefactorInline\"] = \"refactor.inline\";\n CodeActionKind$1[\"RefactorRewrite\"] = \"refactor.rewrite\";\n CodeActionKind$1[\"Source\"] = \"source\";\n CodeActionKind$1[\"SourceOrganizeImports\"] = \"source.organizeImports\";\n CodeActionKind$1[\"SourceFixAll\"] = \"source.fixAll\";\n return CodeActionKind$1;\n})({});\nlet MarkupKind = /* @__PURE__ */ (function(MarkupKind$1) {\n MarkupKind$1[\"PlainText\"] = \"plaintext\";\n MarkupKind$1[\"Markdown\"] = \"markdown\";\n return MarkupKind$1;\n})({});\nlet DiagnosticSeverity = /* @__PURE__ */ (function(DiagnosticSeverity$1) {\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Error\"] = 1] = \"Error\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Warning\"] = 2] = \"Warning\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Information\"] = 3] = \"Information\";\n DiagnosticSeverity$1[DiagnosticSeverity$1[\"Hint\"] = 4] = \"Hint\";\n return DiagnosticSeverity$1;\n})({});\nlet DiagnosticTag = /* @__PURE__ */ (function(DiagnosticTag$1) {\n DiagnosticTag$1[DiagnosticTag$1[\"Unnecessary\"] = 1] = \"Unnecessary\";\n DiagnosticTag$1[DiagnosticTag$1[\"Deprecated\"] = 2] = \"Deprecated\";\n return DiagnosticTag$1;\n})({});\nlet CompletionTriggerKind = /* @__PURE__ */ (function(CompletionTriggerKind$1) {\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"TriggerCharacter\"] = 2] = \"TriggerCharacter\";\n CompletionTriggerKind$1[CompletionTriggerKind$1[\"TriggerForIncompleteCompletions\"] = 3] = \"TriggerForIncompleteCompletions\";\n return CompletionTriggerKind$1;\n})({});\nlet SignatureHelpTriggerKind = /* @__PURE__ */ (function(SignatureHelpTriggerKind$1) {\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"TriggerCharacter\"] = 2] = \"TriggerCharacter\";\n SignatureHelpTriggerKind$1[SignatureHelpTriggerKind$1[\"ContentChange\"] = 3] = \"ContentChange\";\n return SignatureHelpTriggerKind$1;\n})({});\nlet CodeActionTriggerKind = /* @__PURE__ */ (function(CodeActionTriggerKind$1) {\n CodeActionTriggerKind$1[CodeActionTriggerKind$1[\"Invoked\"] = 1] = \"Invoked\";\n CodeActionTriggerKind$1[CodeActionTriggerKind$1[\"Automatic\"] = 2] = \"Automatic\";\n return CodeActionTriggerKind$1;\n})({});\nlet TokenFormat = /* @__PURE__ */ (function(TokenFormat$1) {\n TokenFormat$1[\"Relative\"] = \"relative\";\n return TokenFormat$1;\n})({});\nvar Capability = class {\n constructor(method) {\n this.method = method;\n }\n};\nconst capabilities = {\n textDocumentImplementation: new Capability(\"textDocument/implementation\"),\n textDocumentTypeDefinition: new Capability(\"textDocument/typeDefinition\"),\n textDocumentDocumentColor: new Capability(\"textDocument/documentColor\"),\n textDocumentColorPresentation: new Capability(\"textDocument/colorPresentation\"),\n textDocumentFoldingRange: new Capability(\"textDocument/foldingRange\"),\n textDocumentDeclaration: new Capability(\"textDocument/declaration\"),\n textDocumentSelectionRange: new Capability(\"textDocument/selectionRange\"),\n textDocumentPrepareCallHierarchy: new Capability(\"textDocument/prepareCallHierarchy\"),\n textDocumentSemanticTokensFull: new Capability(\"textDocument/semanticTokens/full\"),\n textDocumentSemanticTokensFullDelta: new Capability(\"textDocument/semanticTokens/full/delta\"),\n textDocumentLinkedEditingRange: new Capability(\"textDocument/linkedEditingRange\"),\n workspaceWillCreateFiles: new Capability(\"workspace/willCreateFiles\"),\n workspaceWillRenameFiles: new Capability(\"workspace/willRenameFiles\"),\n workspaceWillDeleteFiles: new Capability(\"workspace/willDeleteFiles\"),\n textDocumentMoniker: new Capability(\"textDocument/moniker\"),\n textDocumentPrepareTypeHierarchy: new Capability(\"textDocument/prepareTypeHierarchy\"),\n textDocumentInlineValue: new Capability(\"textDocument/inlineValue\"),\n textDocumentInlayHint: new Capability(\"textDocument/inlayHint\"),\n textDocumentDiagnostic: new Capability(\"textDocument/diagnostic\"),\n textDocumentInlineCompletion: new Capability(\"textDocument/inlineCompletion\"),\n textDocumentWillSaveWaitUntil: new Capability(\"textDocument/willSaveWaitUntil\"),\n textDocumentCompletion: new Capability(\"textDocument/completion\"),\n textDocumentHover: new Capability(\"textDocument/hover\"),\n textDocumentSignatureHelp: new Capability(\"textDocument/signatureHelp\"),\n textDocumentDefinition: new Capability(\"textDocument/definition\"),\n textDocumentReferences: new Capability(\"textDocument/references\"),\n textDocumentDocumentHighlight: new Capability(\"textDocument/documentHighlight\"),\n textDocumentDocumentSymbol: new Capability(\"textDocument/documentSymbol\"),\n textDocumentCodeAction: new Capability(\"textDocument/codeAction\"),\n workspaceSymbol: new Capability(\"workspace/symbol\"),\n textDocumentCodeLens: new Capability(\"textDocument/codeLens\"),\n textDocumentDocumentLink: new Capability(\"textDocument/documentLink\"),\n textDocumentFormatting: new Capability(\"textDocument/formatting\"),\n textDocumentRangeFormatting: new Capability(\"textDocument/rangeFormatting\"),\n textDocumentRangesFormatting: new Capability(\"textDocument/rangesFormatting\"),\n textDocumentOnTypeFormatting: new Capability(\"textDocument/onTypeFormatting\"),\n textDocumentRename: new Capability(\"textDocument/rename\"),\n workspaceExecuteCommand: new Capability(\"workspace/executeCommand\"),\n workspaceDidCreateFiles: new Capability(\"workspace/didCreateFiles\"),\n workspaceDidRenameFiles: new Capability(\"workspace/didRenameFiles\"),\n workspaceDidDeleteFiles: new Capability(\"workspace/didDeleteFiles\"),\n workspaceDidChangeConfiguration: new Capability(\"workspace/didChangeConfiguration\"),\n textDocumentDidOpen: new Capability(\"textDocument/didOpen\"),\n textDocumentDidChange: new Capability(\"textDocument/didChange\"),\n textDocumentDidClose: new Capability(\"textDocument/didClose\"),\n textDocumentDidSave: new Capability(\"textDocument/didSave\"),\n textDocumentWillSave: new Capability(\"textDocument/willSave\"),\n workspaceDidChangeWatchedFiles: new Capability(\"workspace/didChangeWatchedFiles\")\n};\nconst api = contract({\n server: {\n textDocumentImplementation: unverifiedRequest({ method: \"textDocument/implementation\" }),\n textDocumentTypeDefinition: unverifiedRequest({ method: \"textDocument/typeDefinition\" }),\n textDocumentDocumentColor: unverifiedRequest({ method: \"textDocument/documentColor\" }),\n textDocumentColorPresentation: unverifiedRequest({ method: \"textDocument/colorPresentation\" }),\n textDocumentFoldingRange: unverifiedRequest({ method: \"textDocument/foldingRange\" }),\n textDocumentDeclaration: unverifiedRequest({ method: \"textDocument/declaration\" }),\n textDocumentSelectionRange: unverifiedRequest({ method: \"textDocument/selectionRange\" }),\n textDocumentPrepareCallHierarchy: unverifiedRequest({ method: \"textDocument/prepareCallHierarchy\" }),\n callHierarchyIncomingCalls: unverifiedRequest({ method: \"callHierarchy/incomingCalls\" }),\n callHierarchyOutgoingCalls: unverifiedRequest({ method: \"callHierarchy/outgoingCalls\" }),\n textDocumentSemanticTokensFull: unverifiedRequest({ method: \"textDocument/semanticTokens/full\" }),\n textDocumentSemanticTokensFullDelta: unverifiedRequest({ method: \"textDocument/semanticTokens/full/delta\" }),\n textDocumentSemanticTokensRange: unverifiedRequest({ method: \"textDocument/semanticTokens/range\" }),\n textDocumentLinkedEditingRange: unverifiedRequest({ method: \"textDocument/linkedEditingRange\" }),\n workspaceWillCreateFiles: unverifiedRequest({ method: \"workspace/willCreateFiles\" }),\n workspaceWillRenameFiles: unverifiedRequest({ method: \"workspace/willRenameFiles\" }),\n workspaceWillDeleteFiles: unverifiedRequest({ method: \"workspace/willDeleteFiles\" }),\n textDocumentMoniker: unverifiedRequest({ method: \"textDocument/moniker\" }),\n textDocumentPrepareTypeHierarchy: unverifiedRequest({ method: \"textDocument/prepareTypeHierarchy\" }),\n typeHierarchySupertypes: unverifiedRequest({ method: \"typeHierarchy/supertypes\" }),\n typeHierarchySubtypes: unverifiedRequest({ method: \"typeHierarchy/subtypes\" }),\n textDocumentInlineValue: unverifiedRequest({ method: \"textDocument/inlineValue\" }),\n textDocumentInlayHint: unverifiedRequest({ method: \"textDocument/inlayHint\" }),\n inlayHintResolve: unverifiedRequest({ method: \"inlayHint/resolve\" }),\n textDocumentDiagnostic: unverifiedRequest({ method: \"textDocument/diagnostic\" }),\n workspaceDiagnostic: unverifiedRequest({ method: \"workspace/diagnostic\" }),\n textDocumentInlineCompletion: unverifiedRequest({ method: \"textDocument/inlineCompletion\" }),\n initialize: unverifiedRequest({ method: \"initialize\" }),\n shutdown: unverifiedRequest({ method: \"shutdown\" }),\n textDocumentWillSaveWaitUntil: unverifiedRequest({ method: \"textDocument/willSaveWaitUntil\" }),\n textDocumentCompletion: unverifiedRequest({ method: \"textDocument/completion\" }),\n completionItemResolve: unverifiedRequest({ method: \"completionItem/resolve\" }),\n textDocumentHover: unverifiedRequest({ method: \"textDocument/hover\" }),\n textDocumentSignatureHelp: unverifiedRequest({ method: \"textDocument/signatureHelp\" }),\n textDocumentDefinition: unverifiedRequest({ method: \"textDocument/definition\" }),\n textDocumentReferences: unverifiedRequest({ method: \"textDocument/references\" }),\n textDocumentDocumentHighlight: unverifiedRequest({ method: \"textDocument/documentHighlight\" }),\n textDocumentDocumentSymbol: unverifiedRequest({ method: \"textDocument/documentSymbol\" }),\n textDocumentCodeAction: unverifiedRequest({ method: \"textDocument/codeAction\" }),\n codeActionResolve: unverifiedRequest({ method: \"codeAction/resolve\" }),\n workspaceSymbol: unverifiedRequest({ method: \"workspace/symbol\" }),\n workspaceSymbolResolve: unverifiedRequest({ method: \"workspaceSymbol/resolve\" }),\n textDocumentCodeLens: unverifiedRequest({ method: \"textDocument/codeLens\" }),\n codeLensResolve: unverifiedRequest({ method: \"codeLens/resolve\" }),\n textDocumentDocumentLink: unverifiedRequest({ method: \"textDocument/documentLink\" }),\n documentLinkResolve: unverifiedRequest({ method: \"documentLink/resolve\" }),\n textDocumentFormatting: unverifiedRequest({ method: \"textDocument/formatting\" }),\n textDocumentRangeFormatting: unverifiedRequest({ method: \"textDocument/rangeFormatting\" }),\n textDocumentRangesFormatting: unverifiedRequest({ method: \"textDocument/rangesFormatting\" }),\n textDocumentOnTypeFormatting: unverifiedRequest({ method: \"textDocument/onTypeFormatting\" }),\n textDocumentRename: unverifiedRequest({ method: \"textDocument/rename\" }),\n textDocumentPrepareRename: unverifiedRequest({ method: \"textDocument/prepareRename\" }),\n workspaceExecuteCommand: unverifiedRequest({ method: \"workspace/executeCommand\" }),\n workspaceDidChangeWorkspaceFolders: unverifiedNotification({ method: \"workspace/didChangeWorkspaceFolders\" }),\n windowWorkDoneProgressCancel: unverifiedNotification({ method: \"window/workDoneProgress/cancel\" }),\n workspaceDidCreateFiles: unverifiedNotification({ method: \"workspace/didCreateFiles\" }),\n workspaceDidRenameFiles: unverifiedNotification({ method: \"workspace/didRenameFiles\" }),\n workspaceDidDeleteFiles: unverifiedNotification({ method: \"workspace/didDeleteFiles\" }),\n notebookDocumentDidOpen: unverifiedNotification({ method: \"notebookDocument/didOpen\" }),\n notebookDocumentDidChange: unverifiedNotification({ method: \"notebookDocument/didChange\" }),\n notebookDocumentDidSave: unverifiedNotification({ method: \"notebookDocument/didSave\" }),\n notebookDocumentDidClose: unverifiedNotification({ method: \"notebookDocument/didClose\" }),\n initialized: unverifiedNotification({ method: \"initialized\" }),\n exit: unverifiedNotification({ method: \"exit\" }),\n workspaceDidChangeConfiguration: unverifiedNotification({ method: \"workspace/didChangeConfiguration\" }),\n textDocumentDidOpen: unverifiedNotification({ method: \"textDocument/didOpen\" }),\n textDocumentDidChange: unverifiedNotification({ method: \"textDocument/didChange\" }),\n textDocumentDidClose: unverifiedNotification({ method: \"textDocument/didClose\" }),\n textDocumentDidSave: unverifiedNotification({ method: \"textDocument/didSave\" }),\n textDocumentWillSave: unverifiedNotification({ method: \"textDocument/willSave\" }),\n workspaceDidChangeWatchedFiles: unverifiedNotification({ method: \"workspace/didChangeWatchedFiles\" }),\n setTrace: unverifiedNotification({ method: \"$/setTrace\" }),\n cancelRequest: unverifiedNotification({ method: \"$/cancelRequest\" }),\n progress: unverifiedNotification({ method: \"$/progress\" })\n },\n client: {\n workspaceWorkspaceFolders: unverifiedRequest({ method: \"workspace/workspaceFolders\" }).optional(),\n workspaceConfiguration: unverifiedRequest({ method: \"workspace/configuration\" }).optional(),\n workspaceFoldingRangeRefresh: unverifiedRequest({ method: \"workspace/foldingRange/refresh\" }).optional(),\n windowWorkDoneProgressCreate: unverifiedRequest({ method: \"window/workDoneProgress/create\" }).optional(),\n workspaceSemanticTokensRefresh: unverifiedRequest({ method: \"workspace/semanticTokens/refresh\" }).optional(),\n windowShowDocument: unverifiedRequest({ method: \"window/showDocument\" }).optional(),\n workspaceInlineValueRefresh: unverifiedRequest({ method: \"workspace/inlineValue/refresh\" }).optional(),\n workspaceInlayHintRefresh: unverifiedRequest({ method: \"workspace/inlayHint/refresh\" }).optional(),\n workspaceDiagnosticRefresh: unverifiedRequest({ method: \"workspace/diagnostic/refresh\" }).optional(),\n clientRegisterCapability: unverifiedRequest({ method: \"client/registerCapability\" }).optional(),\n clientUnregisterCapability: unverifiedRequest({ method: \"client/unregisterCapability\" }).optional(),\n windowShowMessageRequest: unverifiedRequest({ method: \"window/showMessageRequest\" }).optional(),\n workspaceCodeLensRefresh: unverifiedRequest({ method: \"workspace/codeLens/refresh\" }).optional(),\n workspaceApplyEdit: unverifiedRequest({ method: \"workspace/applyEdit\" }).optional(),\n windowShowMessage: unverifiedNotification({ method: \"window/showMessage\" }),\n windowLogMessage: unverifiedNotification({ method: \"window/logMessage\" }),\n telemetryEvent: unverifiedNotification({ method: \"telemetry/event\" }),\n textDocumentPublishDiagnostics: unverifiedNotification({ method: \"textDocument/publishDiagnostics\" }),\n logTrace: unverifiedNotification({ method: \"$/logTrace\" }),\n cancelRequest: unverifiedNotification({ method: \"$/cancelRequest\" }),\n progress: unverifiedNotification({ method: \"$/progress\" })\n }\n});\nfunction assertTargetTextModel(input, expectedTextModel) {\n if (input.textModel !== expectedTextModel) throw new Error(`Expected text model to be ${expectedTextModel}, but got ${input.textModel}`);\n return input;\n}\nvar Disposable = (_d = class {\n constructor() {\n __publicField(this, \"_store\", new DisposableStore());\n }\n dispose() {\n this._store.dispose();\n }\n _register(t) {\n if (t === this) throw new Error(\"Cannot register a disposable on itself!\");\n return this._store.add(t);\n }\n}, __publicField(_d, \"None\", Object.freeze({ dispose() {\n} })), _d);\nvar DisposableStore = (_e = class {\n constructor() {\n __publicField(this, \"_toDispose\", /* @__PURE__ */ new Set());\n __publicField(this, \"_isDisposed\", false);\n }\n dispose() {\n if (this._isDisposed) return;\n this._isDisposed = true;\n this.clear();\n }\n clear() {\n if (this._toDispose.size === 0) return;\n try {\n for (const item of this._toDispose) item.dispose();\n } finally {\n this._toDispose.clear();\n }\n }\n add(t) {\n if (!t) return t;\n if (t === this) throw new Error(\"Cannot register a disposable on itself!\");\n if (this._isDisposed) {\n if (!_e.DISABLE_DISPOSED_WARNING) console.warn((/* @__PURE__ */ new Error(\"Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!\")).stack);\n } else this._toDispose.add(t);\n return t;\n }\n}, __publicField(_e, \"DISABLE_DISPOSED_WARNING\", false), _e);\nconst lspCodeActionKindToMonacoCodeActionKind = /* @__PURE__ */ new Map([\n [CodeActionKind.Empty, \"\"],\n [CodeActionKind.QuickFix, \"quickfix\"],\n [CodeActionKind.Refactor, \"refactor\"],\n [CodeActionKind.RefactorExtract, \"refactor.extract\"],\n [CodeActionKind.RefactorInline, \"refactor.inline\"],\n [CodeActionKind.RefactorRewrite, \"refactor.rewrite\"],\n [CodeActionKind.Source, \"source\"],\n [CodeActionKind.SourceOrganizeImports, \"source.organizeImports\"],\n [CodeActionKind.SourceFixAll, \"source.fixAll\"]\n]);\nfunction toMonacoCodeActionKind(kind) {\n if (!kind) return;\n return lspCodeActionKindToMonacoCodeActionKind.get(kind) ?? kind;\n}\nconst monacoCodeActionTriggerTypeToLspCodeActionTriggerKind = /* @__PURE__ */ new Map([[languages.CodeActionTriggerType.Invoke, CodeActionTriggerKind.Invoked], [languages.CodeActionTriggerType.Auto, CodeActionTriggerKind.Automatic]]);\nfunction toLspCodeActionTriggerKind(monacoTrigger) {\n return monacoCodeActionTriggerTypeToLspCodeActionTriggerKind.get(monacoTrigger) ?? CodeActionTriggerKind.Invoked;\n}\nconst lspCompletionItemKindToMonacoCompletionItemKind = /* @__PURE__ */ new Map([\n [CompletionItemKind.Text, languages.CompletionItemKind.Text],\n [CompletionItemKind.Method, languages.CompletionItemKind.Method],\n [CompletionItemKind.Function, languages.CompletionItemKind.Function],\n [CompletionItemKind.Constructor, languages.CompletionItemKind.Constructor],\n [CompletionItemKind.Field, languages.CompletionItemKind.Field],\n [CompletionItemKind.Variable, languages.CompletionItemKind.Variable],\n [CompletionItemKind.Class, languages.CompletionItemKind.Class],\n [CompletionItemKind.Interface, languages.CompletionItemKind.Interface],\n [CompletionItemKind.Module, languages.CompletionItemKind.Module],\n [CompletionItemKind.Property, languages.CompletionItemKind.Property],\n [CompletionItemKind.Unit, languages.CompletionItemKind.Unit],\n [CompletionItemKind.Value, languages.CompletionItemKind.Value],\n [CompletionItemKind.Enum, languages.CompletionItemKind.Enum],\n [CompletionItemKind.Keyword, languages.CompletionItemKind.Keyword],\n [CompletionItemKind.Snippet, languages.CompletionItemKind.Snippet],\n [CompletionItemKind.Color, languages.CompletionItemKind.Color],\n [CompletionItemKind.File, languages.CompletionItemKind.File],\n [CompletionItemKind.Reference, languages.CompletionItemKind.Reference],\n [CompletionItemKind.Folder, languages.CompletionItemKind.Folder],\n [CompletionItemKind.EnumMember, languages.CompletionItemKind.EnumMember],\n [CompletionItemKind.Constant, languages.CompletionItemKind.Constant],\n [CompletionItemKind.Struct, languages.CompletionItemKind.Struct],\n [CompletionItemKind.Event, languages.CompletionItemKind.Event],\n [CompletionItemKind.Operator, languages.CompletionItemKind.Operator],\n [CompletionItemKind.TypeParameter, languages.CompletionItemKind.TypeParameter]\n]);\nfunction toMonacoCompletionItemKind(kind) {\n if (!kind) return languages.CompletionItemKind.Text;\n return lspCompletionItemKindToMonacoCompletionItemKind.get(kind) ?? languages.CompletionItemKind.Text;\n}\nconst lspCompletionItemTagToMonacoCompletionItemTag = /* @__PURE__ */ new Map([[CompletionItemTag.Deprecated, languages.CompletionItemTag.Deprecated]]);\nfunction toMonacoCompletionItemTag(tag) {\n return lspCompletionItemTagToMonacoCompletionItemTag.get(tag);\n}\nconst monacoCompletionTriggerKindToLspCompletionTriggerKind = /* @__PURE__ */ new Map([\n [languages.CompletionTriggerKind.Invoke, CompletionTriggerKind.Invoked],\n [languages.CompletionTriggerKind.TriggerCharacter, CompletionTriggerKind.TriggerCharacter],\n [languages.CompletionTriggerKind.TriggerForIncompleteCompletions, CompletionTriggerKind.TriggerForIncompleteCompletions]\n]);\nfunction toLspCompletionTriggerKind(monacoKind) {\n return monacoCompletionTriggerKindToLspCompletionTriggerKind.get(monacoKind) ?? CompletionTriggerKind.Invoked;\n}\nconst lspInsertTextFormatToMonacoInsertTextRules = /* @__PURE__ */ new Map([[InsertTextFormat.Snippet, languages.CompletionItemInsertTextRule.InsertAsSnippet]]);\nfunction toMonacoInsertTextRules(format) {\n if (!format) return;\n return lspInsertTextFormatToMonacoInsertTextRules.get(format);\n}\nconst lspSymbolKindToMonacoSymbolKind = /* @__PURE__ */ new Map([\n [SymbolKind.File, languages.SymbolKind.File],\n [SymbolKind.Module, languages.SymbolKind.Module],\n [SymbolKind.Namespace, languages.SymbolKind.Namespace],\n [SymbolKind.Package, languages.SymbolKind.Package],\n [SymbolKind.Class, languages.SymbolKind.Class],\n [SymbolKind.Method, languages.SymbolKind.Method],\n [SymbolKind.Property, languages.SymbolKind.Property],\n [SymbolKind.Field, languages.SymbolKind.Field],\n [SymbolKind.Constructor, languages.SymbolKind.Constructor],\n [SymbolKind.Enum, languages.SymbolKind.Enum],\n [SymbolKind.Interface, languages.SymbolKind.Interface],\n [SymbolKind.Function, languages.SymbolKind.Function],\n [SymbolKind.Variable, languages.SymbolKind.Variable],\n [SymbolKind.Constant, languages.SymbolKind.Constant],\n [SymbolKind.String, languages.SymbolKind.String],\n [SymbolKind.Number, languages.SymbolKind.Number],\n [SymbolKind.Boolean, languages.SymbolKind.Boolean],\n [SymbolKind.Array, languages.SymbolKind.Array],\n [SymbolKind.Object, languages.SymbolKind.Object],\n [SymbolKind.Key, languages.SymbolKind.Key],\n [SymbolKind.Null, languages.SymbolKind.Null],\n [SymbolKind.EnumMember, languages.SymbolKind.EnumMember],\n [SymbolKind.Struct, languages.SymbolKind.Struct],\n [SymbolKind.Event, languages.SymbolKind.Event],\n [SymbolKind.Operator, languages.SymbolKind.Operator],\n [SymbolKind.TypeParameter, languages.SymbolKind.TypeParameter]\n]);\nfunction toMonacoSymbolKind(kind) {\n return lspSymbolKindToMonacoSymbolKind.get(kind) ?? languages.SymbolKind.File;\n}\nconst lspSymbolTagToMonacoSymbolTag = /* @__PURE__ */ new Map([[SymbolTag.Deprecated, languages.SymbolTag.Deprecated]]);\nfunction toMonacoSymbolTag(tag) {\n return lspSymbolTagToMonacoSymbolTag.get(tag);\n}\nconst lspDocumentHighlightKindToMonacoDocumentHighlightKind = /* @__PURE__ */ new Map([\n [DocumentHighlightKind.Text, languages.DocumentHighlightKind.Text],\n [DocumentHighlightKind.Read, languages.DocumentHighlightKind.Read],\n [DocumentHighlightKind.Write, languages.DocumentHighlightKind.Write]\n]);\nfunction toMonacoDocumentHighlightKind(kind) {\n if (!kind) return languages.DocumentHighlightKind.Text;\n return lspDocumentHighlightKindToMonacoDocumentHighlightKind.get(kind) ?? languages.DocumentHighlightKind.Text;\n}\nconst lspFoldingRangeKindToMonacoFoldingRangeKind = /* @__PURE__ */ new Map([\n [FoldingRangeKind.Comment, languages.FoldingRangeKind.Comment],\n [FoldingRangeKind.Imports, languages.FoldingRangeKind.Imports],\n [FoldingRangeKind.Region, languages.FoldingRangeKind.Region]\n]);\nfunction toMonacoFoldingRangeKind(kind) {\n if (!kind) return;\n return lspFoldingRangeKindToMonacoFoldingRangeKind.get(kind);\n}\nconst monacoMarkerSeverityToLspDiagnosticSeverity = /* @__PURE__ */ new Map([\n [MarkerSeverity.Error, DiagnosticSeverity.Error],\n [MarkerSeverity.Warning, DiagnosticSeverity.Warning],\n [MarkerSeverity.Info, DiagnosticSeverity.Information],\n [MarkerSeverity.Hint, DiagnosticSeverity.Hint]\n]);\nfunction toLspDiagnosticSeverity(severity) {\n return monacoMarkerSeverityToLspDiagnosticSeverity.get(severity) ?? DiagnosticSeverity.Error;\n}\nconst lspDiagnosticSeverityToMonacoMarkerSeverity = /* @__PURE__ */ new Map([\n [DiagnosticSeverity.Error, MarkerSeverity.Error],\n [DiagnosticSeverity.Warning, MarkerSeverity.Warning],\n [DiagnosticSeverity.Information, MarkerSeverity.Info],\n [DiagnosticSeverity.Hint, MarkerSeverity.Hint]\n]);\nfunction toMonacoDiagnosticSeverity(severity) {\n if (!severity) return MarkerSeverity.Error;\n return lspDiagnosticSeverityToMonacoMarkerSeverity.get(severity) ?? MarkerSeverity.Error;\n}\nconst lspDiagnosticTagToMonacoMarkerTag = /* @__PURE__ */ new Map([[DiagnosticTag.Unnecessary, MarkerTag.Unnecessary], [DiagnosticTag.Deprecated, MarkerTag.Deprecated]]);\nfunction toMonacoDiagnosticTag(tag) {\n return lspDiagnosticTagToMonacoMarkerTag.get(tag);\n}\nconst monacoSignatureHelpTriggerKindToLspSignatureHelpTriggerKind = /* @__PURE__ */ new Map([\n [languages.SignatureHelpTriggerKind.Invoke, SignatureHelpTriggerKind.Invoked],\n [languages.SignatureHelpTriggerKind.TriggerCharacter, SignatureHelpTriggerKind.TriggerCharacter],\n [languages.SignatureHelpTriggerKind.ContentChange, SignatureHelpTriggerKind.ContentChange]\n]);\nfunction toLspSignatureHelpTriggerKind(monacoKind) {\n return monacoSignatureHelpTriggerKindToLspSignatureHelpTriggerKind.get(monacoKind) ?? SignatureHelpTriggerKind.Invoked;\n}\nfunction toMonacoCommand(command) {\n if (!command) return;\n return {\n id: command.command,\n title: command.title,\n arguments: command.arguments\n };\n}\nconst lspInlayHintKindToMonacoInlayHintKind = /* @__PURE__ */ new Map([[InlayHintKind.Type, languages.InlayHintKind.Type], [InlayHintKind.Parameter, languages.InlayHintKind.Parameter]]);\nfunction toMonacoInlayHintKind(kind) {\n if (!kind) return languages.InlayHintKind.Type;\n return lspInlayHintKindToMonacoInlayHintKind.get(kind) ?? languages.InlayHintKind.Type;\n}\nfunction toMonacoLocation(location, client) {\n if (\"targetUri\" in location) {\n const translatedRange = client.bridge.translateBackRange({ uri: location.targetUri }, location.targetRange);\n return {\n uri: translatedRange.textModel.uri,\n range: translatedRange.range,\n originSelectionRange: location.originSelectionRange ? client.bridge.translateBackRange({ uri: location.targetUri }, location.originSelectionRange).range : void 0,\n targetSelectionRange: location.targetSelectionRange ? client.bridge.translateBackRange({ uri: location.targetUri }, location.targetSelectionRange).range : void 0\n };\n } else {\n const translatedRange = client.bridge.translateBackRange({ uri: location.uri }, location.range);\n return {\n uri: translatedRange.textModel.uri,\n range: translatedRange.range\n };\n }\n}\nfunction toMonacoLanguageSelector(s) {\n if (!s || s.length === 0) return { language: \"*\" };\n return s.map((s$1) => {\n if (\"notebook\" in s$1) if (typeof s$1.notebook === \"string\") return {\n notebookType: s$1.notebook,\n language: s$1.language\n };\n else return {\n notebookType: s$1.notebook.notebookType,\n language: s$1.language,\n pattern: s$1.notebook.pattern,\n scheme: s$1.notebook.scheme\n };\n else return {\n language: s$1.language,\n pattern: s$1.pattern,\n scheme: s$1.scheme\n };\n });\n}\nfunction matchesDocumentSelector(model, selector) {\n if (!selector) return true;\n const languageId = model.getLanguageId();\n model.uri.toString(true);\n if (!selector || selector.length === 0) return true;\n for (const filter of selector) {\n if (filter.language && filter.language !== \"*\" && filter.language !== languageId) continue;\n return true;\n }\n return false;\n}\nfunction toDiagnosticMarker(diagnostic) {\n const marker = {\n severity: toMonacoDiagnosticSeverity(diagnostic.severity),\n startLineNumber: diagnostic.range.start.line + 1,\n startColumn: diagnostic.range.start.character + 1,\n endLineNumber: diagnostic.range.end.line + 1,\n endColumn: diagnostic.range.end.character + 1,\n message: diagnostic.message,\n source: diagnostic.source,\n code: typeof diagnostic.code === \"string\" ? diagnostic.code : diagnostic.code?.toString()\n };\n if (diagnostic.tags) marker.tags = diagnostic.tags.map((tag) => toMonacoDiagnosticTag(tag)).filter((tag) => tag !== void 0);\n if (diagnostic.relatedInformation) marker.relatedInformation = diagnostic.relatedInformation.map((info) => ({\n resource: Uri.parse(info.location.uri),\n startLineNumber: info.location.range.start.line + 1,\n startColumn: info.location.range.start.character + 1,\n endLineNumber: info.location.range.end.line + 1,\n endColumn: info.location.range.end.character + 1,\n message: info.message\n }));\n return marker;\n}\nvar LspCompletionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { completion: {\n dynamicRegistration: true,\n contextSupport: true,\n completionItemKind: { valueSet: Array.from(lspCompletionItemKindToMonacoCompletionItemKind.keys()) },\n completionItem: {\n tagSupport: { valueSet: Array.from(lspCompletionItemTagToMonacoCompletionItemTag.keys()) },\n commitCharactersSupport: true,\n deprecatedSupport: true,\n preselectSupport: true\n }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCompletion, true, (capability) => {\n return languages.registerCompletionItemProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCompletionProvider(this._connection, capability));\n }));\n }\n};\nvar LspCompletionProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"resolveCompletionItem\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveCompletionItem = async (item, token) => {\n applyLspCompletionItemProperties(item, await this._client.server.completionItemResolve(item._lspItem), this._client.bridge, item._translated, item._model);\n return item;\n };\n }\n get triggerCharacters() {\n return this._capabilities.triggerCharacters;\n }\n async provideCompletionItems(model, position, context, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentCompletion({\n textDocument: translated.textDocument,\n position: translated.position,\n context: context.triggerCharacter ? {\n triggerKind: toLspCompletionTriggerKind(context.triggerKind),\n triggerCharacter: context.triggerCharacter\n } : void 0\n });\n if (!result) return { suggestions: [] };\n return { suggestions: (Array.isArray(result) ? result : result.items).map((i) => {\n return {\n ...convertLspToMonacoCompletionItem(i, this._client.bridge, translated, model, position),\n _lspItem: i,\n _translated: translated,\n _model: model\n };\n }) };\n }\n};\nfunction convertLspToMonacoCompletionItem(lspItem, bridge, translated, model, position) {\n let insertText = lspItem.insertText || lspItem.label;\n let range = void 0;\n if (lspItem.textEdit) if (\"range\" in lspItem.textEdit) {\n insertText = lspItem.textEdit.newText;\n range = assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.range), model).range;\n } else {\n insertText = lspItem.textEdit.newText;\n range = {\n insert: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.insert), model).range,\n replace: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, lspItem.textEdit.replace), model).range\n };\n }\n if (!range) range = Range.fromPositions(position, position);\n const item = {\n label: lspItem.label,\n kind: toMonacoCompletionItemKind(lspItem.kind),\n insertText,\n sortText: lspItem.sortText,\n filterText: lspItem.filterText,\n preselect: lspItem.preselect,\n commitCharacters: lspItem.commitCharacters,\n range\n };\n applyLspCompletionItemProperties(item, lspItem, bridge, translated, model);\n return item;\n}\nfunction applyLspCompletionItemProperties(monacoItem, lspItem, bridge, translated, targetModel) {\n if (lspItem.detail !== void 0) monacoItem.detail = lspItem.detail;\n if (lspItem.documentation !== void 0) monacoItem.documentation = toMonacoDocumentation$1(lspItem.documentation);\n if (lspItem.insertTextFormat !== void 0) monacoItem.insertTextRules = toMonacoInsertTextRules(lspItem.insertTextFormat);\n if (lspItem.tags && lspItem.tags.length > 0) monacoItem.tags = lspItem.tags.map(toMonacoCompletionItemTag).filter((tag) => tag !== void 0);\n if (lspItem.additionalTextEdits && lspItem.additionalTextEdits.length > 0) monacoItem.additionalTextEdits = lspItem.additionalTextEdits.map((edit) => ({\n range: assertTargetTextModel(bridge.translateBackRange(translated.textDocument, edit.range), targetModel).range,\n text: edit.newText\n }));\n if (lspItem.command) monacoItem.command = toMonacoCommand(lspItem.command);\n}\nfunction toMonacoDocumentation$1(doc) {\n if (!doc) return void 0;\n if (typeof doc === \"string\") return doc;\n return {\n value: doc.value,\n isTrusted: true\n };\n}\nvar LspHoverFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { hover: {\n dynamicRegistration: true,\n contentFormat: [MarkupKind.Markdown, MarkupKind.PlainText]\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentHover, true, (capability) => {\n return languages.registerHoverProvider(toMonacoLanguageSelector(capability.documentSelector), new LspHoverProvider(this._connection, capability));\n }));\n }\n};\nvar LspHoverProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideHover(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentHover({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result || !result.contents) return null;\n return {\n contents: toMonacoMarkdownString(result.contents),\n range: result.range ? this._client.bridge.translateBackRange(translated.textDocument, result.range).range : void 0\n };\n }\n};\nfunction toMonacoMarkdownString(contents) {\n if (Array.isArray(contents)) return contents.map((c) => toSingleMarkdownString(c));\n return [toSingleMarkdownString(contents)];\n}\nfunction toSingleMarkdownString(content) {\n if (typeof content === \"string\") return {\n value: content,\n isTrusted: true\n };\n if (\"kind\" in content) return {\n value: content.value,\n isTrusted: true\n };\n return {\n value: `\\`\\`\\`${content.language}\n${content.value}\n\\`\\`\\``,\n isTrusted: true\n };\n}\nvar LspSignatureHelpFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { signatureHelp: {\n dynamicRegistration: true,\n contextSupport: true,\n signatureInformation: {\n documentationFormat: [MarkupKind.Markdown, MarkupKind.PlainText],\n parameterInformation: { labelOffsetSupport: true },\n activeParameterSupport: true\n }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSignatureHelp, true, (capability) => {\n return languages.registerSignatureHelpProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSignatureHelpProvider(this._connection, capability));\n }));\n }\n};\nvar LspSignatureHelpProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"signatureHelpTriggerCharacters\");\n __publicField(this, \"signatureHelpRetriggerCharacters\");\n this._client = _client;\n this._capabilities = _capabilities;\n this.signatureHelpTriggerCharacters = _capabilities.triggerCharacters;\n this.signatureHelpRetriggerCharacters = _capabilities.retriggerCharacters;\n }\n async provideSignatureHelp(model, position, token, context) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentSignatureHelp({\n textDocument: translated.textDocument,\n position: translated.position,\n context: {\n triggerKind: toLspSignatureHelpTriggerKind(context.triggerKind),\n triggerCharacter: context.triggerCharacter,\n isRetrigger: context.isRetrigger\n }\n });\n if (!result) return null;\n return {\n value: {\n signatures: result.signatures.map((sig) => ({\n label: sig.label,\n documentation: toMonacoDocumentation(sig.documentation),\n parameters: sig.parameters?.map((param) => ({\n label: param.label,\n documentation: toMonacoDocumentation(param.documentation)\n })) || [],\n activeParameter: sig.activeParameter\n })),\n activeSignature: result.activeSignature || 0,\n activeParameter: result.activeParameter || 0\n },\n dispose: () => {\n }\n };\n }\n};\nfunction toMonacoDocumentation(doc) {\n if (!doc) return void 0;\n if (typeof doc === \"string\") return doc;\n return {\n value: doc.value,\n isTrusted: true\n };\n}\nvar LspDefinitionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { definition: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDefinition, true, (capability) => {\n return languages.registerDefinitionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDefinitionProvider(this._connection, capability));\n }));\n }\n};\nvar LspDefinitionProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDefinition(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDefinition({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspDeclarationFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { declaration: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDeclaration, true, (capability) => {\n return languages.registerDeclarationProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDeclarationProvider(this._connection, capability));\n }));\n }\n};\nvar LspDeclarationProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDeclaration(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDeclaration({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspTypeDefinitionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { typeDefinition: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentTypeDefinition, true, (capability) => {\n return languages.registerTypeDefinitionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspTypeDefinitionProvider(this._connection, capability));\n }));\n }\n};\nvar LspTypeDefinitionProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideTypeDefinition(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentTypeDefinition({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspImplementationFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { implementation: {\n dynamicRegistration: true,\n linkSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentImplementation, true, (capability) => {\n return languages.registerImplementationProvider(toMonacoLanguageSelector(capability.documentSelector), new LspImplementationProvider(this._connection, capability));\n }));\n }\n};\nvar LspImplementationProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideImplementation(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentImplementation({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (Array.isArray(result)) return result.map((loc) => toMonacoLocation(loc, this._client));\n return toMonacoLocation(result, this._client);\n }\n};\nvar LspReferencesFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { references: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentReferences, true, (capability) => {\n return languages.registerReferenceProvider(toMonacoLanguageSelector(capability.documentSelector), new LspReferenceProvider(this._connection, capability));\n }));\n }\n};\nvar LspReferenceProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideReferences(model, position, context, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentReferences({\n textDocument: translated.textDocument,\n position: translated.position,\n context: { includeDeclaration: context.includeDeclaration }\n });\n if (!result) return null;\n return result.map((loc) => {\n const translated$1 = this._client.bridge.translateBackRange({ uri: loc.uri }, loc.range);\n return {\n uri: translated$1.textModel.uri,\n range: translated$1.range\n };\n });\n }\n};\nvar LspDocumentHighlightFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentHighlight: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentHighlight, true, (capability) => {\n return languages.registerDocumentHighlightProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentHighlightProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentHighlightProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentHighlights(model, position, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentDocumentHighlight({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n return result.map((highlight) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, highlight.range).range,\n kind: toMonacoDocumentHighlightKind(highlight.kind)\n }));\n }\n};\nvar LspDocumentSymbolFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentSymbol: {\n dynamicRegistration: true,\n hierarchicalDocumentSymbolSupport: true,\n symbolKind: { valueSet: Array.from(lspSymbolKindToMonacoSymbolKind.keys()) },\n tagSupport: { valueSet: [SymbolTag.Deprecated] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentSymbol, true, (capability) => {\n return languages.registerDocumentSymbolProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentSymbolProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentSymbolProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentSymbols(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentDocumentSymbol({ textDocument: translated.textDocument });\n if (!result) return null;\n if (Array.isArray(result) && result.length > 0) if (\"location\" in result[0]) return result.map((symbol) => toMonacoSymbolInformation(symbol, this._client));\n else return result.map((symbol) => toMonacoDocumentSymbol(symbol, this._client, translated.textDocument));\n return [];\n }\n};\nfunction toMonacoDocumentSymbol(symbol, client, textDocument) {\n return {\n name: symbol.name,\n detail: symbol.detail || \"\",\n kind: toMonacoSymbolKind(symbol.kind),\n tags: symbol.tags?.map((tag) => toMonacoSymbolTag(tag)).filter((t) => t !== void 0) || [],\n range: client.bridge.translateBackRange(textDocument, symbol.range).range,\n selectionRange: client.bridge.translateBackRange(textDocument, symbol.selectionRange).range,\n children: symbol.children?.map((child) => toMonacoDocumentSymbol(child, client, textDocument)) || []\n };\n}\nfunction toMonacoSymbolInformation(symbol, client) {\n return {\n name: symbol.name,\n detail: \"\",\n kind: toMonacoSymbolKind(symbol.kind),\n tags: symbol.tags?.map((tag) => toMonacoSymbolTag(tag)).filter((t) => t !== void 0) || [],\n range: client.bridge.translateBackRange({ uri: symbol.location.uri }, symbol.location.range).range,\n selectionRange: client.bridge.translateBackRange({ uri: symbol.location.uri }, symbol.location.range).range,\n children: []\n };\n}\nvar LspRenameFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { rename: {\n dynamicRegistration: true,\n prepareSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentRename, true, (capability) => {\n return languages.registerRenameProvider(toMonacoLanguageSelector(capability.documentSelector), new LspRenameProvider(this._connection, capability));\n }));\n }\n};\nvar LspRenameProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideRenameEdits(model, position, newName, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentRename({\n textDocument: translated.textDocument,\n position: translated.position,\n newName\n });\n if (!result) return null;\n return toMonacoWorkspaceEdit$1(result, this._client);\n }\n async resolveRenameLocation(model, position, token) {\n if (!this._capabilities.prepareProvider) return null;\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentPrepareRename({\n textDocument: translated.textDocument,\n position: translated.position\n });\n if (!result) return null;\n if (\"range\" in result && \"placeholder\" in result) return {\n range: this._client.bridge.translateBackRange(translated.textDocument, result.range).range,\n text: result.placeholder\n };\n else if (\"defaultBehavior\" in result) return null;\n else if (\"start\" in result && \"end\" in result) {\n const range = this._client.bridge.translateBackRange(translated.textDocument, result).range;\n return {\n range,\n text: model.getValueInRange(range)\n };\n }\n return null;\n }\n};\nfunction toMonacoWorkspaceEdit$1(edit, client) {\n const edits = [];\n if (edit.changes) for (const uri in edit.changes) {\n const textEdits = edit.changes[uri];\n for (const textEdit of textEdits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n if (edit.documentChanges) {\n for (const change of edit.documentChanges) if (\"textDocument\" in change) {\n const uri = change.textDocument.uri;\n for (const textEdit of change.edits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: change.textDocument.version,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n }\n return { edits };\n}\nvar LspCodeActionFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { codeAction: {\n dynamicRegistration: true,\n codeActionLiteralSupport: { codeActionKind: { valueSet: Array.from(lspCodeActionKindToMonacoCodeActionKind.keys()) } },\n isPreferredSupport: true,\n disabledSupport: true,\n dataSupport: true,\n resolveSupport: { properties: [\"edit\"] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCodeAction, true, (capability) => {\n return languages.registerCodeActionProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCodeActionProvider(this._connection, capability));\n }));\n }\n};\nvar LspCodeActionProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"resolveCodeAction\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveCodeAction = async (codeAction, token) => {\n if (codeAction._lspAction) {\n const resolved = await this._client.server.codeActionResolve(codeAction._lspAction);\n if (resolved.edit) codeAction.edit = toMonacoWorkspaceEdit(resolved.edit, this._client);\n if (resolved.command) codeAction.command = toMonacoCommand(resolved.command);\n }\n return codeAction;\n };\n }\n async provideCodeActions(model, range, context, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await this._client.server.textDocumentCodeAction({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range),\n context: {\n diagnostics: context.markers.map((marker) => ({\n range: this._client.bridge.translateRange(model, Range.lift(marker)),\n message: marker.message,\n severity: toLspDiagnosticSeverity(marker.severity)\n })),\n triggerKind: toLspCodeActionTriggerKind(context.trigger)\n }\n });\n if (!result) return null;\n return {\n actions: (Array.isArray(result) ? result : [result]).map((action) => {\n if (\"title\" in action && !(\"kind\" in action)) {\n const cmd = action;\n return {\n title: cmd.title,\n command: toMonacoCommand(cmd)\n };\n } else {\n const codeAction = action;\n return {\n title: codeAction.title,\n kind: toMonacoCodeActionKind(codeAction.kind),\n isPreferred: codeAction.isPreferred,\n disabled: codeAction.disabled?.reason,\n edit: codeAction.edit ? toMonacoWorkspaceEdit(codeAction.edit, this._client) : void 0,\n command: toMonacoCommand(codeAction.command),\n _lspAction: codeAction\n };\n }\n }),\n dispose: () => {\n }\n };\n }\n};\nfunction toMonacoWorkspaceEdit(edit, client) {\n const edits = [];\n if (edit.changes) for (const uri in edit.changes) {\n const textEdits = edit.changes[uri];\n for (const textEdit of textEdits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n if (edit.documentChanges) {\n for (const change of edit.documentChanges) if (\"textDocument\" in change) {\n const uri = change.textDocument.uri;\n for (const textEdit of change.edits) {\n const translated = client.bridge.translateBackRange({ uri }, textEdit.range);\n edits.push({\n resource: translated.textModel.uri,\n versionId: change.textDocument.version ?? void 0,\n textEdit: {\n range: translated.range,\n text: textEdit.newText\n }\n });\n }\n }\n }\n return { edits };\n}\nvar LspCodeLensFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { codeLens: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentCodeLens, true, (capability) => {\n return languages.registerCodeLensProvider(toMonacoLanguageSelector(capability.documentSelector), new LspCodeLensProvider(this._connection, capability));\n }));\n }\n};\nvar LspCodeLensProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideCodeLenses(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentCodeLens({ textDocument: translated.textDocument });\n if (!result) return null;\n return {\n lenses: result.map((lens) => {\n return {\n range: assertTargetTextModel(this._client.bridge.translateBackRange(translated.textDocument, lens.range), model).range,\n command: toMonacoCommand(lens.command),\n _lspCodeLens: lens\n };\n }),\n dispose: () => {\n }\n };\n }\n async resolveCodeLens(model, codeLens, token) {\n if (!this._capabilities.resolveProvider || !codeLens._lspCodeLens) return codeLens;\n const resolved = await this._client.server.codeLensResolve(codeLens._lspCodeLens);\n if (resolved.command) codeLens.command = {\n id: resolved.command.command,\n title: resolved.command.title,\n arguments: resolved.command.arguments\n };\n return codeLens;\n }\n};\nvar LspDocumentLinkFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { documentLink: {\n dynamicRegistration: true,\n tooltipSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDocumentLink, true, (capability) => {\n return languages.registerLinkProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentLinkProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentLinkProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideLinks(model, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentDocumentLink({ textDocument: translated.textDocument });\n if (!result) return null;\n return { links: result.map((link) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, link.range).range,\n url: link.target,\n tooltip: link.tooltip\n })) };\n }\n async resolveLink(link, token) {\n if (!this._capabilities.resolveProvider) return link;\n return link;\n }\n};\nvar LspFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { formatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentFormatting, true, (capability) => {\n return languages.registerDocumentFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentFormattingProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentFormattingEdits(model, options, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentFormatting({\n textDocument: translated.textDocument,\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspRangeFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { rangeFormatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentRangeFormatting, true, (capability) => {\n return languages.registerDocumentRangeFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspDocumentRangeFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspDocumentRangeFormattingProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideDocumentRangeFormattingEdits(model, range, options, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await this._client.server.textDocumentRangeFormatting({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range),\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspOnTypeFormattingFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { onTypeFormatting: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentOnTypeFormatting, true, (capability) => {\n return languages.registerOnTypeFormattingEditProvider(toMonacoLanguageSelector(capability.documentSelector), new LspOnTypeFormattingProvider(this._connection, capability));\n }));\n }\n};\nvar LspOnTypeFormattingProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"autoFormatTriggerCharacters\");\n this._client = _client;\n this._capabilities = _capabilities;\n this.autoFormatTriggerCharacters = [_capabilities.firstTriggerCharacter, ..._capabilities.moreTriggerCharacter || []];\n }\n async provideOnTypeFormattingEdits(model, position, ch, options, token) {\n const translated = this._client.bridge.translate(model, position);\n const result = await this._client.server.textDocumentOnTypeFormatting({\n textDocument: translated.textDocument,\n position: translated.position,\n ch,\n options: {\n tabSize: options.tabSize,\n insertSpaces: options.insertSpaces\n }\n });\n if (!result) return null;\n return result.map((edit) => ({\n range: this._client.bridge.translateBackRange(translated.textDocument, edit.range).range,\n text: edit.newText\n }));\n }\n};\nvar LspFoldingRangeFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { foldingRange: {\n dynamicRegistration: true,\n rangeLimit: 5e3,\n lineFoldingOnly: false,\n foldingRangeKind: { valueSet: [\n FoldingRangeKind.Comment,\n FoldingRangeKind.Imports,\n FoldingRangeKind.Region\n ] }\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentFoldingRange, true, (capability) => {\n return languages.registerFoldingRangeProvider(toMonacoLanguageSelector(capability.documentSelector), new LspFoldingRangeProvider(this._connection, capability));\n }));\n }\n};\nvar LspFoldingRangeProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideFoldingRanges(model, context, token) {\n const translated = this._client.bridge.translate(model, new Position(1, 1));\n const result = await this._client.server.textDocumentFoldingRange({ textDocument: translated.textDocument });\n if (!result) return null;\n return result.map((range) => ({\n start: range.startLine + 1,\n end: range.endLine + 1,\n kind: toMonacoFoldingRangeKind(range.kind)\n }));\n }\n};\nvar LspSelectionRangeFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { selectionRange: { dynamicRegistration: true } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSelectionRange, true, (capability) => {\n return languages.registerSelectionRangeProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSelectionRangeProvider(this._connection, capability));\n }));\n }\n};\nvar LspSelectionRangeProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n async provideSelectionRanges(model, positions, token) {\n const translated = this._client.bridge.translate(model, positions[0]);\n const result = await this._client.server.textDocumentSelectionRange({\n textDocument: translated.textDocument,\n positions: positions.map((pos) => this._client.bridge.translate(model, pos).position)\n });\n if (!result) return null;\n return result.map((selRange) => this.convertSelectionRange(selRange, translated.textDocument));\n }\n convertSelectionRange(range, textDocument) {\n const result = [];\n let current = range;\n while (current) {\n result.push({ range: this._client.bridge.translateBackRange(textDocument, current.range).range });\n current = current.parent;\n }\n return result;\n }\n};\nvar LspInlayHintsFeature = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_providers\", /* @__PURE__ */ new Set());\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({\n textDocument: { inlayHint: {\n dynamicRegistration: true,\n resolveSupport: { properties: [\n \"tooltip\",\n \"textEdits\",\n \"label.tooltip\",\n \"label.location\",\n \"label.command\"\n ] }\n } },\n workspace: { inlayHint: { refreshSupport: true } }\n }));\n this._register(this._connection.connection.registerRequestHandler(api.client.workspaceInlayHintRefresh, async () => {\n for (const provider of this._providers) provider.refresh();\n return { ok: null };\n }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentInlayHint, true, (capability) => {\n const provider = new LspInlayHintsProvider(this._connection, capability);\n this._providers.add(provider);\n const disposable = languages.registerInlayHintsProvider(toMonacoLanguageSelector(capability.documentSelector), provider);\n return { dispose: () => {\n this._providers.delete(provider);\n disposable.dispose();\n } };\n }));\n }\n};\nvar LspInlayHintsProvider = class {\n constructor(_client, _capabilities) {\n __publicField(this, \"_onDidChangeInlayHints\", new Emitter());\n __publicField(this, \"onDidChangeInlayHints\", this._onDidChangeInlayHints.event);\n __publicField(this, \"resolveInlayHint\");\n this._client = _client;\n this._capabilities = _capabilities;\n if (_capabilities.resolveProvider) this.resolveInlayHint = async (hint, token) => {\n const resolved = await this._client.server.inlayHintResolve(hint._lspInlayHint);\n if (resolved.tooltip) hint.tooltip = toMonacoTooltip(resolved.tooltip);\n if (resolved.label !== hint._lspInlayHint.label) hint.label = toLspInlayHintLabel(resolved.label);\n if (resolved.textEdits) hint.textEdits = resolved.textEdits.map((edit) => {\n return {\n range: this._client.bridge.translateBackRange({ uri: hint._targetUri }, edit.range).range,\n text: edit.newText\n };\n });\n return hint;\n };\n }\n refresh() {\n this._onDidChangeInlayHints.fire();\n }\n async provideInlayHints(model, range, token) {\n const translated = this._client.bridge.translate(model, range.getStartPosition());\n const result = await retryOnContentModified(async () => await this._client.server.textDocumentInlayHint({\n textDocument: translated.textDocument,\n range: this._client.bridge.translateRange(model, range)\n }));\n if (!result) return null;\n return {\n hints: result.map((hint) => {\n return {\n label: toLspInlayHintLabel(hint.label),\n position: assertTargetTextModel(this._client.bridge.translateBack(translated.textDocument, hint.position), model).position,\n kind: toMonacoInlayHintKind(hint.kind),\n tooltip: toMonacoTooltip(hint.tooltip),\n paddingLeft: hint.paddingLeft,\n paddingRight: hint.paddingRight,\n textEdits: hint.textEdits?.map((edit) => ({\n range: assertTargetTextModel(this._client.bridge.translateBackRange(translated.textDocument, edit.range), model).range,\n text: edit.newText\n })),\n _lspInlayHint: hint,\n _targetUri: translated.textDocument.uri\n };\n }),\n dispose: () => {\n }\n };\n }\n};\nasync function retryOnContentModified(cb) {\n for (let triesLeft = 3; ; triesLeft--) try {\n return await cb();\n } catch (e) {\n if (e.message === \"content modified\" && triesLeft > 0) continue;\n throw e;\n }\n}\nfunction toLspInlayHintLabel(label) {\n if (typeof label === \"string\") return label;\n return label.map((part) => {\n const monacoLabelPart = {\n label: part.value,\n tooltip: toMonacoTooltip(part.tooltip),\n command: toMonacoCommand(part.command)\n };\n if (part.location) monacoLabelPart.location = {\n uri: Uri.parse(part.location.uri),\n range: new Range(part.location.range.start.line + 1, part.location.range.start.character + 1, part.location.range.end.line + 1, part.location.range.end.character + 1)\n };\n return monacoLabelPart;\n });\n}\nfunction toMonacoTooltip(tooltip) {\n if (!tooltip) return;\n if (typeof tooltip === \"string\") return tooltip;\n return {\n value: tooltip.value,\n isTrusted: true\n };\n}\nvar LspSemanticTokensFeature = class extends Disposable {\n constructor(_connection) {\n super();\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: { semanticTokens: {\n dynamicRegistration: true,\n requests: {\n range: true,\n full: { delta: true }\n },\n tokenTypes: [\n \"namespace\",\n \"type\",\n \"class\",\n \"enum\",\n \"interface\",\n \"struct\",\n \"typeParameter\",\n \"parameter\",\n \"variable\",\n \"property\",\n \"enumMember\",\n \"event\",\n \"function\",\n \"method\",\n \"macro\",\n \"keyword\",\n \"modifier\",\n \"comment\",\n \"string\",\n \"number\",\n \"regexp\",\n \"operator\",\n \"decorator\"\n ],\n tokenModifiers: [\n \"declaration\",\n \"definition\",\n \"readonly\",\n \"static\",\n \"deprecated\",\n \"abstract\",\n \"async\",\n \"modification\",\n \"documentation\",\n \"defaultLibrary\"\n ],\n formats: [TokenFormat.Relative],\n overlappingTokenSupport: false,\n multilineTokenSupport: true\n } } }));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentSemanticTokensFull, true, (capability) => {\n return languages.registerDocumentSemanticTokensProvider(toMonacoLanguageSelector(capability.documentSelector), new LspSemanticTokensProvider(this._connection, capability));\n }));\n }\n};\nvar LspSemanticTokensProvider = class {\n constructor(_client, _capabilities) {\n this._client = _client;\n this._capabilities = _capabilities;\n }\n getLegend() {\n return {\n tokenTypes: this._capabilities.legend.tokenTypes,\n tokenModifiers: this._capabilities.legend.tokenModifiers\n };\n }\n releaseDocumentSemanticTokens(resultId) {\n }\n async provideDocumentSemanticTokens(model, lastResultId, token) {\n const translated = this._client.bridge.translate(model, model.getPositionAt(0));\n const full = this._capabilities.full;\n if (lastResultId && full && typeof full === \"object\" && full.delta) {\n const deltaResult = await this._client.server.textDocumentSemanticTokensFullDelta({\n textDocument: translated.textDocument,\n previousResultId: lastResultId\n });\n if (!deltaResult) return null;\n if (\"edits\" in deltaResult) return {\n resultId: deltaResult.resultId,\n edits: deltaResult.edits.map((edit) => ({\n start: edit.start,\n deleteCount: edit.deleteCount,\n data: edit.data ? new Uint32Array(edit.data) : void 0\n }))\n };\n else return {\n resultId: deltaResult.resultId,\n data: new Uint32Array(deltaResult.data)\n };\n }\n const result = await this._client.server.textDocumentSemanticTokensFull({ textDocument: translated.textDocument });\n if (!result) return null;\n return {\n resultId: result.resultId,\n data: new Uint32Array(result.data)\n };\n }\n async provideDocumentSemanticTokensEdits(model, previousResultId, token) {\n return this.provideDocumentSemanticTokens(model, previousResultId, token);\n }\n};\nvar LspDiagnosticsFeature = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_diagnosticsMarkerOwner\", \"lsp\");\n __publicField(this, \"_pullDiagnosticProviders\", /* @__PURE__ */ new Map());\n this._connection = _connection;\n this._register(this._connection.capabilities.addStaticClientCapabilities({ textDocument: {\n publishDiagnostics: {\n relatedInformation: true,\n tagSupport: { valueSet: [...lspDiagnosticTagToMonacoMarkerTag.keys()] },\n versionSupport: true,\n codeDescriptionSupport: true,\n dataSupport: true\n },\n diagnostic: {\n dynamicRegistration: true,\n relatedDocumentSupport: true\n }\n } }));\n debugger;\n this._register(this._connection.connection.registerNotificationHandler(api.client.textDocumentPublishDiagnostics, (params) => this._handlePublishDiagnostics(params)));\n this._register(this._connection.capabilities.registerCapabilityHandler(capabilities.textDocumentDiagnostic, true, (capability) => {\n const disposables = new DisposableStore();\n for (const model of editor.getModels()) this._addPullDiagnosticProvider(model, capability, disposables);\n disposables.add(editor.onDidCreateModel((model) => {\n this._addPullDiagnosticProvider(model, capability, disposables);\n }));\n return disposables;\n }));\n }\n _addPullDiagnosticProvider(model, capability, disposables) {\n model.getLanguageId();\n if (!matchesDocumentSelector(model, capability.documentSelector)) return;\n const provider = new ModelDiagnosticProvider(model, this._connection, this._diagnosticsMarkerOwner, capability);\n this._pullDiagnosticProviders.set(model, provider);\n disposables.add(provider);\n disposables.add(model.onWillDispose(() => {\n this._pullDiagnosticProviders.delete(model);\n }));\n }\n _handlePublishDiagnostics(params) {\n const uri = params.uri;\n try {\n const model = this._connection.bridge.translateBack({ uri }, {\n line: 0,\n character: 0\n }).textModel;\n if (!model || model.isDisposed()) return;\n const markers = params.diagnostics.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(model, this._diagnosticsMarkerOwner, markers);\n } catch (error) {\n console.debug(`Could not set diagnostics for ${uri}:`, error);\n }\n }\n};\nvar ModelDiagnosticProvider = class extends Disposable {\n constructor(_model, _connection, _markerOwner, _capability) {\n super();\n __publicField(this, \"_updateHandle\");\n __publicField(this, \"_previousResultId\");\n this._model = _model;\n this._connection = _connection;\n this._markerOwner = _markerOwner;\n this._capability = _capability;\n this._register(this._model.onDidChangeContent(() => {\n this._scheduleDiagnosticUpdate();\n }));\n this._scheduleDiagnosticUpdate();\n }\n _scheduleDiagnosticUpdate() {\n if (this._updateHandle !== void 0) clearTimeout(this._updateHandle);\n this._updateHandle = window.setTimeout(() => {\n this._updateHandle = void 0;\n this._requestDiagnostics();\n }, 500);\n }\n async _requestDiagnostics() {\n if (this._model.isDisposed()) return;\n try {\n const translated = this._connection.bridge.translate(this._model, new Position(1, 1));\n const result = await this._connection.server.textDocumentDiagnostic({\n textDocument: translated.textDocument,\n identifier: this._capability.identifier,\n previousResultId: this._previousResultId\n });\n if (this._model.isDisposed()) return;\n this._handleDiagnosticReport(result);\n } catch (error) {\n console.error(\"Error requesting diagnostics:\", error);\n }\n }\n _handleDiagnosticReport(report) {\n if (report.kind === \"full\") {\n this._previousResultId = report.resultId;\n const markers = report.items.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(this._model, this._markerOwner, markers);\n if (\"relatedDocuments\" in report && report.relatedDocuments) this._handleRelatedDocuments(report.relatedDocuments);\n } else if (report.kind === \"unchanged\") this._previousResultId = report.resultId;\n }\n _handleRelatedDocuments(relatedDocuments) {\n for (const [uri, report] of Object.entries(relatedDocuments)) try {\n const model = this._connection.bridge.translateBack({ uri }, {\n line: 0,\n character: 0\n }).textModel;\n if (!model || model.isDisposed()) continue;\n if (report.kind === \"full\") {\n const markers = report.items.map((diagnostic) => toDiagnosticMarker(diagnostic));\n editor.setModelMarkers(model, this._markerOwner, markers);\n }\n } catch (error) {\n console.debug(`Could not set related diagnostics for ${uri}:`, error);\n }\n }\n dispose() {\n if (this._updateHandle !== void 0) {\n clearTimeout(this._updateHandle);\n this._updateHandle = void 0;\n }\n super.dispose();\n }\n};\nvar LspConnection = class {\n constructor(server, bridge, capabilities$1, connection) {\n this.server = server;\n this.bridge = bridge;\n this.capabilities = capabilities$1;\n this.connection = connection;\n }\n};\nvar LspCapabilitiesRegistry = class extends Disposable {\n constructor(_connection) {\n super();\n __publicField(this, \"_staticCapabilities\", /* @__PURE__ */ new Set());\n __publicField(this, \"_dynamicFromStatic\", DynamicFromStaticOptions.create());\n __publicField(this, \"_registrations\", /* @__PURE__ */ new Map());\n __publicField(this, \"_serverCapabilities\");\n this._connection = _connection;\n this._register(this._connection.registerRequestHandler(api.client.clientRegisterCapability, async (params) => {\n for (const registration of params.registrations) {\n const capability = getCapabilityByMethod(registration.method);\n const r = new CapabilityRegistration(registration.id, capability, registration.registerOptions, false);\n this._registerCapabilityOptions(r);\n }\n return { ok: null };\n }));\n this._register(this._connection.registerRequestHandler(api.client.clientUnregisterCapability, async (params) => {\n for (const unregistration of params.unregisterations) {\n const capability = getCapabilityByMethod(unregistration.method);\n const info = this._registrations.get(capability);\n const handlerInfo = info?.registrations.get(unregistration.id);\n if (!handlerInfo) throw new Error(`No registration for method ${unregistration.method} with id ${unregistration.id}`);\n handlerInfo?.handlerDisposables.forEach((d) => d.dispose());\n info?.registrations.delete(unregistration.id);\n }\n return { ok: null };\n }));\n }\n _registerCapabilityOptions(registration) {\n let registrationForMethod = this._registrations.get(registration.capability);\n if (!registrationForMethod) {\n registrationForMethod = new CapabilityInfo();\n this._registrations.set(registration.capability, registrationForMethod);\n }\n if (registrationForMethod.registrations.has(registration.id)) throw new Error(`Handler for method ${registration.capability.method} with id ${registration.id} already registered`);\n registrationForMethod.registrations.set(registration.id, registration);\n for (const h of registrationForMethod.handlers) {\n if (!h.handleStaticCapability && registration.isFromStatic) continue;\n registration.handlerDisposables.set(h, h.handler(registration.options));\n }\n }\n setServerCapabilities(serverCapabilities) {\n if (this._serverCapabilities) throw new Error(\"Server capabilities already set\");\n this._serverCapabilities = serverCapabilities;\n for (const cap of Object.values(capabilities)) {\n const options = this._dynamicFromStatic.getOptions(cap, serverCapabilities);\n if (options) this._registerCapabilityOptions(new CapabilityRegistration(cap.method, cap, options, true));\n }\n }\n getClientCapabilities() {\n const result = {};\n for (const c of this._staticCapabilities) deepAssign(result, c.cap);\n return result;\n }\n addStaticClientCapabilities(capability) {\n const obj = { cap: capability };\n this._staticCapabilities.add(obj);\n return { dispose: () => {\n this._staticCapabilities.delete(obj);\n } };\n }\n registerCapabilityHandler(capability, handleStaticCapability, handler) {\n let info = this._registrations.get(capability);\n if (!info) {\n info = new CapabilityInfo();\n this._registrations.set(capability, info);\n }\n const handlerInfo = new CapabilityHandler(capability, handleStaticCapability, handler);\n info.handlers.add(handlerInfo);\n for (const registration of info.registrations.values()) {\n if (!handlerInfo.handleStaticCapability && registration.isFromStatic) continue;\n registration.handlerDisposables.set(handlerInfo, handler(registration.options));\n }\n return { dispose: () => {\n info.handlers.delete(handlerInfo);\n for (const registration of info.registrations.values()) {\n const disposable = registration.handlerDisposables.get(handlerInfo);\n if (disposable) {\n disposable.dispose();\n registration.handlerDisposables.delete(handlerInfo);\n }\n }\n } };\n }\n};\nvar CapabilityHandler = class {\n constructor(capability, handleStaticCapability, handler) {\n this.capability = capability;\n this.handleStaticCapability = handleStaticCapability;\n this.handler = handler;\n }\n};\nvar CapabilityRegistration = class {\n constructor(id, capability, options, isFromStatic) {\n __publicField(this, \"handlerDisposables\", /* @__PURE__ */ new Map());\n this.id = id;\n this.capability = capability;\n this.options = options;\n this.isFromStatic = isFromStatic;\n }\n};\nconst capabilitiesByMethod = new Map([...Object.values(capabilities)].map((c) => [c.method, c]));\nfunction getCapabilityByMethod(method) {\n const c = capabilitiesByMethod.get(method);\n if (!c) throw new Error(`No capability found for method ${method}`);\n return c;\n}\nvar CapabilityInfo = class {\n constructor() {\n __publicField(this, \"handlers\", /* @__PURE__ */ new Set());\n __publicField(this, \"registrations\", /* @__PURE__ */ new Map());\n }\n};\nvar DynamicFromStaticOptions = class DynamicFromStaticOptions2 {\n constructor() {\n __publicField(this, \"_mappings\", /* @__PURE__ */ new Map());\n }\n static create() {\n const o = new DynamicFromStaticOptions2();\n o.set(capabilities.textDocumentDidChange, (s) => {\n if (s.textDocumentSync === void 0) return;\n if (typeof s.textDocumentSync === \"object\") return {\n syncKind: s.textDocumentSync.change ?? TextDocumentSyncKind.None,\n documentSelector: null\n };\n else return {\n syncKind: s.textDocumentSync,\n documentSelector: null\n };\n });\n o.set(capabilities.textDocumentCompletion, (s) => s.completionProvider);\n o.set(capabilities.textDocumentHover, (s) => s.hoverProvider);\n o.set(capabilities.textDocumentSignatureHelp, (s) => s.signatureHelpProvider);\n o.set(capabilities.textDocumentDefinition, (s) => s.definitionProvider);\n o.set(capabilities.textDocumentReferences, (s) => s.referencesProvider);\n o.set(capabilities.textDocumentDocumentHighlight, (s) => s.documentHighlightProvider);\n o.set(capabilities.textDocumentDocumentSymbol, (s) => s.documentSymbolProvider);\n o.set(capabilities.textDocumentCodeAction, (s) => s.codeActionProvider);\n o.set(capabilities.textDocumentCodeLens, (s) => s.codeLensProvider);\n o.set(capabilities.textDocumentDocumentLink, (s) => s.documentLinkProvider);\n o.set(capabilities.textDocumentFormatting, (s) => s.documentFormattingProvider);\n o.set(capabilities.textDocumentRangeFormatting, (s) => s.documentRangeFormattingProvider);\n o.set(capabilities.textDocumentOnTypeFormatting, (s) => s.documentOnTypeFormattingProvider);\n o.set(capabilities.textDocumentRename, (s) => s.renameProvider);\n o.set(capabilities.textDocumentFoldingRange, (s) => s.foldingRangeProvider);\n o.set(capabilities.textDocumentDeclaration, (s) => s.declarationProvider);\n o.set(capabilities.textDocumentTypeDefinition, (s) => s.typeDefinitionProvider);\n o.set(capabilities.textDocumentImplementation, (s) => s.implementationProvider);\n o.set(capabilities.textDocumentDocumentColor, (s) => s.colorProvider);\n o.set(capabilities.textDocumentSelectionRange, (s) => s.selectionRangeProvider);\n o.set(capabilities.textDocumentLinkedEditingRange, (s) => s.linkedEditingRangeProvider);\n o.set(capabilities.textDocumentPrepareCallHierarchy, (s) => s.callHierarchyProvider);\n o.set(capabilities.textDocumentSemanticTokensFull, (s) => s.semanticTokensProvider);\n o.set(capabilities.textDocumentInlayHint, (s) => s.inlayHintProvider);\n o.set(capabilities.textDocumentInlineValue, (s) => s.inlineValueProvider);\n o.set(capabilities.textDocumentDiagnostic, (s) => s.diagnosticProvider);\n o.set(capabilities.textDocumentMoniker, (s) => s.monikerProvider);\n o.set(capabilities.textDocumentPrepareTypeHierarchy, (s) => s.typeHierarchyProvider);\n o.set(capabilities.workspaceSymbol, (s) => s.workspaceSymbolProvider);\n o.set(capabilities.workspaceExecuteCommand, (s) => s.executeCommandProvider);\n return o;\n }\n set(capability, getOptionsFromStatic) {\n if (this._mappings.has(capability.method)) throw new Error(`Capability for method ${capability.method} already registered`);\n this._mappings.set(capability.method, getOptionsFromStatic);\n }\n getOptions(capability, serverCapabilities) {\n const getter = this._mappings.get(capability.method);\n if (!getter) return;\n return getter(serverCapabilities);\n }\n};\nfunction deepAssign(target, source) {\n for (const key of Object.keys(source)) {\n const srcValue = source[key];\n if (srcValue === void 0) continue;\n const tgtValue = target[key];\n if (tgtValue === void 0) {\n target[key] = srcValue;\n continue;\n }\n if (typeof srcValue !== \"object\" || srcValue === null) {\n target[key] = srcValue;\n continue;\n }\n if (typeof tgtValue !== \"object\" || tgtValue === null) {\n target[key] = srcValue;\n continue;\n }\n deepAssign(tgtValue, srcValue);\n }\n}\nvar TextDocumentSynchronizer = class extends Disposable {\n constructor(_server, _capabilities) {\n super();\n __publicField(this, \"_managedModels\", /* @__PURE__ */ new Map());\n __publicField(this, \"_managedModelsReverse\", /* @__PURE__ */ new Map());\n __publicField(this, \"_started\", false);\n this._server = _server;\n this._capabilities = _capabilities;\n this._register(this._capabilities.addStaticClientCapabilities({ textDocument: { synchronization: {\n dynamicRegistration: true,\n willSave: false,\n willSaveWaitUntil: false,\n didSave: false\n } } }));\n this._register(_capabilities.registerCapabilityHandler(capabilities.textDocumentDidChange, true, (e) => {\n if (this._started) return { dispose: () => {\n } };\n this._started = true;\n this._register(editor.onDidCreateModel((m) => {\n this._getOrCreateManagedModel(m);\n }));\n for (const m of editor.getModels()) this._getOrCreateManagedModel(m);\n return { dispose: () => {\n } };\n }));\n }\n _getOrCreateManagedModel(m) {\n if (!this._started) throw new Error(\"Not started\");\n const uriStr = m.uri.toString(true).toLowerCase();\n let mm = this._managedModels.get(m);\n if (!mm) {\n mm = new ManagedModel(m, this._server);\n this._managedModels.set(m, mm);\n this._managedModelsReverse.set(uriStr, m);\n }\n m.onWillDispose(() => {\n mm.dispose();\n this._managedModels.delete(m);\n this._managedModelsReverse.delete(uriStr);\n });\n return mm;\n }\n translateBack(textDocument, position) {\n const uri = textDocument.uri.toLowerCase();\n const textModel = this._managedModelsReverse.get(uri);\n if (!textModel) throw new Error(`No text model for uri ${uri}`);\n return {\n textModel,\n position: new Position(position.line + 1, position.character + 1)\n };\n }\n translateBackRange(textDocument, range) {\n const uri = textDocument.uri.toLowerCase();\n const textModel = this._managedModelsReverse.get(uri);\n if (!textModel) throw new Error(`No text model for uri ${uri}`);\n return {\n textModel,\n range: new Range(range.start.line + 1, range.start.character + 1, range.end.line + 1, range.end.character + 1)\n };\n }\n translate(textModel, monacoPos) {\n return {\n textDocument: { uri: textModel.uri.toString(true) },\n position: {\n line: monacoPos.lineNumber - 1,\n character: monacoPos.column - 1\n }\n };\n }\n translateRange(textModel, monacoRange) {\n return {\n start: {\n line: monacoRange.startLineNumber - 1,\n character: monacoRange.startColumn - 1\n },\n end: {\n line: monacoRange.endLineNumber - 1,\n character: monacoRange.endColumn - 1\n }\n };\n }\n};\nvar ManagedModel = class extends Disposable {\n constructor(_textModel, _api) {\n super();\n this._textModel = _textModel;\n this._api = _api;\n const uri = _textModel.uri.toString(true).toLowerCase();\n this._api.textDocumentDidOpen({ textDocument: {\n languageId: _textModel.getLanguageId(),\n uri,\n version: _textModel.getVersionId(),\n text: _textModel.getValue()\n } });\n this._register(_textModel.onDidChangeContent((e) => {\n const contentChanges = e.changes.map((c) => toLspTextDocumentContentChangeEvent(c));\n this._api.textDocumentDidChange({\n textDocument: {\n uri,\n version: _textModel.getVersionId()\n },\n contentChanges\n });\n }));\n this._register({ dispose: () => {\n this._api.textDocumentDidClose({ textDocument: { uri } });\n } });\n }\n};\nfunction toLspTextDocumentContentChangeEvent(change) {\n return {\n range: toLspRange(change.range),\n rangeLength: change.rangeLength,\n text: change.text\n };\n}\nfunction toLspRange(range) {\n return {\n start: {\n line: range.startLineNumber - 1,\n character: range.startColumn - 1\n },\n end: {\n line: range.endLineNumber - 1,\n character: range.endColumn - 1\n }\n };\n}\nvar MonacoLspClient = class {\n constructor(transport) {\n __publicField(this, \"_connection\");\n __publicField(this, \"_capabilitiesRegistry\");\n __publicField(this, \"_bridge\");\n __publicField(this, \"_initPromise\");\n const c = TypedChannel.fromTransport(transport);\n const s = api.getServer(c, {});\n c.startListen();\n this._capabilitiesRegistry = new LspCapabilitiesRegistry(c);\n this._bridge = new TextDocumentSynchronizer(s.server, this._capabilitiesRegistry);\n this._connection = new LspConnection(s.server, this._bridge, this._capabilitiesRegistry, c);\n this.createFeatures();\n this._initPromise = this._init();\n }\n async _init() {\n const result = await this._connection.server.initialize({\n processId: null,\n capabilities: this._capabilitiesRegistry.getClientCapabilities(),\n rootUri: null\n });\n this._connection.server.initialized({});\n this._capabilitiesRegistry.setServerCapabilities(result.capabilities);\n }\n createFeatures() {\n const store = new DisposableStore();\n store.add(new LspCompletionFeature(this._connection));\n store.add(new LspHoverFeature(this._connection));\n store.add(new LspSignatureHelpFeature(this._connection));\n store.add(new LspDefinitionFeature(this._connection));\n store.add(new LspDeclarationFeature(this._connection));\n store.add(new LspTypeDefinitionFeature(this._connection));\n store.add(new LspImplementationFeature(this._connection));\n store.add(new LspReferencesFeature(this._connection));\n store.add(new LspDocumentHighlightFeature(this._connection));\n store.add(new LspDocumentSymbolFeature(this._connection));\n store.add(new LspRenameFeature(this._connection));\n store.add(new LspCodeActionFeature(this._connection));\n store.add(new LspCodeLensFeature(this._connection));\n store.add(new LspDocumentLinkFeature(this._connection));\n store.add(new LspFormattingFeature(this._connection));\n store.add(new LspRangeFormattingFeature(this._connection));\n store.add(new LspOnTypeFormattingFeature(this._connection));\n store.add(new LspFoldingRangeFeature(this._connection));\n store.add(new LspSelectionRangeFeature(this._connection));\n store.add(new LspInlayHintsFeature(this._connection));\n store.add(new LspSemanticTokensFeature(this._connection));\n store.add(new LspDiagnosticsFeature(this._connection));\n return store;\n }\n};\nvar ws = null;\nif (typeof WebSocket !== \"undefined\") ws = WebSocket;\nelse if (typeof MozWebSocket !== \"undefined\") ws = MozWebSocket;\nelse if (typeof global !== \"undefined\") ws = global.WebSocket || global.MozWebSocket;\nelse if (typeof window !== \"undefined\") ws = window.WebSocket || window.MozWebSocket;\nelse if (typeof self !== \"undefined\") ws = self.WebSocket || self.MozWebSocket;\nvar browser_default = ws;\nfunction normalizeWebSocketOptions(options) {\n if (\"host\" in options) return { address: `${options.forceTls ? \"wss\" : \"ws\"}://${options.host}:${options.port}` };\n else return options;\n}\nvar WebSocketTransport = class WebSocketTransport2 extends BaseMessageTransport {\n constructor(socket) {\n super();\n __publicField(this, \"socket\");\n __publicField(this, \"errorEmitter\", new EventEmitter());\n __publicField(this, \"onError\", this.errorEmitter);\n this.socket = socket;\n socket.onmessage = (msg) => {\n try {\n const data = msg.data;\n if (typeof data === \"string\") {\n const json = JSON.parse(data);\n this._dispatchReceivedMessage(json);\n } else throw new Error(\"Not supported\");\n } catch (error) {\n this.errorEmitter.fire({ error });\n }\n };\n socket.onclose = (_event) => {\n this._onConnectionClosed();\n };\n }\n static connectTo(options) {\n const ws$1 = new browser_default(normalizeWebSocketOptions(options).address);\n return new Promise((res, rej) => {\n ws$1.onerror = (err) => {\n rej(err);\n };\n ws$1.onopen = () => {\n res(new WebSocketTransport2(ws$1));\n };\n });\n }\n static fromWebSocket(socket) {\n return new WebSocketTransport2(socket);\n }\n /**\n * Closes the underlying socket.\n */\n close() {\n this.socket.close();\n }\n /**\n * Same as `close`.\n */\n dispose() {\n this.close();\n }\n _sendImpl(message) {\n const str = JSON.stringify(message);\n return new Promise((res, rej) => {\n this.socket.send(str, (err) => {\n if (err) rej(err);\n else res();\n });\n });\n }\n toString() {\n return `${this.id}@${this.socket.url}`;\n }\n};\nvar WindowLikeTransport = class extends BaseMessageTransport {\n constructor(_windowLike, _source = void 0, _loadingState = void 0) {\n super();\n __publicField(this, \"_windowLike\");\n __publicField(this, \"_source\");\n __publicField(this, \"_loadingState\");\n __publicField(this, \"_disposed\", false);\n __publicField(this, \"_messageHandler\", ({ data, source }) => {\n if (this._source && source !== this._source) return;\n if (typeof data === \"object\" && data) this._dispatchReceivedMessage(data);\n });\n this._windowLike = _windowLike;\n this._source = _source;\n this._loadingState = _loadingState;\n this._windowLike.addEventListener(\"message\", this._messageHandler);\n }\n async _sendImpl(message) {\n if (this._disposed) throw new Error(\"Transport is disposed\");\n if (this._loadingState && !this._loadingState.loaded) await this._loadingState.onLoaded;\n this._windowLike.postMessage(message);\n }\n toString() {\n return `${this.id}@${this._windowLike}`;\n }\n dispose() {\n if (this._disposed) return;\n this._disposed = true;\n this._windowLike.removeEventListener(\"message\", this._messageHandler);\n }\n};\nfunction createTransportToWorker(worker) {\n if (typeof window === \"undefined\") throw new Error(`call this function from the main browser thread`);\n return new WindowLikeTransport(worker);\n}\nfunction createTransportToIFrame(iframe) {\n if (typeof window === \"undefined\") throw new Error(`call this function from the main browser thread`);\n return new WindowLikeTransport(iframe.contentWindow, iframe.contentWindow, {\n loaded: window.document.readyState === \"complete\",\n onLoaded: new Promise((res) => {\n window.addEventListener(\"load\", () => res());\n })\n });\n}\n\nexport { MonacoLspClient, WebSocketTransport, createTransportToIFrame, createTransportToWorker };\n","import * as editor_api from '../editor.api2.js';\n\nfunction getGlobalMonaco() {\n return editor_api;\n}\nconst monacoEnvironment = globalThis.MonacoEnvironment;\nif (monacoEnvironment?.globalAPI) {\n globalThis.monaco = getGlobalMonaco();\n}\n\nexport { getGlobalMonaco };\n","import * as monaco_contribution from '../language/css/monaco.contribution.js';\nimport * as monaco_contribution$1 from '../language/html/monaco.contribution.js';\nimport * as monaco_contribution$2 from '../language/json/monaco.contribution.js';\nimport * as monaco_contribution$3 from '../language/typescript/monaco.contribution.js';\nimport '../basic-languages/abap/abap.contribution.js';\nimport '../basic-languages/apex/apex.contribution.js';\nimport '../basic-languages/azcli/azcli.contribution.js';\nimport '../basic-languages/bat/bat.contribution.js';\nimport '../basic-languages/bicep/bicep.contribution.js';\nimport '../basic-languages/cameligo/cameligo.contribution.js';\nimport '../basic-languages/clojure/clojure.contribution.js';\nimport '../basic-languages/coffee/coffee.contribution.js';\nimport '../basic-languages/cpp/cpp.contribution.js';\nimport '../basic-languages/csharp/csharp.contribution.js';\nimport '../basic-languages/csp/csp.contribution.js';\nimport '../basic-languages/css/css.contribution.js';\nimport '../basic-languages/cypher/cypher.contribution.js';\nimport '../basic-languages/dart/dart.contribution.js';\nimport '../basic-languages/dockerfile/dockerfile.contribution.js';\nimport '../basic-languages/ecl/ecl.contribution.js';\nimport '../basic-languages/elixir/elixir.contribution.js';\nimport '../basic-languages/flow9/flow9.contribution.js';\nimport '../basic-languages/fsharp/fsharp.contribution.js';\nimport '../basic-languages/freemarker2/freemarker2.contribution.js';\nimport '../basic-languages/go/go.contribution.js';\nimport '../basic-languages/graphql/graphql.contribution.js';\nimport '../basic-languages/handlebars/handlebars.contribution.js';\nimport '../basic-languages/hcl/hcl.contribution.js';\nimport '../basic-languages/html/html.contribution.js';\nimport '../basic-languages/ini/ini.contribution.js';\nimport '../basic-languages/java/java.contribution.js';\nimport '../basic-languages/javascript/javascript.contribution.js';\nimport '../basic-languages/julia/julia.contribution.js';\nimport '../basic-languages/kotlin/kotlin.contribution.js';\nimport '../basic-languages/less/less.contribution.js';\nimport '../basic-languages/lexon/lexon.contribution.js';\nimport '../basic-languages/lua/lua.contribution.js';\nimport '../basic-languages/liquid/liquid.contribution.js';\nimport '../basic-languages/m3/m3.contribution.js';\nimport '../basic-languages/markdown/markdown.contribution.js';\nimport '../basic-languages/mdx/mdx.contribution.js';\nimport '../basic-languages/mips/mips.contribution.js';\nimport '../basic-languages/msdax/msdax.contribution.js';\nimport '../basic-languages/mysql/mysql.contribution.js';\nimport '../basic-languages/objective-c/objective-c.contribution.js';\nimport '../basic-languages/pascal/pascal.contribution.js';\nimport '../basic-languages/pascaligo/pascaligo.contribution.js';\nimport '../basic-languages/perl/perl.contribution.js';\nimport '../basic-languages/pgsql/pgsql.contribution.js';\nimport '../basic-languages/php/php.contribution.js';\nimport '../basic-languages/pla/pla.contribution.js';\nimport '../basic-languages/postiats/postiats.contribution.js';\nimport '../basic-languages/powerquery/powerquery.contribution.js';\nimport '../basic-languages/powershell/powershell.contribution.js';\nimport '../basic-languages/protobuf/protobuf.contribution.js';\nimport '../basic-languages/pug/pug.contribution.js';\nimport '../basic-languages/python/python.contribution.js';\nimport '../basic-languages/qsharp/qsharp.contribution.js';\nimport '../basic-languages/r/r.contribution.js';\nimport '../basic-languages/razor/razor.contribution.js';\nimport '../basic-languages/redis/redis.contribution.js';\nimport '../basic-languages/redshift/redshift.contribution.js';\nimport '../basic-languages/restructuredtext/restructuredtext.contribution.js';\nimport '../basic-languages/ruby/ruby.contribution.js';\nimport '../basic-languages/rust/rust.contribution.js';\nimport '../basic-languages/sb/sb.contribution.js';\nimport '../basic-languages/scala/scala.contribution.js';\nimport '../basic-languages/scheme/scheme.contribution.js';\nimport '../basic-languages/scss/scss.contribution.js';\nimport '../basic-languages/shell/shell.contribution.js';\nimport '../basic-languages/solidity/solidity.contribution.js';\nimport '../basic-languages/sophia/sophia.contribution.js';\nimport '../basic-languages/sparql/sparql.contribution.js';\nimport '../basic-languages/sql/sql.contribution.js';\nimport '../basic-languages/st/st.contribution.js';\nimport '../basic-languages/swift/swift.contribution.js';\nimport '../basic-languages/systemverilog/systemverilog.contribution.js';\nimport '../basic-languages/tcl/tcl.contribution.js';\nimport '../basic-languages/twig/twig.contribution.js';\nimport '../basic-languages/typescript/typescript.contribution.js';\nimport '../basic-languages/typespec/typespec.contribution.js';\nimport '../basic-languages/vb/vb.contribution.js';\nimport '../basic-languages/wgsl/wgsl.contribution.js';\nimport '../basic-languages/xml/xml.contribution.js';\nimport '../basic-languages/yaml/yaml.contribution.js';\nimport * as index from '../../external/monaco-lsp-client/out/index.js';\nexport { index as lsp };\nimport './browser/coreCommands.js';\nimport './browser/widget/codeEditor/codeEditorWidget.js';\nimport './browser/widget/diffEditor/diffEditor.contribution.js';\nimport './contrib/anchorSelect/browser/anchorSelect.js';\nimport './contrib/bracketMatching/browser/bracketMatching.js';\nimport './contrib/caretOperations/browser/caretOperations.js';\nimport './contrib/caretOperations/browser/transpose.js';\nimport './contrib/clipboard/browser/clipboard.js';\nimport './contrib/codeAction/browser/codeActionContributions.js';\nimport './contrib/codelens/browser/codelensController.js';\nimport './contrib/colorPicker/browser/colorPickerContribution.js';\nimport './contrib/comment/browser/comment.js';\nimport './contrib/contextmenu/browser/contextmenu.js';\nimport './contrib/cursorUndo/browser/cursorUndo.js';\nimport './contrib/dnd/browser/dnd.js';\nimport './contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport './contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport './contrib/find/browser/findController.js';\nimport './contrib/folding/browser/folding.js';\nimport './contrib/fontZoom/browser/fontZoom.js';\nimport './contrib/format/browser/formatActions.js';\nimport './contrib/documentSymbols/browser/documentSymbols.js';\nimport './contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport './contrib/inlineProgress/browser/inlineProgress.js';\nimport './contrib/gotoSymbol/browser/goToCommands.js';\nimport './contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport './contrib/gotoError/browser/gotoError.js';\nimport './contrib/gpu/browser/gpuActions.js';\nimport './contrib/hover/browser/hoverContribution.js';\nimport './contrib/indentation/browser/indentation.js';\nimport './contrib/inlayHints/browser/inlayHintsContribution.js';\nimport './contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport './contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport './contrib/lineSelection/browser/lineSelection.js';\nimport './contrib/linesOperations/browser/linesOperations.js';\nimport './contrib/linkedEditing/browser/linkedEditing.js';\nimport './contrib/links/browser/links.js';\nimport './contrib/longLinesHelper/browser/longLinesHelper.js';\nimport './contrib/middleScroll/browser/middleScroll.contribution.js';\nimport './contrib/multicursor/browser/multicursor.js';\nimport './contrib/parameterHints/browser/parameterHints.js';\nimport './contrib/placeholderText/browser/placeholderText.contribution.js';\nimport './contrib/rename/browser/rename.js';\nimport './contrib/sectionHeaders/browser/sectionHeaders.js';\nimport './contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport './contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport './contrib/smartSelect/browser/smartSelect.js';\nimport './contrib/snippet/browser/snippetController2.js';\nimport './contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport './contrib/suggest/browser/suggestController.js';\nimport './contrib/suggest/browser/suggestInlineCompletions.js';\nimport './contrib/tokenization/browser/tokenization.js';\nimport './contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport './contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport './contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport './contrib/wordHighlighter/browser/wordHighlighter.js';\nimport './contrib/wordOperations/browser/wordOperations.js';\nimport './contrib/wordPartOperations/browser/wordPartOperations.js';\nimport './contrib/readOnlyMessage/browser/contribution.js';\nimport './contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport './contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport './common/standaloneStrings.js';\nimport '../base/browser/ui/codicons/codicon/codicon.css';\nimport '../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport './standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport './standalone/browser/inspectTokens/inspectTokens.js';\nimport './standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport './standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport './standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport './standalone/browser/toggleHighContrast/toggleHighContrast.js';\nexport { CancellationTokenSource, Emitter, KeyCode, KeyMod, MarkerSeverity, MarkerTag, Position, Range, Selection, SelectionDirection, Token, Uri, editor, languages } from './editor.api2.js';\nexport { createWebWorker } from '../common/workers.js';\nimport { getGlobalMonaco } from './internal/initialize.js';\n\nconst monacoApi = getGlobalMonaco();\nmonacoApi.languages.css = monaco_contribution;\nmonacoApi.languages.html = monaco_contribution$1;\nmonacoApi.languages.typescript = monaco_contribution$3;\nmonacoApi.languages.json = monaco_contribution$2;\n\nexport { monaco_contribution as css, monaco_contribution$1 as html, monaco_contribution$2 as json, monaco_contribution$3 as typescript };\n","import {\n contributionRegistry,\n subscribe,\n TOPIC_CONTRIBUTEIONS_CHANGED,\n type ContributionChangeEvent,\n} from '@eclipse-docks/core';\nimport * as monaco from 'monaco-editor';\n\nimport {\n MONACO_GRAMMARS,\n type MonacoGrammarContribution,\n} from './monaco-grammar-api';\n\nconst appliedGrammarIds = new Set<string>();\n\n/**\n * Apply contributed Monarch grammars to this package's Monaco module.\n * Safe to call repeatedly; each language id is registered at most once.\n */\nexport function ensureContributedGrammars(): void {\n const contributions =\n contributionRegistry.getContributions<MonacoGrammarContribution>(MONACO_GRAMMARS);\n\n for (const contribution of contributions) {\n const id = contribution.name;\n if (!id || appliedGrammarIds.has(id)) continue;\n\n const alreadyKnown = monaco.languages.getLanguages().some((lang) => lang.id === id);\n if (!alreadyKnown) {\n monaco.languages.register({\n id,\n extensions: contribution.extensions,\n aliases: contribution.aliases,\n mimetypes: contribution.mimetypes,\n });\n }\n\n if (contribution.conf) {\n monaco.languages.setLanguageConfiguration(id, contribution.conf);\n }\n monaco.languages.setMonarchTokensProvider(id, contribution.language);\n appliedGrammarIds.add(id);\n }\n}\n\nlet listening = false;\n\nexport function watchContributedGrammars(): void {\n if (listening) return;\n listening = true;\n subscribe(TOPIC_CONTRIBUTEIONS_CHANGED, (event: ContributionChangeEvent) => {\n if (event.target !== MONACO_GRAMMARS) return;\n ensureContributedGrammars();\n });\n}\n","import * as monaco from 'monaco-editor';\nimport styles from \"monaco-editor/min/vs/editor/editor.main.css?raw\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { LitElement, PropertyValues } from \"lit\";\nimport { css, html } from \"lit\";\nimport { createRef, ref } from \"lit/directives/ref.js\";\n\nimport EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker.js?worker';\nimport JsonWorker from 'monaco-editor/esm/vs/language/json/json.worker.js?worker';\nimport CssWorker from 'monaco-editor/esm/vs/language/css/css.worker.js?worker';\nimport HtmlWorker from 'monaco-editor/esm/vs/language/html/html.worker.js?worker';\nimport TsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker.js?worker';\n\nimport { ensureContributedGrammars, watchContributedGrammars } from './monaco-grammars';\n\nfunction getMonacoWorker(_: unknown, label: string): Worker {\n switch (label) {\n case 'json': return new JsonWorker();\n case 'css':\n case 'scss':\n case 'less': return new CssWorker();\n case 'html':\n case 'handlebars':\n case 'razor': return new HtmlWorker();\n case 'typescript':\n case 'javascript': return new TsWorker();\n default: return new EditorWorker();\n }\n}\n\nself.MonacoEnvironment = { getWorker: getMonacoWorker };\n\nwatchContributedGrammars();\n\n@customElement('docks-monaco-widget')\nexport class DocksMonacoWidget extends LitElement {\n @property({ attribute: false })\n value?: string;\n\n @property()\n language?: string;\n\n @property()\n uri?: string;\n\n @property({ type: Boolean })\n readOnly: boolean = false;\n\n @property()\n theme: string = 'vs-dark';\n\n @property({ type: Boolean, attribute: 'auto-layout' })\n autoLayout = false;\n\n private containerRef = createRef<HTMLElement>();\n private editor?: monaco.editor.IStandaloneCodeEditor;\n private model?: monaco.editor.ITextModel;\n private themeObserver?: MutationObserver;\n private resizeObserver?: ResizeObserver;\n\n private getMonacoTheme(): string {\n const root = document.documentElement;\n if (root.classList.contains('wa-dark')) return 'vs-dark';\n if (root.classList.contains('wa-light')) return 'vs';\n return 'vs-dark';\n }\n\n private setupThemeObserver(): void {\n const rootElement = document.documentElement;\n let currentTheme = this.getMonacoTheme();\n\n this.themeObserver = new MutationObserver(() => {\n const newTheme = this.getMonacoTheme();\n if (newTheme !== currentTheme) {\n currentTheme = newTheme;\n monaco.editor.setTheme(newTheme);\n }\n });\n\n this.themeObserver.observe(rootElement, {\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n\n private ensureEditor() {\n const container = this.containerRef.value;\n if (!container || this.editor) return;\n if (this.value === undefined) return;\n\n ensureContributedGrammars();\n\n const uri = this.uri != null ? monaco.Uri.file(this.uri) : undefined;\n this.model = monaco.editor.createModel(this.value, this.language, uri);\n this.editor = monaco.editor.create(container, {\n theme: this.getMonacoTheme(),\n automaticLayout: this.autoLayout,\n minimap: { enabled: false },\n scrollBeyondLastLine: false,\n });\n this.model.onDidChangeContent(() => {\n if (this.readOnly) return;\n this.dispatchEvent(new CustomEvent('content-change', { bubbles: true, composed: true }));\n });\n this.editor.setModel(this.model);\n this.editor.onDidFocusEditorText(() => {\n this.dispatchEvent(new CustomEvent('editor-focus', { bubbles: true, composed: true }));\n });\n this.editor.onDidBlurEditorText(() => {\n this.dispatchEvent(new CustomEvent('editor-blur', { bubbles: true, composed: true }));\n });\n this.editor.onDidContentSizeChange(() => {\n const height = this.editor?.getContentHeight() ?? 0;\n this.dispatchEvent(new CustomEvent('content-height-changed', { detail: { height }, bubbles: true, composed: true }));\n });\n this.resizeObserver = new ResizeObserver(() => this.editor?.layout());\n this.resizeObserver.observe(container);\n this.setupThemeObserver();\n }\n\n protected firstUpdated(_changedProperties: PropertyValues) {\n super.firstUpdated(_changedProperties);\n this.ensureEditor();\n }\n\n protected updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('value') || changedProperties.has('language') || changedProperties.has('uri')) {\n this.ensureEditor();\n }\n }\n\n disconnectedCallback() {\n this.dispose();\n super.disconnectedCallback();\n }\n\n public dispose() {\n this.resizeObserver?.disconnect();\n this.resizeObserver = undefined;\n this.themeObserver?.disconnect();\n this.themeObserver = undefined;\n this.model?.dispose();\n this.editor?.dispose();\n this.model = undefined;\n this.editor = undefined;\n }\n\n public getEditor(): monaco.editor.IStandaloneCodeEditor | undefined {\n return this.editor;\n }\n\n public getContentHeight(): number {\n return this.editor?.getContentHeight() ?? 0;\n }\n\n public layout(): void {\n this.editor?.layout();\n }\n\n public getModel(): monaco.editor.ITextModel | undefined {\n return this.model;\n }\n\n public getContent(): string | null {\n return this.model?.getValue() ?? null;\n }\n\n public getLanguage(): string | null {\n return this.model?.getLanguageId()?.toLowerCase() ?? null;\n }\n\n public isLanguage(lang: string): boolean {\n return this.getLanguage() === lang.toLowerCase();\n }\n\n public getSelection(): string | null {\n if (!this.editor || !this.model) return null;\n try {\n const selection = this.editor.getSelection();\n if (!selection || selection.isEmpty()) return null;\n return this.model.getValueInRange(selection) || null;\n } catch {\n return null;\n }\n }\n\n public getSnippet(lines: number = 5): { snippet: string; cursorLine: number } | null {\n if (!this.editor || !this.model) return null;\n try {\n const position = this.editor.getPosition();\n if (!position) return null;\n const n = isNaN(lines) || lines < 0 ? 5 : lines;\n const cursorLineNumber = position.lineNumber;\n const totalLines = this.model.getLineCount();\n const startLine = Math.max(1, cursorLineNumber - n);\n const endLine = Math.min(totalLines, cursorLineNumber + n);\n const snippet = this.model.getValueInRange({\n startLineNumber: startLine,\n startColumn: 1,\n endLineNumber: endLine,\n endColumn: this.model.getLineMaxColumn(endLine),\n });\n return { snippet, cursorLine: cursorLineNumber };\n } catch {\n return null;\n }\n }\n\n render() {\n return html`\n <style>${styles}</style>\n <div class=\"monaco-editor-container\" ${ref(this.containerRef)}></div>\n `;\n }\n\n static styles = css`\n :host {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n }\n div.monaco-editor-container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n }\n `;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'docks-monaco-widget': DocksMonacoWidget;\n }\n}\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87],"mappings":"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"}