You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2767 lines
142 KiB
2767 lines
142 KiB
(self["webpackChunk"] = self["webpackChunk"] || []).push([[71448],{
|
|
|
|
/***/ 71448:
|
|
/*!******************************************************************************************************!*\
|
|
!*** include-loader!./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/editor.main.js ***!
|
|
\******************************************************************************************************/
|
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
|
|
self["MonacoEnvironment"] = (function (paths) {
|
|
function stripTrailingSlash(str) {
|
|
return str.replace(/\/$/, '');
|
|
}
|
|
return {
|
|
globalAPI: false,
|
|
getWorkerUrl: function (moduleId, label) {
|
|
var pathPrefix = true ? __webpack_require__.p : 0;
|
|
var result = (pathPrefix ? stripTrailingSlash(pathPrefix) + '/' : '') + paths[label];
|
|
if (/^((http:)|(https:)|(file:)|(\/\/))/.test(result)) {
|
|
var currentUrl = String(window.location);
|
|
var currentOrigin = currentUrl.substr(0, currentUrl.length - window.location.hash.length - window.location.search.length - window.location.pathname.length);
|
|
if (result.substring(0, currentOrigin.length) !== currentOrigin) {
|
|
if(/^(\/\/)/.test(result)) {
|
|
result = window.location.protocol + result
|
|
}
|
|
var js = '/*' + label + '*/importScripts("' + result + '");';
|
|
var blob = new Blob([js], { type: 'application/javascript' });
|
|
return URL.createObjectURL(blob);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
};
|
|
})({
|
|
"editorWorkerService": "editor.worker.js",
|
|
"css": "css.worker.js",
|
|
"html": "html.worker.js",
|
|
"json": "json.worker.js",
|
|
"typescript": "ts.worker.js",
|
|
"javascript": "ts.worker.js",
|
|
"less": "css.worker.js",
|
|
"scss": "css.worker.js",
|
|
"handlebars": "html.worker.js",
|
|
"razor": "html.worker.js"
|
|
});
|
|
__webpack_require__(/*! ./standalone/browser/accessibilityHelp/accessibilityHelp.js */ 20654);
|
|
__webpack_require__(/*! ./contrib/bracketMatching/bracketMatching.js */ 49949);
|
|
__webpack_require__(/*! ./contrib/caretOperations/caretOperations.js */ 32838);
|
|
__webpack_require__(/*! ./contrib/clipboard/clipboard.js */ 84826);
|
|
__webpack_require__(/*! ./contrib/codeAction/codeActionContributions.js */ 60066);
|
|
__webpack_require__(/*! ./contrib/codelens/codelensController.js */ 48967);
|
|
__webpack_require__(/*! ./contrib/comment/comment.js */ 54807);
|
|
__webpack_require__(/*! ./contrib/contextmenu/contextmenu.js */ 88297);
|
|
__webpack_require__(/*! ./browser/controller/coreCommands.js */ 46343);
|
|
__webpack_require__(/*! ./contrib/cursorUndo/cursorUndo.js */ 4105);
|
|
__webpack_require__(/*! ./contrib/dnd/dnd.js */ 68858);
|
|
__webpack_require__(/*! ./contrib/find/findController.js */ 46034);
|
|
__webpack_require__(/*! ./contrib/folding/folding.js */ 8141);
|
|
__webpack_require__(/*! ./contrib/fontZoom/fontZoom.js */ 34064);
|
|
__webpack_require__(/*! ./contrib/format/formatActions.js */ 85628);
|
|
__webpack_require__(/*! ./contrib/gotoError/gotoError.js */ 66896);
|
|
__webpack_require__(/*! ./standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js */ 65586);
|
|
__webpack_require__(/*! ./contrib/gotoSymbol/goToCommands.js */ 17645);
|
|
__webpack_require__(/*! ./contrib/gotoSymbol/link/goToDefinitionAtPosition.js */ 25202);
|
|
__webpack_require__(/*! ./contrib/hover/hover.js */ 22820);
|
|
__webpack_require__(/*! ./standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js */ 23425);
|
|
__webpack_require__(/*! ./contrib/inPlaceReplace/inPlaceReplace.js */ 63478);
|
|
__webpack_require__(/*! ./standalone/browser/inspectTokens/inspectTokens.js */ 48304);
|
|
__webpack_require__(/*! ./contrib/linesOperations/linesOperations.js */ 26313);
|
|
__webpack_require__(/*! ./contrib/links/links.js */ 94701);
|
|
__webpack_require__(/*! ./contrib/multicursor/multicursor.js */ 51518);
|
|
__webpack_require__(/*! ./contrib/parameterHints/parameterHints.js */ 70938);
|
|
__webpack_require__(/*! ./standalone/browser/quickAccess/standaloneCommandsQuickAccess.js */ 63435);
|
|
__webpack_require__(/*! ./standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js */ 83861);
|
|
__webpack_require__(/*! ./standalone/browser/referenceSearch/standaloneReferenceSearch.js */ 34835);
|
|
__webpack_require__(/*! ./contrib/rename/rename.js */ 27391);
|
|
__webpack_require__(/*! ./contrib/smartSelect/smartSelect.js */ 71925);
|
|
__webpack_require__(/*! ./contrib/snippet/snippetController2.js */ 19257);
|
|
__webpack_require__(/*! ./contrib/suggest/suggestController.js */ 10321);
|
|
__webpack_require__(/*! ./standalone/browser/toggleHighContrast/toggleHighContrast.js */ 6181);
|
|
__webpack_require__(/*! ./contrib/toggleTabFocusMode/toggleTabFocusMode.js */ 6410);
|
|
__webpack_require__(/*! ./contrib/caretOperations/transpose.js */ 28630);
|
|
__webpack_require__(/*! ./contrib/wordHighlighter/wordHighlighter.js */ 29111);
|
|
__webpack_require__(/*! ./contrib/wordOperations/wordOperations.js */ 63618);
|
|
__webpack_require__(/*! ./contrib/wordPartOperations/wordPartOperations.js */ 48608);
|
|
module.exports = __webpack_require__(/*! !!./editor.main.js */ 26762);
|
|
__webpack_require__(/*! ../basic-languages/abap/abap.contribution.js */ 92973);
|
|
__webpack_require__(/*! ../basic-languages/apex/apex.contribution.js */ 72773);
|
|
__webpack_require__(/*! ../basic-languages/azcli/azcli.contribution.js */ 30219);
|
|
__webpack_require__(/*! ../basic-languages/bat/bat.contribution.js */ 10755);
|
|
__webpack_require__(/*! ../basic-languages/cameligo/cameligo.contribution.js */ 74121);
|
|
__webpack_require__(/*! ../basic-languages/clojure/clojure.contribution.js */ 77973);
|
|
__webpack_require__(/*! ../basic-languages/coffee/coffee.contribution.js */ 27246);
|
|
__webpack_require__(/*! ../basic-languages/cpp/cpp.contribution.js */ 82961);
|
|
__webpack_require__(/*! ../basic-languages/csharp/csharp.contribution.js */ 19959);
|
|
__webpack_require__(/*! ../basic-languages/csp/csp.contribution.js */ 23347);
|
|
__webpack_require__(/*! ../basic-languages/css/css.contribution.js */ 17323);
|
|
__webpack_require__(/*! ../language/css/monaco.contribution.js */ 24607);
|
|
__webpack_require__(/*! ../basic-languages/dockerfile/dockerfile.contribution.js */ 90130);
|
|
__webpack_require__(/*! ../basic-languages/fsharp/fsharp.contribution.js */ 72185);
|
|
__webpack_require__(/*! ../basic-languages/go/go.contribution.js */ 40882);
|
|
__webpack_require__(/*! ../basic-languages/graphql/graphql.contribution.js */ 14349);
|
|
__webpack_require__(/*! ../basic-languages/handlebars/handlebars.contribution.js */ 10715);
|
|
__webpack_require__(/*! ../basic-languages/html/html.contribution.js */ 88756);
|
|
__webpack_require__(/*! ../language/html/monaco.contribution.js */ 67748);
|
|
__webpack_require__(/*! ../basic-languages/ini/ini.contribution.js */ 30141);
|
|
__webpack_require__(/*! ../basic-languages/java/java.contribution.js */ 44115);
|
|
__webpack_require__(/*! ../basic-languages/javascript/javascript.contribution.js */ 65588);
|
|
__webpack_require__(/*! ../language/json/monaco.contribution.js */ 42716);
|
|
__webpack_require__(/*! ../basic-languages/kotlin/kotlin.contribution.js */ 83135);
|
|
__webpack_require__(/*! ../basic-languages/less/less.contribution.js */ 91067);
|
|
__webpack_require__(/*! ../basic-languages/lua/lua.contribution.js */ 63886);
|
|
__webpack_require__(/*! ../basic-languages/markdown/markdown.contribution.js */ 44865);
|
|
__webpack_require__(/*! ../basic-languages/mips/mips.contribution.js */ 41495);
|
|
__webpack_require__(/*! ../basic-languages/msdax/msdax.contribution.js */ 51025);
|
|
__webpack_require__(/*! ../basic-languages/mysql/mysql.contribution.js */ 38516);
|
|
__webpack_require__(/*! ../basic-languages/objective-c/objective-c.contribution.js */ 18504);
|
|
__webpack_require__(/*! ../basic-languages/pascal/pascal.contribution.js */ 28593);
|
|
__webpack_require__(/*! ../basic-languages/pascaligo/pascaligo.contribution.js */ 43069);
|
|
__webpack_require__(/*! ../basic-languages/perl/perl.contribution.js */ 50185);
|
|
__webpack_require__(/*! ../basic-languages/pgsql/pgsql.contribution.js */ 11745);
|
|
__webpack_require__(/*! ../basic-languages/php/php.contribution.js */ 96025);
|
|
__webpack_require__(/*! ../basic-languages/postiats/postiats.contribution.js */ 85713);
|
|
__webpack_require__(/*! ../basic-languages/powerquery/powerquery.contribution.js */ 98836);
|
|
__webpack_require__(/*! ../basic-languages/powershell/powershell.contribution.js */ 18625);
|
|
__webpack_require__(/*! ../basic-languages/pug/pug.contribution.js */ 25167);
|
|
__webpack_require__(/*! ../basic-languages/python/python.contribution.js */ 5512);
|
|
__webpack_require__(/*! ../basic-languages/r/r.contribution.js */ 59066);
|
|
__webpack_require__(/*! ../basic-languages/razor/razor.contribution.js */ 73363);
|
|
__webpack_require__(/*! ../basic-languages/redis/redis.contribution.js */ 5769);
|
|
__webpack_require__(/*! ../basic-languages/redshift/redshift.contribution.js */ 95630);
|
|
__webpack_require__(/*! ../basic-languages/restructuredtext/restructuredtext.contribution.js */ 12189);
|
|
__webpack_require__(/*! ../basic-languages/ruby/ruby.contribution.js */ 78605);
|
|
__webpack_require__(/*! ../basic-languages/rust/rust.contribution.js */ 17728);
|
|
__webpack_require__(/*! ../basic-languages/sb/sb.contribution.js */ 94503);
|
|
__webpack_require__(/*! ../basic-languages/scheme/scheme.contribution.js */ 66857);
|
|
__webpack_require__(/*! ../basic-languages/scss/scss.contribution.js */ 38341);
|
|
__webpack_require__(/*! ../basic-languages/shell/shell.contribution.js */ 61010);
|
|
__webpack_require__(/*! ../basic-languages/solidity/solidity.contribution.js */ 1099);
|
|
__webpack_require__(/*! ../basic-languages/sophia/sophia.contribution.js */ 49478);
|
|
__webpack_require__(/*! ../basic-languages/sql/sql.contribution.js */ 32985);
|
|
__webpack_require__(/*! ../basic-languages/st/st.contribution.js */ 72088);
|
|
__webpack_require__(/*! ../basic-languages/swift/swift.contribution.js */ 69746);
|
|
__webpack_require__(/*! ../basic-languages/tcl/tcl.contribution.js */ 94912);
|
|
__webpack_require__(/*! ../basic-languages/twig/twig.contribution.js */ 60032);
|
|
__webpack_require__(/*! ../basic-languages/typescript/typescript.contribution.js */ 24571);
|
|
__webpack_require__(/*! ../language/typescript/monaco.contribution.js */ 55670);
|
|
__webpack_require__(/*! ../basic-languages/vb/vb.contribution.js */ 77777);
|
|
__webpack_require__(/*! ../basic-languages/xml/xml.contribution.js */ 39393);
|
|
__webpack_require__(/*! ../basic-languages/yaml/yaml.contribution.js */ 81147);
|
|
__webpack_require__(/*! ../basic-languages/scala/scala.contribution.js */ 35550);
|
|
|
|
/***/ }),
|
|
|
|
/***/ 26762:
|
|
/*!****************************************************************************************************!*\
|
|
!*** ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/editor.main.js + 30 modules ***!
|
|
\****************************************************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
"use strict";
|
|
// ESM COMPAT FLAG
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
CancellationTokenSource: function() { return /* reexport */ editor_api.CancellationTokenSource; },
|
|
Emitter: function() { return /* reexport */ editor_api.Emitter; },
|
|
KeyCode: function() { return /* reexport */ editor_api.KeyCode; },
|
|
KeyMod: function() { return /* reexport */ editor_api.KeyMod; },
|
|
MarkerSeverity: function() { return /* reexport */ editor_api.MarkerSeverity; },
|
|
MarkerTag: function() { return /* reexport */ editor_api.MarkerTag; },
|
|
Position: function() { return /* reexport */ editor_api.Position; },
|
|
Range: function() { return /* reexport */ editor_api.Range; },
|
|
Selection: function() { return /* reexport */ editor_api.Selection; },
|
|
SelectionDirection: function() { return /* reexport */ editor_api.SelectionDirection; },
|
|
Token: function() { return /* reexport */ editor_api.Token; },
|
|
Uri: function() { return /* reexport */ editor_api.Uri; },
|
|
__esModule: function() { return /* reexport */ editor_api.__esModule; },
|
|
editor: function() { return /* reexport */ editor_api.editor; },
|
|
languages: function() { return /* reexport */ editor_api.languages; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/language/typescript/monaco.contribution.js + 1 modules
|
|
var monaco_contribution = __webpack_require__(55670);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/language/css/monaco.contribution.js
|
|
var css_monaco_contribution = __webpack_require__(24607);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/language/json/monaco.contribution.js
|
|
var json_monaco_contribution = __webpack_require__(42716);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/language/html/monaco.contribution.js
|
|
var html_monaco_contribution = __webpack_require__(67748);
|
|
// EXTERNAL MODULE: include-loader!./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/editor.api.js
|
|
var editor_api = __webpack_require__(2550);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/abap/abap.contribution.js
|
|
var abap_contribution = __webpack_require__(92973);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/apex/apex.contribution.js
|
|
var apex_contribution = __webpack_require__(72773);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/azcli/azcli.contribution.js
|
|
var azcli_contribution = __webpack_require__(30219);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/bat/bat.contribution.js
|
|
var bat_contribution = __webpack_require__(10755);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/_.contribution.js
|
|
var _contribution = __webpack_require__(98909);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/bicep/bicep.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'bicep',
|
|
extensions: ['.bicep'],
|
|
aliases: ['Bicep'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 74014).then(__webpack_require__.bind(__webpack_require__, /*! ./bicep.js */ 74014)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/cameligo/cameligo.contribution.js
|
|
var cameligo_contribution = __webpack_require__(74121);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/clojure/clojure.contribution.js
|
|
var clojure_contribution = __webpack_require__(77973);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/coffee/coffee.contribution.js
|
|
var coffee_contribution = __webpack_require__(27246);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution.js
|
|
var cpp_contribution = __webpack_require__(82961);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution.js
|
|
var csharp_contribution = __webpack_require__(19959);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/csp/csp.contribution.js
|
|
var csp_contribution = __webpack_require__(23347);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/css/css.contribution.js
|
|
var css_contribution = __webpack_require__(17323);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/dart/dart.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'dart',
|
|
extensions: ['.dart'],
|
|
aliases: ['Dart', 'dart'],
|
|
mimetypes: ['text/x-dart-source', 'text/x-dart'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 18963).then(__webpack_require__.bind(__webpack_require__, /*! ./dart.js */ 18963)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution.js
|
|
var dockerfile_contribution = __webpack_require__(90130);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/ecl/ecl.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'ecl',
|
|
extensions: ['.ecl'],
|
|
aliases: ['ECL', 'Ecl', 'ecl'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 78302).then(__webpack_require__.bind(__webpack_require__, /*! ./ecl.js */ 78302)); }
|
|
});
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/elixir/elixir.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'elixir',
|
|
extensions: ['.ex', '.exs'],
|
|
aliases: ['Elixir', 'elixir', 'ex'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 51646).then(__webpack_require__.bind(__webpack_require__, /*! ./elixir.js */ 51646)); }
|
|
});
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/flow9/flow9.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'flow9',
|
|
extensions: ['.flow'],
|
|
aliases: ['Flow9', 'Flow', 'flow9', 'flow'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 70981).then(__webpack_require__.bind(__webpack_require__, /*! ./flow9.js */ 70981)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/fsharp/fsharp.contribution.js
|
|
var fsharp_contribution = __webpack_require__(72185);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/go/go.contribution.js
|
|
var go_contribution = __webpack_require__(40882);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution.js
|
|
var graphql_contribution = __webpack_require__(14349);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/handlebars/handlebars.contribution.js
|
|
var handlebars_contribution = __webpack_require__(10715);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/hcl/hcl.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'hcl',
|
|
extensions: ['.tf', '.tfvars', '.hcl'],
|
|
aliases: ['Terraform', 'tf', 'HCL', 'hcl'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 15290).then(__webpack_require__.bind(__webpack_require__, /*! ./hcl.js */ 15290)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/html/html.contribution.js
|
|
var html_contribution = __webpack_require__(88756);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/ini/ini.contribution.js
|
|
var ini_contribution = __webpack_require__(30141);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/java/java.contribution.js
|
|
var java_contribution = __webpack_require__(44115);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution.js
|
|
var javascript_contribution = __webpack_require__(65588);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/julia/julia.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'julia',
|
|
extensions: ['.jl'],
|
|
aliases: ['julia', 'Julia'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 15631).then(__webpack_require__.bind(__webpack_require__, /*! ./julia.js */ 15631)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution.js
|
|
var kotlin_contribution = __webpack_require__(83135);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/less/less.contribution.js
|
|
var less_contribution = __webpack_require__(91067);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/lexon/lexon.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'lexon',
|
|
extensions: ['.lex'],
|
|
aliases: ['Lexon'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 80629).then(__webpack_require__.bind(__webpack_require__, /*! ./lexon.js */ 80629)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/lua/lua.contribution.js
|
|
var lua_contribution = __webpack_require__(63886);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/liquid/liquid.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'liquid',
|
|
extensions: ['.liquid', '.html.liquid'],
|
|
aliases: ['Liquid', 'liquid'],
|
|
mimetypes: ['application/liquid'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 86774).then(__webpack_require__.bind(__webpack_require__, /*! ./liquid.js */ 61880)); }
|
|
});
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/m3/m3.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'm3',
|
|
extensions: ['.m3', '.i3', '.mg', '.ig'],
|
|
aliases: ['Modula-3', 'Modula3', 'modula3', 'm3'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 30741).then(__webpack_require__.bind(__webpack_require__, /*! ./m3.js */ 30741)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution.js
|
|
var markdown_contribution = __webpack_require__(44865);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/mips/mips.contribution.js
|
|
var mips_contribution = __webpack_require__(41495);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/msdax/msdax.contribution.js
|
|
var msdax_contribution = __webpack_require__(51025);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/mysql/mysql.contribution.js
|
|
var mysql_contribution = __webpack_require__(38516);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution.js
|
|
var objective_c_contribution = __webpack_require__(18504);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/pascal/pascal.contribution.js
|
|
var pascal_contribution = __webpack_require__(28593);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/pascaligo/pascaligo.contribution.js
|
|
var pascaligo_contribution = __webpack_require__(43069);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/perl/perl.contribution.js
|
|
var perl_contribution = __webpack_require__(50185);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/pgsql/pgsql.contribution.js
|
|
var pgsql_contribution = __webpack_require__(11745);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/php/php.contribution.js
|
|
var php_contribution = __webpack_require__(96025);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/pla/pla.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'pla',
|
|
extensions: ['.pla'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 12386).then(__webpack_require__.bind(__webpack_require__, /*! ./pla.js */ 12386)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/postiats/postiats.contribution.js
|
|
var postiats_contribution = __webpack_require__(85713);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/powerquery/powerquery.contribution.js
|
|
var powerquery_contribution = __webpack_require__(98836);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution.js
|
|
var powershell_contribution = __webpack_require__(18625);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/protobuf/protobuf.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'proto',
|
|
extensions: ['.proto'],
|
|
aliases: ['protobuf', 'Protocol Buffers'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 36634).then(__webpack_require__.bind(__webpack_require__, /*! ./protobuf.js */ 36634)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/pug/pug.contribution.js
|
|
var pug_contribution = __webpack_require__(25167);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/python/python.contribution.js
|
|
var python_contribution = __webpack_require__(5512);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/qsharp/qsharp.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'qsharp',
|
|
extensions: ['.qs'],
|
|
aliases: ['Q#', 'qsharp'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 3133).then(__webpack_require__.bind(__webpack_require__, /*! ./qsharp.js */ 3133)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/r/r.contribution.js
|
|
var r_contribution = __webpack_require__(59066);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/razor/razor.contribution.js
|
|
var razor_contribution = __webpack_require__(73363);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/redis/redis.contribution.js
|
|
var redis_contribution = __webpack_require__(5769);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/redshift/redshift.contribution.js
|
|
var redshift_contribution = __webpack_require__(95630);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/restructuredtext/restructuredtext.contribution.js
|
|
var restructuredtext_contribution = __webpack_require__(12189);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution.js
|
|
var ruby_contribution = __webpack_require__(78605);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/rust/rust.contribution.js
|
|
var rust_contribution = __webpack_require__(17728);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/sb/sb.contribution.js
|
|
var sb_contribution = __webpack_require__(94503);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/scala/scala.contribution.js
|
|
var scala_contribution = __webpack_require__(35550);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/scheme/scheme.contribution.js
|
|
var scheme_contribution = __webpack_require__(66857);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/scss/scss.contribution.js
|
|
var scss_contribution = __webpack_require__(38341);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/shell/shell.contribution.js
|
|
var shell_contribution = __webpack_require__(61010);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/solidity/solidity.contribution.js
|
|
var solidity_contribution = __webpack_require__(1099);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/sophia/sophia.contribution.js
|
|
var sophia_contribution = __webpack_require__(49478);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/sparql/sparql.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'sparql',
|
|
extensions: ['.rq'],
|
|
aliases: ['sparql', 'SPARQL'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 95679).then(__webpack_require__.bind(__webpack_require__, /*! ./sparql.js */ 95679)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/sql/sql.contribution.js
|
|
var sql_contribution = __webpack_require__(32985);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/st/st.contribution.js
|
|
var st_contribution = __webpack_require__(72088);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/swift/swift.contribution.js
|
|
var swift_contribution = __webpack_require__(69746);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/systemverilog/systemverilog.contribution.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'systemverilog',
|
|
extensions: ['.sv', '.svh'],
|
|
aliases: ['SV', 'sv', 'SystemVerilog', 'systemverilog'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 39252).then(__webpack_require__.bind(__webpack_require__, /*! ./systemverilog.js */ 39252)); }
|
|
});
|
|
(0,_contribution/* registerLanguage */.H)({
|
|
id: 'verilog',
|
|
extensions: ['.v', '.vh'],
|
|
aliases: ['V', 'v', 'Verilog', 'verilog'],
|
|
loader: function () { return __webpack_require__.e(/*! import() */ 39252).then(__webpack_require__.bind(__webpack_require__, /*! ./systemverilog.js */ 39252)); }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/tcl/tcl.contribution.js
|
|
var tcl_contribution = __webpack_require__(94912);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/twig/twig.contribution.js
|
|
var twig_contribution = __webpack_require__(60032);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js
|
|
var typescript_contribution = __webpack_require__(24571);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/vb/vb.contribution.js
|
|
var vb_contribution = __webpack_require__(77777);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/xml/xml.contribution.js
|
|
var xml_contribution = __webpack_require__(39393);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution.js
|
|
var yaml_contribution = __webpack_require__(81147);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/basic-languages/monaco.contribution.js
|
|
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/browser/controller/coreCommands.js + 1 modules
|
|
var coreCommands = __webpack_require__(46343);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/browser/widget/codeEditorWidget.js + 74 modules
|
|
var codeEditorWidget = __webpack_require__(66406);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/browser/widget/diffEditorWidget.js + 4 modules
|
|
var diffEditorWidget = __webpack_require__(92377);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/browser/widget/diffNavigator.js
|
|
var diffNavigator = __webpack_require__(46810);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/browser/ui/aria/aria.js + 1 modules
|
|
var aria = __webpack_require__(40838);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/htmlContent.js
|
|
var htmlContent = __webpack_require__(94186);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/keyCodes.js
|
|
var keyCodes = __webpack_require__(52411);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.css
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/browser/editorExtensions.js
|
|
var editorExtensions = __webpack_require__(4514);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/core/selection.js
|
|
var selection = __webpack_require__(17551);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/editorContextKeys.js
|
|
var editorContextKeys = __webpack_require__(68987);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/nls.js
|
|
var nls = __webpack_require__(13268);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/contextkey/common/contextkey.js
|
|
var contextkey = __webpack_require__(90689);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/anchorSelect/anchorSelect.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
};
|
|
var __param = (undefined && undefined.__param) || function (paramIndex, decorator) {
|
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
};
|
|
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const SelectionAnchorSet = new contextkey/* RawContextKey */.uy('selectionAnchorSet', false);
|
|
let SelectionAnchorController = class SelectionAnchorController {
|
|
constructor(editor, contextKeyService) {
|
|
this.editor = editor;
|
|
this.selectionAnchorSetContextKey = SelectionAnchorSet.bindTo(contextKeyService);
|
|
this.modelChangeListener = editor.onDidChangeModel(() => this.selectionAnchorSetContextKey.reset());
|
|
}
|
|
static get(editor) {
|
|
return editor.getContribution(SelectionAnchorController.ID);
|
|
}
|
|
setSelectionAnchor() {
|
|
if (this.editor.hasModel()) {
|
|
const position = this.editor.getPosition();
|
|
const previousDecorations = this.decorationId ? [this.decorationId] : [];
|
|
const newDecorationId = this.editor.deltaDecorations(previousDecorations, [{
|
|
range: selection/* Selection */.Y.fromPositions(position, position),
|
|
options: {
|
|
description: 'selection-anchor',
|
|
stickiness: 1 /* NeverGrowsWhenTypingAtEdges */,
|
|
hoverMessage: new htmlContent/* MarkdownString */.W5().appendText((0,nls/* localize */.N)('selectionAnchor', "Selection Anchor")),
|
|
className: 'selection-anchor'
|
|
}
|
|
}]);
|
|
this.decorationId = newDecorationId[0];
|
|
this.selectionAnchorSetContextKey.set(!!this.decorationId);
|
|
(0,aria/* alert */.Z9)((0,nls/* localize */.N)('anchorSet', "Anchor set at {0}:{1}", position.lineNumber, position.column));
|
|
}
|
|
}
|
|
goToSelectionAnchor() {
|
|
if (this.editor.hasModel() && this.decorationId) {
|
|
const anchorPosition = this.editor.getModel().getDecorationRange(this.decorationId);
|
|
if (anchorPosition) {
|
|
this.editor.setPosition(anchorPosition.getStartPosition());
|
|
}
|
|
}
|
|
}
|
|
selectFromAnchorToCursor() {
|
|
if (this.editor.hasModel() && this.decorationId) {
|
|
const start = this.editor.getModel().getDecorationRange(this.decorationId);
|
|
if (start) {
|
|
const end = this.editor.getPosition();
|
|
this.editor.setSelection(selection/* Selection */.Y.fromPositions(start.getStartPosition(), end));
|
|
this.cancelSelectionAnchor();
|
|
}
|
|
}
|
|
}
|
|
cancelSelectionAnchor() {
|
|
if (this.decorationId) {
|
|
this.editor.deltaDecorations([this.decorationId], []);
|
|
this.decorationId = undefined;
|
|
this.selectionAnchorSetContextKey.set(false);
|
|
}
|
|
}
|
|
dispose() {
|
|
this.cancelSelectionAnchor();
|
|
this.modelChangeListener.dispose();
|
|
}
|
|
};
|
|
SelectionAnchorController.ID = 'editor.contrib.selectionAnchorController';
|
|
SelectionAnchorController = __decorate([
|
|
__param(1, contextkey/* IContextKeyService */.i6)
|
|
], SelectionAnchorController);
|
|
class SetSelectionAnchor extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: 'editor.action.setSelectionAnchor',
|
|
label: (0,nls/* localize */.N)('setSelectionAnchor', "Set Selection Anchor"),
|
|
alias: 'Set Selection Anchor',
|
|
precondition: undefined,
|
|
kbOpts: {
|
|
kbExpr: editorContextKeys/* EditorContextKeys */.u.editorTextFocus,
|
|
primary: (0,keyCodes/* KeyChord */.gx)(2048 /* CtrlCmd */ | 41 /* KeyK */, 2048 /* CtrlCmd */ | 32 /* KeyB */),
|
|
weight: 100 /* EditorContrib */
|
|
}
|
|
});
|
|
}
|
|
run(_accessor, editor) {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
const controller = SelectionAnchorController.get(editor);
|
|
controller.setSelectionAnchor();
|
|
});
|
|
}
|
|
}
|
|
class GoToSelectionAnchor extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: 'editor.action.goToSelectionAnchor',
|
|
label: (0,nls/* localize */.N)('goToSelectionAnchor', "Go to Selection Anchor"),
|
|
alias: 'Go to Selection Anchor',
|
|
precondition: SelectionAnchorSet,
|
|
});
|
|
}
|
|
run(_accessor, editor) {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
const controller = SelectionAnchorController.get(editor);
|
|
controller.goToSelectionAnchor();
|
|
});
|
|
}
|
|
}
|
|
class SelectFromAnchorToCursor extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: 'editor.action.selectFromAnchorToCursor',
|
|
label: (0,nls/* localize */.N)('selectFromAnchorToCursor', "Select from Anchor to Cursor"),
|
|
alias: 'Select from Anchor to Cursor',
|
|
precondition: SelectionAnchorSet,
|
|
kbOpts: {
|
|
kbExpr: editorContextKeys/* EditorContextKeys */.u.editorTextFocus,
|
|
primary: (0,keyCodes/* KeyChord */.gx)(2048 /* CtrlCmd */ | 41 /* KeyK */, 2048 /* CtrlCmd */ | 41 /* KeyK */),
|
|
weight: 100 /* EditorContrib */
|
|
}
|
|
});
|
|
}
|
|
run(_accessor, editor) {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
const controller = SelectionAnchorController.get(editor);
|
|
controller.selectFromAnchorToCursor();
|
|
});
|
|
}
|
|
}
|
|
class CancelSelectionAnchor extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: 'editor.action.cancelSelectionAnchor',
|
|
label: (0,nls/* localize */.N)('cancelSelectionAnchor', "Cancel Selection Anchor"),
|
|
alias: 'Cancel Selection Anchor',
|
|
precondition: SelectionAnchorSet,
|
|
kbOpts: {
|
|
kbExpr: editorContextKeys/* EditorContextKeys */.u.editorTextFocus,
|
|
primary: 9 /* Escape */,
|
|
weight: 100 /* EditorContrib */
|
|
}
|
|
});
|
|
}
|
|
run(_accessor, editor) {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
const controller = SelectionAnchorController.get(editor);
|
|
controller.cancelSelectionAnchor();
|
|
});
|
|
}
|
|
}
|
|
(0,editorExtensions/* registerEditorContribution */._K)(SelectionAnchorController.ID, SelectionAnchorController);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(SetSelectionAnchor);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(GoToSelectionAnchor);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(SelectFromAnchorToCursor);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(CancelSelectionAnchor);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/bracketMatching/bracketMatching.js + 1 modules
|
|
var bracketMatching = __webpack_require__(49949);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/caretOperations/caretOperations.js + 1 modules
|
|
var caretOperations = __webpack_require__(32838);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/caretOperations/transpose.js
|
|
var transpose = __webpack_require__(28630);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/clipboard/clipboard.js
|
|
var clipboard = __webpack_require__(84826);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/codeAction/codeActionContributions.js
|
|
var codeActionContributions = __webpack_require__(60066);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/codelens/codelensController.js + 4 modules
|
|
var codelensController = __webpack_require__(48967);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/lifecycle.js
|
|
var lifecycle = __webpack_require__(69323);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/core/range.js
|
|
var core_range = __webpack_require__(17373);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/colorPicker/colorDetector.js
|
|
var colorDetector = __webpack_require__(99851);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/hover/hover.js + 14 modules
|
|
var hover = __webpack_require__(22820);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/colorPicker/colorContributions.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
// import color detector contribution
|
|
|
|
|
|
|
|
|
|
|
|
class ColorContribution extends lifecycle/* Disposable */.JT {
|
|
constructor(_editor) {
|
|
super();
|
|
this._editor = _editor;
|
|
this._register(_editor.onMouseDown((e) => this.onMouseDown(e)));
|
|
}
|
|
dispose() {
|
|
super.dispose();
|
|
}
|
|
onMouseDown(mouseEvent) {
|
|
var _a;
|
|
const targetType = mouseEvent.target.type;
|
|
if (targetType !== 6 /* CONTENT_TEXT */) {
|
|
return;
|
|
}
|
|
const hoverOnColorDecorator = [...((_a = mouseEvent.target.element) === null || _a === void 0 ? void 0 : _a.classList.values()) || []].find(className => className.startsWith('ced-colorBox'));
|
|
if (!hoverOnColorDecorator) {
|
|
return;
|
|
}
|
|
if (!mouseEvent.target.range) {
|
|
return;
|
|
}
|
|
const hoverController = this._editor.getContribution(hover.ModesHoverController.ID);
|
|
if (!hoverController.isColorPickerVisible()) {
|
|
const range = new core_range/* Range */.e(mouseEvent.target.range.startLineNumber, mouseEvent.target.range.startColumn + 1, mouseEvent.target.range.endLineNumber, mouseEvent.target.range.endColumn + 1);
|
|
hoverController.showContentHover(range, 0 /* Delayed */, false);
|
|
}
|
|
}
|
|
}
|
|
ColorContribution.ID = 'editor.contrib.colorContribution'; // ms
|
|
(0,editorExtensions/* registerEditorContribution */._K)(ColorContribution.ID, ColorContribution);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/comment/comment.js + 2 modules
|
|
var comment = __webpack_require__(54807);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/contextmenu/contextmenu.js
|
|
var contextmenu = __webpack_require__(88297);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/cursorUndo/cursorUndo.js
|
|
var cursorUndo = __webpack_require__(4105);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/dnd/dnd.js + 2 modules
|
|
var dnd = __webpack_require__(68858);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/find/findController.js + 17 modules
|
|
var findController = __webpack_require__(46034);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/folding/folding.js + 8 modules
|
|
var folding = __webpack_require__(8141);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/fontZoom/fontZoom.js
|
|
var fontZoom = __webpack_require__(34064);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/format/formatActions.js
|
|
var formatActions = __webpack_require__(85628);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/cancellation.js
|
|
var cancellation = __webpack_require__(96283);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/types.js
|
|
var types = __webpack_require__(72999);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/uri.js
|
|
var common_uri = __webpack_require__(5472);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/services/modelService.js
|
|
var services_modelService = __webpack_require__(12027);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/services/resolverService.js
|
|
var resolverService = __webpack_require__(16862);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/documentSymbols/outlineModel.js
|
|
var outlineModel = __webpack_require__(16903);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/commands/common/commands.js
|
|
var commands = __webpack_require__(35884);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/documentSymbols/documentSymbols.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var documentSymbols_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getDocumentSymbols(document, flat, token) {
|
|
return documentSymbols_awaiter(this, void 0, void 0, function* () {
|
|
const model = yield outlineModel/* OutlineModel */.C3.create(document, token);
|
|
return flat
|
|
? model.asListOfDocumentSymbols()
|
|
: model.getTopLevelSymbols();
|
|
});
|
|
}
|
|
commands/* CommandsRegistry */.P.registerCommand('_executeDocumentSymbolProvider', function (accessor, ...args) {
|
|
return documentSymbols_awaiter(this, void 0, void 0, function* () {
|
|
const [resource] = args;
|
|
(0,types/* assertType */.p_)(common_uri/* URI */.o.isUri(resource));
|
|
const model = accessor.get(services_modelService/* IModelService */.q).getModel(resource);
|
|
if (model) {
|
|
return getDocumentSymbols(model, false, cancellation/* CancellationToken */.T.None);
|
|
}
|
|
const reference = yield accessor.get(resolverService/* ITextModelService */.S).createModelReference(resource);
|
|
try {
|
|
return yield getDocumentSymbols(reference.object.textEditorModel, false, cancellation/* CancellationToken */.T.None);
|
|
}
|
|
finally {
|
|
reference.dispose();
|
|
}
|
|
});
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/inlineCompletions/ghostTextController.js + 10 modules
|
|
var ghostTextController = __webpack_require__(77598);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/gotoSymbol/goToCommands.js + 1 modules
|
|
var goToCommands = __webpack_require__(17645);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/gotoSymbol/link/goToDefinitionAtPosition.js + 1 modules
|
|
var goToDefinitionAtPosition = __webpack_require__(25202);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/gotoError/gotoError.js + 4 modules
|
|
var gotoError = __webpack_require__(66896);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/strings.js
|
|
var strings = __webpack_require__(82983);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/commands/shiftCommand.js
|
|
var shiftCommand = __webpack_require__(91167);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/core/editOperation.js
|
|
var editOperation = __webpack_require__(44124);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/model/textModel.js + 19 modules
|
|
var textModel = __webpack_require__(31276);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/modes/languageConfigurationRegistry.js + 4 modules
|
|
var languageConfigurationRegistry = __webpack_require__(73468);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/indentation/indentUtils.js
|
|
var indentUtils = __webpack_require__(44765);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/quickinput/common/quickInput.js
|
|
var quickInput = __webpack_require__(96148);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/indentation/indentation.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getReindentEditOperations(model, startLineNumber, endLineNumber, inheritedIndent) {
|
|
if (model.getLineCount() === 1 && model.getLineMaxColumn(1) === 1) {
|
|
// Model is empty
|
|
return [];
|
|
}
|
|
const indentationRules = languageConfigurationRegistry/* LanguageConfigurationRegistry */.zu.getIndentationRules(model.getLanguageId());
|
|
if (!indentationRules) {
|
|
return [];
|
|
}
|
|
endLineNumber = Math.min(endLineNumber, model.getLineCount());
|
|
// Skip `unIndentedLinePattern` lines
|
|
while (startLineNumber <= endLineNumber) {
|
|
if (!indentationRules.unIndentedLinePattern) {
|
|
break;
|
|
}
|
|
let text = model.getLineContent(startLineNumber);
|
|
if (!indentationRules.unIndentedLinePattern.test(text)) {
|
|
break;
|
|
}
|
|
startLineNumber++;
|
|
}
|
|
if (startLineNumber > endLineNumber - 1) {
|
|
return [];
|
|
}
|
|
const { tabSize, indentSize, insertSpaces } = model.getOptions();
|
|
const shiftIndent = (indentation, count) => {
|
|
count = count || 1;
|
|
return shiftCommand/* ShiftCommand */.U.shiftIndent(indentation, indentation.length + count, tabSize, indentSize, insertSpaces);
|
|
};
|
|
const unshiftIndent = (indentation, count) => {
|
|
count = count || 1;
|
|
return shiftCommand/* ShiftCommand */.U.unshiftIndent(indentation, indentation.length + count, tabSize, indentSize, insertSpaces);
|
|
};
|
|
let indentEdits = [];
|
|
// indentation being passed to lines below
|
|
let globalIndent;
|
|
// Calculate indentation for the first line
|
|
// If there is no passed-in indentation, we use the indentation of the first line as base.
|
|
let currentLineText = model.getLineContent(startLineNumber);
|
|
let adjustedLineContent = currentLineText;
|
|
if (inheritedIndent !== undefined && inheritedIndent !== null) {
|
|
globalIndent = inheritedIndent;
|
|
let oldIndentation = strings/* getLeadingWhitespace */.V8(currentLineText);
|
|
adjustedLineContent = globalIndent + currentLineText.substring(oldIndentation.length);
|
|
if (indentationRules.decreaseIndentPattern && indentationRules.decreaseIndentPattern.test(adjustedLineContent)) {
|
|
globalIndent = unshiftIndent(globalIndent);
|
|
adjustedLineContent = globalIndent + currentLineText.substring(oldIndentation.length);
|
|
}
|
|
if (currentLineText !== adjustedLineContent) {
|
|
indentEdits.push(editOperation/* EditOperation */.h.replaceMove(new selection/* Selection */.Y(startLineNumber, 1, startLineNumber, oldIndentation.length + 1), textModel/* TextModel */.yO.normalizeIndentation(globalIndent, indentSize, insertSpaces)));
|
|
}
|
|
}
|
|
else {
|
|
globalIndent = strings/* getLeadingWhitespace */.V8(currentLineText);
|
|
}
|
|
// idealIndentForNextLine doesn't equal globalIndent when there is a line matching `indentNextLinePattern`.
|
|
let idealIndentForNextLine = globalIndent;
|
|
if (indentationRules.increaseIndentPattern && indentationRules.increaseIndentPattern.test(adjustedLineContent)) {
|
|
idealIndentForNextLine = shiftIndent(idealIndentForNextLine);
|
|
globalIndent = shiftIndent(globalIndent);
|
|
}
|
|
else if (indentationRules.indentNextLinePattern && indentationRules.indentNextLinePattern.test(adjustedLineContent)) {
|
|
idealIndentForNextLine = shiftIndent(idealIndentForNextLine);
|
|
}
|
|
startLineNumber++;
|
|
// Calculate indentation adjustment for all following lines
|
|
for (let lineNumber = startLineNumber; lineNumber <= endLineNumber; lineNumber++) {
|
|
let text = model.getLineContent(lineNumber);
|
|
let oldIndentation = strings/* getLeadingWhitespace */.V8(text);
|
|
let adjustedLineContent = idealIndentForNextLine + text.substring(oldIndentation.length);
|
|
if (indentationRules.decreaseIndentPattern && indentationRules.decreaseIndentPattern.test(adjustedLineContent)) {
|
|
idealIndentForNextLine = unshiftIndent(idealIndentForNextLine);
|
|
globalIndent = unshiftIndent(globalIndent);
|
|
}
|
|
if (oldIndentation !== idealIndentForNextLine) {
|
|
indentEdits.push(editOperation/* EditOperation */.h.replaceMove(new selection/* Selection */.Y(lineNumber, 1, lineNumber, oldIndentation.length + 1), textModel/* TextModel */.yO.normalizeIndentation(idealIndentForNextLine, indentSize, insertSpaces)));
|
|
}
|
|
// calculate idealIndentForNextLine
|
|
if (indentationRules.unIndentedLinePattern && indentationRules.unIndentedLinePattern.test(text)) {
|
|
// In reindent phase, if the line matches `unIndentedLinePattern` we inherit indentation from above lines
|
|
// but don't change globalIndent and idealIndentForNextLine.
|
|
continue;
|
|
}
|
|
else if (indentationRules.increaseIndentPattern && indentationRules.increaseIndentPattern.test(adjustedLineContent)) {
|
|
globalIndent = shiftIndent(globalIndent);
|
|
idealIndentForNextLine = globalIndent;
|
|
}
|
|
else if (indentationRules.indentNextLinePattern && indentationRules.indentNextLinePattern.test(adjustedLineContent)) {
|
|
idealIndentForNextLine = shiftIndent(idealIndentForNextLine);
|
|
}
|
|
else {
|
|
idealIndentForNextLine = globalIndent;
|
|
}
|
|
}
|
|
return indentEdits;
|
|
}
|
|
class IndentationToSpacesAction extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: IndentationToSpacesAction.ID,
|
|
label: nls/* localize */.N('indentationToSpaces', "Convert Indentation to Spaces"),
|
|
alias: 'Convert Indentation to Spaces',
|
|
precondition: editorContextKeys/* EditorContextKeys */.u.writable
|
|
});
|
|
}
|
|
run(accessor, editor) {
|
|
let model = editor.getModel();
|
|
if (!model) {
|
|
return;
|
|
}
|
|
let modelOpts = model.getOptions();
|
|
let selection = editor.getSelection();
|
|
if (!selection) {
|
|
return;
|
|
}
|
|
const command = new IndentationToSpacesCommand(selection, modelOpts.tabSize);
|
|
editor.pushUndoStop();
|
|
editor.executeCommands(this.id, [command]);
|
|
editor.pushUndoStop();
|
|
model.updateOptions({
|
|
insertSpaces: true
|
|
});
|
|
}
|
|
}
|
|
IndentationToSpacesAction.ID = 'editor.action.indentationToSpaces';
|
|
class IndentationToTabsAction extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: IndentationToTabsAction.ID,
|
|
label: nls/* localize */.N('indentationToTabs', "Convert Indentation to Tabs"),
|
|
alias: 'Convert Indentation to Tabs',
|
|
precondition: editorContextKeys/* EditorContextKeys */.u.writable
|
|
});
|
|
}
|
|
run(accessor, editor) {
|
|
let model = editor.getModel();
|
|
if (!model) {
|
|
return;
|
|
}
|
|
let modelOpts = model.getOptions();
|
|
let selection = editor.getSelection();
|
|
if (!selection) {
|
|
return;
|
|
}
|
|
const command = new IndentationToTabsCommand(selection, modelOpts.tabSize);
|
|
editor.pushUndoStop();
|
|
editor.executeCommands(this.id, [command]);
|
|
editor.pushUndoStop();
|
|
model.updateOptions({
|
|
insertSpaces: false
|
|
});
|
|
}
|
|
}
|
|
IndentationToTabsAction.ID = 'editor.action.indentationToTabs';
|
|
class ChangeIndentationSizeAction extends editorExtensions/* EditorAction */.R6 {
|
|
constructor(insertSpaces, opts) {
|
|
super(opts);
|
|
this.insertSpaces = insertSpaces;
|
|
}
|
|
run(accessor, editor) {
|
|
const quickInputService = accessor.get(quickInput/* IQuickInputService */.eJ);
|
|
const modelService = accessor.get(services_modelService/* IModelService */.q);
|
|
let model = editor.getModel();
|
|
if (!model) {
|
|
return;
|
|
}
|
|
const creationOpts = modelService.getCreationOptions(model.getLanguageId(), model.uri, model.isForSimpleWidget);
|
|
const picks = [1, 2, 3, 4, 5, 6, 7, 8].map(n => ({
|
|
id: n.toString(),
|
|
label: n.toString(),
|
|
// add description for tabSize value set in the configuration
|
|
description: n === creationOpts.tabSize ? nls/* localize */.N('configuredTabSize', "Configured Tab Size") : undefined
|
|
}));
|
|
// auto focus the tabSize set for the current editor
|
|
const autoFocusIndex = Math.min(model.getOptions().tabSize - 1, 7);
|
|
setTimeout(() => {
|
|
quickInputService.pick(picks, { placeHolder: nls/* localize */.N({ key: 'selectTabWidth', comment: ['Tab corresponds to the tab key'] }, "Select Tab Size for Current File"), activeItem: picks[autoFocusIndex] }).then(pick => {
|
|
if (pick) {
|
|
if (model && !model.isDisposed()) {
|
|
model.updateOptions({
|
|
tabSize: parseInt(pick.label, 10),
|
|
insertSpaces: this.insertSpaces
|
|
});
|
|
}
|
|
}
|
|
});
|
|
}, 50 /* quick input is sensitive to being opened so soon after another */);
|
|
}
|
|
}
|
|
class IndentUsingTabs extends ChangeIndentationSizeAction {
|
|
constructor() {
|
|
super(false, {
|
|
id: IndentUsingTabs.ID,
|
|
label: nls/* localize */.N('indentUsingTabs', "Indent Using Tabs"),
|
|
alias: 'Indent Using Tabs',
|
|
precondition: undefined
|
|
});
|
|
}
|
|
}
|
|
IndentUsingTabs.ID = 'editor.action.indentUsingTabs';
|
|
class IndentUsingSpaces extends ChangeIndentationSizeAction {
|
|
constructor() {
|
|
super(true, {
|
|
id: IndentUsingSpaces.ID,
|
|
label: nls/* localize */.N('indentUsingSpaces', "Indent Using Spaces"),
|
|
alias: 'Indent Using Spaces',
|
|
precondition: undefined
|
|
});
|
|
}
|
|
}
|
|
IndentUsingSpaces.ID = 'editor.action.indentUsingSpaces';
|
|
class DetectIndentation extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: DetectIndentation.ID,
|
|
label: nls/* localize */.N('detectIndentation', "Detect Indentation from Content"),
|
|
alias: 'Detect Indentation from Content',
|
|
precondition: undefined
|
|
});
|
|
}
|
|
run(accessor, editor) {
|
|
const modelService = accessor.get(services_modelService/* IModelService */.q);
|
|
let model = editor.getModel();
|
|
if (!model) {
|
|
return;
|
|
}
|
|
const creationOpts = modelService.getCreationOptions(model.getLanguageId(), model.uri, model.isForSimpleWidget);
|
|
model.detectIndentation(creationOpts.insertSpaces, creationOpts.tabSize);
|
|
}
|
|
}
|
|
DetectIndentation.ID = 'editor.action.detectIndentation';
|
|
class ReindentLinesAction extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: 'editor.action.reindentlines',
|
|
label: nls/* localize */.N('editor.reindentlines', "Reindent Lines"),
|
|
alias: 'Reindent Lines',
|
|
precondition: editorContextKeys/* EditorContextKeys */.u.writable
|
|
});
|
|
}
|
|
run(accessor, editor) {
|
|
let model = editor.getModel();
|
|
if (!model) {
|
|
return;
|
|
}
|
|
let edits = getReindentEditOperations(model, 1, model.getLineCount());
|
|
if (edits.length > 0) {
|
|
editor.pushUndoStop();
|
|
editor.executeEdits(this.id, edits);
|
|
editor.pushUndoStop();
|
|
}
|
|
}
|
|
}
|
|
class ReindentSelectedLinesAction extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: 'editor.action.reindentselectedlines',
|
|
label: nls/* localize */.N('editor.reindentselectedlines', "Reindent Selected Lines"),
|
|
alias: 'Reindent Selected Lines',
|
|
precondition: editorContextKeys/* EditorContextKeys */.u.writable
|
|
});
|
|
}
|
|
run(accessor, editor) {
|
|
let model = editor.getModel();
|
|
if (!model) {
|
|
return;
|
|
}
|
|
let selections = editor.getSelections();
|
|
if (selections === null) {
|
|
return;
|
|
}
|
|
let edits = [];
|
|
for (let selection of selections) {
|
|
let startLineNumber = selection.startLineNumber;
|
|
let endLineNumber = selection.endLineNumber;
|
|
if (startLineNumber !== endLineNumber && selection.endColumn === 1) {
|
|
endLineNumber--;
|
|
}
|
|
if (startLineNumber === 1) {
|
|
if (startLineNumber === endLineNumber) {
|
|
continue;
|
|
}
|
|
}
|
|
else {
|
|
startLineNumber--;
|
|
}
|
|
let editOperations = getReindentEditOperations(model, startLineNumber, endLineNumber);
|
|
edits.push(...editOperations);
|
|
}
|
|
if (edits.length > 0) {
|
|
editor.pushUndoStop();
|
|
editor.executeEdits(this.id, edits);
|
|
editor.pushUndoStop();
|
|
}
|
|
}
|
|
}
|
|
class AutoIndentOnPasteCommand {
|
|
constructor(edits, initialSelection) {
|
|
this._initialSelection = initialSelection;
|
|
this._edits = [];
|
|
this._selectionId = null;
|
|
for (let edit of edits) {
|
|
if (edit.range && typeof edit.text === 'string') {
|
|
this._edits.push(edit);
|
|
}
|
|
}
|
|
}
|
|
getEditOperations(model, builder) {
|
|
for (let edit of this._edits) {
|
|
builder.addEditOperation(core_range/* Range */.e.lift(edit.range), edit.text);
|
|
}
|
|
let selectionIsSet = false;
|
|
if (Array.isArray(this._edits) && this._edits.length === 1 && this._initialSelection.isEmpty()) {
|
|
if (this._edits[0].range.startColumn === this._initialSelection.endColumn &&
|
|
this._edits[0].range.startLineNumber === this._initialSelection.endLineNumber) {
|
|
selectionIsSet = true;
|
|
this._selectionId = builder.trackSelection(this._initialSelection, true);
|
|
}
|
|
else if (this._edits[0].range.endColumn === this._initialSelection.startColumn &&
|
|
this._edits[0].range.endLineNumber === this._initialSelection.startLineNumber) {
|
|
selectionIsSet = true;
|
|
this._selectionId = builder.trackSelection(this._initialSelection, false);
|
|
}
|
|
}
|
|
if (!selectionIsSet) {
|
|
this._selectionId = builder.trackSelection(this._initialSelection);
|
|
}
|
|
}
|
|
computeCursorState(model, helper) {
|
|
return helper.getTrackedSelection(this._selectionId);
|
|
}
|
|
}
|
|
class AutoIndentOnPaste {
|
|
constructor(editor) {
|
|
this.callOnDispose = new lifecycle/* DisposableStore */.SL();
|
|
this.callOnModel = new lifecycle/* DisposableStore */.SL();
|
|
this.editor = editor;
|
|
this.callOnDispose.add(editor.onDidChangeConfiguration(() => this.update()));
|
|
this.callOnDispose.add(editor.onDidChangeModel(() => this.update()));
|
|
this.callOnDispose.add(editor.onDidChangeModelLanguage(() => this.update()));
|
|
}
|
|
update() {
|
|
// clean up
|
|
this.callOnModel.clear();
|
|
// we are disabled
|
|
if (this.editor.getOption(9 /* autoIndent */) < 4 /* Full */ || this.editor.getOption(47 /* formatOnPaste */)) {
|
|
return;
|
|
}
|
|
// no model
|
|
if (!this.editor.hasModel()) {
|
|
return;
|
|
}
|
|
this.callOnModel.add(this.editor.onDidPaste(({ range }) => {
|
|
this.trigger(range);
|
|
}));
|
|
}
|
|
trigger(range) {
|
|
let selections = this.editor.getSelections();
|
|
if (selections === null || selections.length > 1) {
|
|
return;
|
|
}
|
|
const model = this.editor.getModel();
|
|
if (!model) {
|
|
return;
|
|
}
|
|
if (!model.isCheapToTokenize(range.getStartPosition().lineNumber)) {
|
|
return;
|
|
}
|
|
const autoIndent = this.editor.getOption(9 /* autoIndent */);
|
|
const { tabSize, indentSize, insertSpaces } = model.getOptions();
|
|
let textEdits = [];
|
|
let indentConverter = {
|
|
shiftIndent: (indentation) => {
|
|
return shiftCommand/* ShiftCommand */.U.shiftIndent(indentation, indentation.length + 1, tabSize, indentSize, insertSpaces);
|
|
},
|
|
unshiftIndent: (indentation) => {
|
|
return shiftCommand/* ShiftCommand */.U.unshiftIndent(indentation, indentation.length + 1, tabSize, indentSize, insertSpaces);
|
|
}
|
|
};
|
|
let startLineNumber = range.startLineNumber;
|
|
while (startLineNumber <= range.endLineNumber) {
|
|
if (this.shouldIgnoreLine(model, startLineNumber)) {
|
|
startLineNumber++;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
if (startLineNumber > range.endLineNumber) {
|
|
return;
|
|
}
|
|
let firstLineText = model.getLineContent(startLineNumber);
|
|
if (!/\S/.test(firstLineText.substring(0, range.startColumn - 1))) {
|
|
const indentOfFirstLine = languageConfigurationRegistry/* LanguageConfigurationRegistry */.zu.getGoodIndentForLine(autoIndent, model, model.getLanguageId(), startLineNumber, indentConverter);
|
|
if (indentOfFirstLine !== null) {
|
|
let oldIndentation = strings/* getLeadingWhitespace */.V8(firstLineText);
|
|
let newSpaceCnt = indentUtils/* getSpaceCnt */.Y(indentOfFirstLine, tabSize);
|
|
let oldSpaceCnt = indentUtils/* getSpaceCnt */.Y(oldIndentation, tabSize);
|
|
if (newSpaceCnt !== oldSpaceCnt) {
|
|
let newIndent = indentUtils/* generateIndent */.J(newSpaceCnt, tabSize, insertSpaces);
|
|
textEdits.push({
|
|
range: new core_range/* Range */.e(startLineNumber, 1, startLineNumber, oldIndentation.length + 1),
|
|
text: newIndent
|
|
});
|
|
firstLineText = newIndent + firstLineText.substr(oldIndentation.length);
|
|
}
|
|
else {
|
|
let indentMetadata = languageConfigurationRegistry/* LanguageConfigurationRegistry */.zu.getIndentMetadata(model, startLineNumber);
|
|
if (indentMetadata === 0 || indentMetadata === 8 /* UNINDENT_MASK */) {
|
|
// we paste content into a line where only contains whitespaces
|
|
// after pasting, the indentation of the first line is already correct
|
|
// the first line doesn't match any indentation rule
|
|
// then no-op.
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const firstLineNumber = startLineNumber;
|
|
// ignore empty or ignored lines
|
|
while (startLineNumber < range.endLineNumber) {
|
|
if (!/\S/.test(model.getLineContent(startLineNumber + 1))) {
|
|
startLineNumber++;
|
|
continue;
|
|
}
|
|
break;
|
|
}
|
|
if (startLineNumber !== range.endLineNumber) {
|
|
let virtualModel = {
|
|
getLineTokens: (lineNumber) => {
|
|
return model.getLineTokens(lineNumber);
|
|
},
|
|
getLanguageId: () => {
|
|
return model.getLanguageId();
|
|
},
|
|
getLanguageIdAtPosition: (lineNumber, column) => {
|
|
return model.getLanguageIdAtPosition(lineNumber, column);
|
|
},
|
|
getLineContent: (lineNumber) => {
|
|
if (lineNumber === firstLineNumber) {
|
|
return firstLineText;
|
|
}
|
|
else {
|
|
return model.getLineContent(lineNumber);
|
|
}
|
|
}
|
|
};
|
|
let indentOfSecondLine = languageConfigurationRegistry/* LanguageConfigurationRegistry */.zu.getGoodIndentForLine(autoIndent, virtualModel, model.getLanguageId(), startLineNumber + 1, indentConverter);
|
|
if (indentOfSecondLine !== null) {
|
|
let newSpaceCntOfSecondLine = indentUtils/* getSpaceCnt */.Y(indentOfSecondLine, tabSize);
|
|
let oldSpaceCntOfSecondLine = indentUtils/* getSpaceCnt */.Y(strings/* getLeadingWhitespace */.V8(model.getLineContent(startLineNumber + 1)), tabSize);
|
|
if (newSpaceCntOfSecondLine !== oldSpaceCntOfSecondLine) {
|
|
let spaceCntOffset = newSpaceCntOfSecondLine - oldSpaceCntOfSecondLine;
|
|
for (let i = startLineNumber + 1; i <= range.endLineNumber; i++) {
|
|
let lineContent = model.getLineContent(i);
|
|
let originalIndent = strings/* getLeadingWhitespace */.V8(lineContent);
|
|
let originalSpacesCnt = indentUtils/* getSpaceCnt */.Y(originalIndent, tabSize);
|
|
let newSpacesCnt = originalSpacesCnt + spaceCntOffset;
|
|
let newIndent = indentUtils/* generateIndent */.J(newSpacesCnt, tabSize, insertSpaces);
|
|
if (newIndent !== originalIndent) {
|
|
textEdits.push({
|
|
range: new core_range/* Range */.e(i, 1, i, originalIndent.length + 1),
|
|
text: newIndent
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (textEdits.length > 0) {
|
|
this.editor.pushUndoStop();
|
|
let cmd = new AutoIndentOnPasteCommand(textEdits, this.editor.getSelection());
|
|
this.editor.executeCommand('autoIndentOnPaste', cmd);
|
|
this.editor.pushUndoStop();
|
|
}
|
|
}
|
|
shouldIgnoreLine(model, lineNumber) {
|
|
model.forceTokenization(lineNumber);
|
|
let nonWhitespaceColumn = model.getLineFirstNonWhitespaceColumn(lineNumber);
|
|
if (nonWhitespaceColumn === 0) {
|
|
return true;
|
|
}
|
|
let tokens = model.getLineTokens(lineNumber);
|
|
if (tokens.getCount() > 0) {
|
|
let firstNonWhitespaceTokenIndex = tokens.findTokenIndexAtOffset(nonWhitespaceColumn);
|
|
if (firstNonWhitespaceTokenIndex >= 0 && tokens.getStandardTokenType(firstNonWhitespaceTokenIndex) === 1 /* Comment */) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
dispose() {
|
|
this.callOnDispose.dispose();
|
|
this.callOnModel.dispose();
|
|
}
|
|
}
|
|
AutoIndentOnPaste.ID = 'editor.contrib.autoIndentOnPaste';
|
|
function getIndentationEditOperations(model, builder, tabSize, tabsToSpaces) {
|
|
if (model.getLineCount() === 1 && model.getLineMaxColumn(1) === 1) {
|
|
// Model is empty
|
|
return;
|
|
}
|
|
let spaces = '';
|
|
for (let i = 0; i < tabSize; i++) {
|
|
spaces += ' ';
|
|
}
|
|
let spacesRegExp = new RegExp(spaces, 'gi');
|
|
for (let lineNumber = 1, lineCount = model.getLineCount(); lineNumber <= lineCount; lineNumber++) {
|
|
let lastIndentationColumn = model.getLineFirstNonWhitespaceColumn(lineNumber);
|
|
if (lastIndentationColumn === 0) {
|
|
lastIndentationColumn = model.getLineMaxColumn(lineNumber);
|
|
}
|
|
if (lastIndentationColumn === 1) {
|
|
continue;
|
|
}
|
|
const originalIndentationRange = new core_range/* Range */.e(lineNumber, 1, lineNumber, lastIndentationColumn);
|
|
const originalIndentation = model.getValueInRange(originalIndentationRange);
|
|
const newIndentation = (tabsToSpaces
|
|
? originalIndentation.replace(/\t/ig, spaces)
|
|
: originalIndentation.replace(spacesRegExp, '\t'));
|
|
builder.addEditOperation(originalIndentationRange, newIndentation);
|
|
}
|
|
}
|
|
class IndentationToSpacesCommand {
|
|
constructor(selection, tabSize) {
|
|
this.selection = selection;
|
|
this.tabSize = tabSize;
|
|
this.selectionId = null;
|
|
}
|
|
getEditOperations(model, builder) {
|
|
this.selectionId = builder.trackSelection(this.selection);
|
|
getIndentationEditOperations(model, builder, this.tabSize, true);
|
|
}
|
|
computeCursorState(model, helper) {
|
|
return helper.getTrackedSelection(this.selectionId);
|
|
}
|
|
}
|
|
class IndentationToTabsCommand {
|
|
constructor(selection, tabSize) {
|
|
this.selection = selection;
|
|
this.tabSize = tabSize;
|
|
this.selectionId = null;
|
|
}
|
|
getEditOperations(model, builder) {
|
|
this.selectionId = builder.trackSelection(this.selection);
|
|
getIndentationEditOperations(model, builder, this.tabSize, false);
|
|
}
|
|
computeCursorState(model, helper) {
|
|
return helper.getTrackedSelection(this.selectionId);
|
|
}
|
|
}
|
|
(0,editorExtensions/* registerEditorContribution */._K)(AutoIndentOnPaste.ID, AutoIndentOnPaste);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(IndentationToSpacesAction);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(IndentationToTabsAction);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(IndentUsingTabs);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(IndentUsingSpaces);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(DetectIndentation);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(ReindentLinesAction);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(ReindentSelectedLinesAction);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/async.js
|
|
var common_async = __webpack_require__(50431);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/errors.js
|
|
var errors = __webpack_require__(79881);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/hash.js
|
|
var hash = __webpack_require__(44619);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/map.js
|
|
var map = __webpack_require__(78421);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/browser/services/codeEditorService.js
|
|
var codeEditorService = __webpack_require__(70827);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/config/editorOptions.js
|
|
var editorOptions = __webpack_require__(97199);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/core/position.js
|
|
var position = __webpack_require__(72146);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/modes.js + 1 modules
|
|
var modes = __webpack_require__(27347);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/modes/languageFeatureRegistry.js + 1 modules
|
|
var languageFeatureRegistry = __webpack_require__(73831);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/theme/common/colorRegistry.js
|
|
var colorRegistry = __webpack_require__(44350);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/theme/common/themeService.js
|
|
var themeService = __webpack_require__(49055);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/inlayHints/inlayHintsController.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var inlayHintsController_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
};
|
|
var inlayHintsController_param = (undefined && undefined.__param) || function (paramIndex, decorator) {
|
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
};
|
|
var inlayHintsController_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const MAX_DECORATORS = 1500;
|
|
class RequestMap {
|
|
constructor() {
|
|
this._data = new map/* ResourceMap */.Y9();
|
|
}
|
|
push(model, provider) {
|
|
const value = this._data.get(model.uri);
|
|
if (value === undefined) {
|
|
this._data.set(model.uri, new Set([provider]));
|
|
}
|
|
else {
|
|
value.add(provider);
|
|
}
|
|
}
|
|
pop(model, provider) {
|
|
const value = this._data.get(model.uri);
|
|
if (value) {
|
|
value.delete(provider);
|
|
if (value.size === 0) {
|
|
this._data.delete(model.uri);
|
|
}
|
|
}
|
|
}
|
|
has(model, provider) {
|
|
var _a;
|
|
return Boolean((_a = this._data.get(model.uri)) === null || _a === void 0 ? void 0 : _a.has(provider));
|
|
}
|
|
}
|
|
function getInlayHints(model, ranges, requests, token) {
|
|
return inlayHintsController_awaiter(this, void 0, void 0, function* () {
|
|
const all = [];
|
|
const providers = modes/* InlayHintsProviderRegistry */.mX.ordered(model).reverse();
|
|
const promises = providers.map(provider => ranges.map((range) => inlayHintsController_awaiter(this, void 0, void 0, function* () {
|
|
try {
|
|
requests.push(model, provider);
|
|
const result = yield provider.provideInlayHints(model, range, token);
|
|
if (result === null || result === void 0 ? void 0 : result.length) {
|
|
all.push(result.filter(hint => range.containsPosition(hint.position)));
|
|
}
|
|
}
|
|
catch (err) {
|
|
(0,errors/* onUnexpectedExternalError */.Cp)(err);
|
|
}
|
|
finally {
|
|
requests.pop(model, provider);
|
|
}
|
|
})));
|
|
yield Promise.all(promises.flat());
|
|
return all.flat().sort((a, b) => position/* Position */.L.compare(a.position, b.position));
|
|
});
|
|
}
|
|
class InlayHintsCache {
|
|
constructor() {
|
|
this._entries = new map/* LRUCache */.z6(50);
|
|
}
|
|
get(model) {
|
|
const key = InlayHintsCache._key(model);
|
|
return this._entries.get(key);
|
|
}
|
|
set(model, value) {
|
|
const key = InlayHintsCache._key(model);
|
|
this._entries.set(key, value);
|
|
}
|
|
static _key(model) {
|
|
return `${model.uri.toString()}/${model.getVersionId()}`;
|
|
}
|
|
}
|
|
let InlayHintsController = class InlayHintsController {
|
|
constructor(_editor, _codeEditorService) {
|
|
this._editor = _editor;
|
|
this._codeEditorService = _codeEditorService;
|
|
this._decorationOwnerId = ++InlayHintsController._decorationOwnerIdPool;
|
|
this._disposables = new lifecycle/* DisposableStore */.SL();
|
|
this._sessionDisposables = new lifecycle/* DisposableStore */.SL();
|
|
this._getInlayHintsDelays = new languageFeatureRegistry/* LanguageFeatureRequestDelays */.Y(modes/* InlayHintsProviderRegistry */.mX, 25, 500);
|
|
this._cache = new InlayHintsCache();
|
|
this._decorations = new Map();
|
|
this._disposables.add(modes/* InlayHintsProviderRegistry */.mX.onDidChange(() => this._update()));
|
|
this._disposables.add(_editor.onDidChangeModel(() => this._update()));
|
|
this._disposables.add(_editor.onDidChangeModelLanguage(() => this._update()));
|
|
this._disposables.add(_editor.onDidChangeConfiguration(e => {
|
|
if (e.hasChanged(125 /* inlayHints */)) {
|
|
this._update();
|
|
}
|
|
}));
|
|
this._update();
|
|
}
|
|
dispose() {
|
|
this._sessionDisposables.dispose();
|
|
this._removeAllDecorations();
|
|
this._disposables.dispose();
|
|
}
|
|
_update() {
|
|
this._sessionDisposables.clear();
|
|
this._removeAllDecorations();
|
|
if (!this._editor.getOption(125 /* inlayHints */).enabled) {
|
|
return;
|
|
}
|
|
const model = this._editor.getModel();
|
|
if (!model || !modes/* InlayHintsProviderRegistry */.mX.has(model)) {
|
|
return;
|
|
}
|
|
// iff possible, quickly update from cache
|
|
const cached = this._cache.get(model);
|
|
if (cached) {
|
|
this._updateHintsDecorators([model.getFullModelRange()], cached);
|
|
}
|
|
const requests = new RequestMap();
|
|
const scheduler = new common_async/* RunOnceScheduler */.pY(() => inlayHintsController_awaiter(this, void 0, void 0, function* () {
|
|
const t1 = Date.now();
|
|
const cts = new cancellation/* CancellationTokenSource */.A();
|
|
this._sessionDisposables.add((0,lifecycle/* toDisposable */.OF)(() => cts.dispose(true)));
|
|
const ranges = this._getHintsRanges();
|
|
const result = yield getInlayHints(model, ranges, requests, cts.token);
|
|
scheduler.delay = this._getInlayHintsDelays.update(model, Date.now() - t1);
|
|
if (cts.token.isCancellationRequested) {
|
|
return;
|
|
}
|
|
this._updateHintsDecorators(ranges, result);
|
|
this._cache.set(model, Array.from(this._decorations.values()).map(obj => obj.hint));
|
|
}), this._getInlayHintsDelays.get(model));
|
|
this._sessionDisposables.add(scheduler);
|
|
// update inline hints when content or scroll position changes
|
|
this._sessionDisposables.add(this._editor.onDidChangeModelContent(() => scheduler.schedule()));
|
|
this._disposables.add(this._editor.onDidScrollChange(() => scheduler.schedule()));
|
|
scheduler.schedule();
|
|
// update inline hints when any any provider fires an event
|
|
const providerListener = new lifecycle/* DisposableStore */.SL();
|
|
this._sessionDisposables.add(providerListener);
|
|
for (const provider of modes/* InlayHintsProviderRegistry */.mX.all(model)) {
|
|
if (typeof provider.onDidChangeInlayHints === 'function') {
|
|
providerListener.add(provider.onDidChangeInlayHints(() => {
|
|
if (!requests.has(model, provider)) {
|
|
scheduler.schedule();
|
|
}
|
|
}));
|
|
}
|
|
}
|
|
}
|
|
_getHintsRanges() {
|
|
const extra = 30;
|
|
const model = this._editor.getModel();
|
|
const visibleRanges = this._editor.getVisibleRangesPlusViewportAboveBelow();
|
|
const result = [];
|
|
for (const range of visibleRanges.sort(core_range/* Range */.e.compareRangesUsingStarts)) {
|
|
const extendedRange = model.validateRange(new core_range/* Range */.e(range.startLineNumber - extra, range.startColumn, range.endLineNumber + extra, range.endColumn));
|
|
if (result.length === 0 || !core_range/* Range */.e.areIntersectingOrTouching(result[result.length - 1], extendedRange)) {
|
|
result.push(extendedRange);
|
|
}
|
|
else {
|
|
result[result.length - 1] = core_range/* Range */.e.plusRange(result[result.length - 1], extendedRange);
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
_updateHintsDecorators(ranges, hints) {
|
|
const { fontSize, fontFamily } = this._getLayoutInfo();
|
|
const model = this._editor.getModel();
|
|
const newDecorationsTypeIds = [];
|
|
const newDecorationsData = [];
|
|
const fontFamilyVar = '--code-editorInlayHintsFontFamily';
|
|
this._editor.getContainerDomNode().style.setProperty(fontFamilyVar, fontFamily);
|
|
for (const hint of hints) {
|
|
const { text, position, whitespaceBefore, whitespaceAfter } = hint;
|
|
const marginBefore = whitespaceBefore ? (fontSize / 3) | 0 : 0;
|
|
const marginAfter = whitespaceAfter ? (fontSize / 3) | 0 : 0;
|
|
const contentOptions = {
|
|
contentText: fixSpace(text),
|
|
fontSize: `${fontSize}px`,
|
|
margin: `0px ${marginAfter}px 0px ${marginBefore}px`,
|
|
fontFamily: `var(${fontFamilyVar}), ${editorOptions/* EDITOR_FONT_DEFAULTS */.hL.fontFamily}`,
|
|
padding: `1px ${Math.max(1, fontSize / 4) | 0}px`,
|
|
borderRadius: `${(fontSize / 4) | 0}px`,
|
|
verticalAlign: 'middle',
|
|
backgroundColor: (0,themeService/* themeColorFromId */.EN)(colorRegistry/* editorInlayHintBackground */.Pp),
|
|
color: (0,themeService/* themeColorFromId */.EN)(colorRegistry/* editorInlayHintForeground */.VV)
|
|
};
|
|
if (hint.kind === modes/* InlayHintKind */.gl.Parameter) {
|
|
contentOptions.backgroundColor = (0,themeService/* themeColorFromId */.EN)(colorRegistry/* editorInlayHintParameterBackground */.ph);
|
|
contentOptions.color = (0,themeService/* themeColorFromId */.EN)(colorRegistry/* editorInlayHintParameterForeground */.HC);
|
|
}
|
|
else if (hint.kind === modes/* InlayHintKind */.gl.Type) {
|
|
contentOptions.backgroundColor = (0,themeService/* themeColorFromId */.EN)(colorRegistry/* editorInlayHintTypeBackground */.bK);
|
|
contentOptions.color = (0,themeService/* themeColorFromId */.EN)(colorRegistry/* editorInlayHintTypeForeground */.hX);
|
|
}
|
|
let renderOptions = { beforeInjectedText: Object.assign(Object.assign({}, contentOptions), { affectsLetterSpacing: true }) };
|
|
let range = core_range/* Range */.e.fromPositions(position);
|
|
let word = model.getWordAtPosition(position);
|
|
let usesWordRange = false;
|
|
if (word) {
|
|
if (word.endColumn === position.column) {
|
|
// change decoration to after
|
|
renderOptions.afterInjectedText = renderOptions.beforeInjectedText;
|
|
renderOptions.beforeInjectedText = undefined;
|
|
usesWordRange = true;
|
|
range = wordToRange(word, position.lineNumber);
|
|
}
|
|
else if (word.startColumn === position.column) {
|
|
usesWordRange = true;
|
|
range = wordToRange(word, position.lineNumber);
|
|
}
|
|
}
|
|
const key = 'inlayHints-' + (0,hash/* hash */.vp)(renderOptions).toString(16);
|
|
this._codeEditorService.registerDecorationType('inlay-hints-controller', key, renderOptions, undefined, this._editor);
|
|
// decoration types are ref-counted which means we only need to
|
|
// call register und remove equally often
|
|
newDecorationsTypeIds.push(key);
|
|
const newLen = newDecorationsData.push({
|
|
range,
|
|
options: Object.assign(Object.assign({}, this._codeEditorService.resolveDecorationOptions(key, true)), { showIfCollapsed: !usesWordRange, stickiness: 0 /* AlwaysGrowsWhenTypingAtEdges */ })
|
|
});
|
|
if (newLen > MAX_DECORATORS) {
|
|
break;
|
|
}
|
|
}
|
|
// collect all decoration ids that are affected by the ranges
|
|
// and only update those decorations
|
|
const decorationIdsToUpdate = [];
|
|
for (const range of ranges) {
|
|
for (const { id } of model.getDecorationsInRange(range, this._decorationOwnerId, true)) {
|
|
const obj = this._decorations.get(id);
|
|
if (obj) {
|
|
decorationIdsToUpdate.push(id);
|
|
this._codeEditorService.removeDecorationType(obj.decorationTypeId);
|
|
this._decorations.delete(id);
|
|
}
|
|
}
|
|
}
|
|
const newDecorationIds = model.deltaDecorations(decorationIdsToUpdate, newDecorationsData, this._decorationOwnerId);
|
|
for (let i = 0; i < newDecorationIds.length; i++) {
|
|
this._decorations.set(newDecorationIds[i], { hint: hints[i], decorationTypeId: newDecorationsTypeIds[i] });
|
|
}
|
|
}
|
|
_getLayoutInfo() {
|
|
const options = this._editor.getOption(125 /* inlayHints */);
|
|
const editorFontSize = this._editor.getOption(45 /* fontSize */);
|
|
let fontSize = options.fontSize;
|
|
if (!fontSize || fontSize < 5 || fontSize > editorFontSize) {
|
|
fontSize = (editorFontSize * .9) | 0;
|
|
}
|
|
const fontFamily = options.fontFamily || this._editor.getOption(42 /* fontFamily */);
|
|
return { fontSize, fontFamily };
|
|
}
|
|
_removeAllDecorations() {
|
|
this._editor.deltaDecorations(Array.from(this._decorations.keys()), []);
|
|
for (let obj of this._decorations.values()) {
|
|
this._codeEditorService.removeDecorationType(obj.decorationTypeId);
|
|
}
|
|
this._decorations.clear();
|
|
}
|
|
};
|
|
InlayHintsController.ID = 'editor.contrib.InlayHints';
|
|
InlayHintsController._decorationOwnerIdPool = 0;
|
|
InlayHintsController = inlayHintsController_decorate([
|
|
inlayHintsController_param(1, codeEditorService/* ICodeEditorService */.$)
|
|
], InlayHintsController);
|
|
|
|
function wordToRange(word, lineNumber) {
|
|
return new core_range/* Range */.e(lineNumber, word.startColumn, lineNumber, word.endColumn);
|
|
}
|
|
function fixSpace(str) {
|
|
const noBreakWhitespace = '\xa0';
|
|
return str.replace(/[ \t]/g, noBreakWhitespace);
|
|
}
|
|
(0,editorExtensions/* registerEditorContribution */._K)(InlayHintsController.ID, InlayHintsController);
|
|
commands/* CommandsRegistry */.P.registerCommand('_executeInlayHintProvider', (accessor, ...args) => inlayHintsController_awaiter(void 0, void 0, void 0, function* () {
|
|
const [uri, range] = args;
|
|
(0,types/* assertType */.p_)(common_uri/* URI */.o.isUri(uri));
|
|
(0,types/* assertType */.p_)(core_range/* Range */.e.isIRange(range));
|
|
const ref = yield accessor.get(resolverService/* ITextModelService */.S).createModelReference(uri);
|
|
try {
|
|
const data = yield getInlayHints(ref.object.textEditorModel, [core_range/* Range */.e.lift(range)], new RequestMap(), cancellation/* CancellationToken */.T.None);
|
|
return data;
|
|
}
|
|
finally {
|
|
ref.dispose();
|
|
}
|
|
}));
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/inPlaceReplace/inPlaceReplace.js + 1 modules
|
|
var inPlaceReplace = __webpack_require__(63478);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/linesOperations/linesOperations.js + 4 modules
|
|
var linesOperations = __webpack_require__(26313);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/arrays.js
|
|
var arrays = __webpack_require__(43506);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/color.js
|
|
var color = __webpack_require__(51737);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/linkedEditing/linkedEditing.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var linkedEditing_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
};
|
|
var linkedEditing_param = (undefined && undefined.__param) || function (paramIndex, decorator) {
|
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
};
|
|
var linkedEditing_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE = new contextkey/* RawContextKey */.uy('LinkedEditingInputVisible', false);
|
|
const DECORATION_CLASS_NAME = 'linked-editing-decoration';
|
|
let LinkedEditingContribution = class LinkedEditingContribution extends lifecycle/* Disposable */.JT {
|
|
constructor(editor, contextKeyService) {
|
|
super();
|
|
this._debounceDuration = 200;
|
|
this._localToDispose = this._register(new lifecycle/* DisposableStore */.SL());
|
|
this._editor = editor;
|
|
this._enabled = false;
|
|
this._visibleContextKey = CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE.bindTo(contextKeyService);
|
|
this._currentDecorations = [];
|
|
this._languageWordPattern = null;
|
|
this._currentWordPattern = null;
|
|
this._ignoreChangeEvent = false;
|
|
this._localToDispose = this._register(new lifecycle/* DisposableStore */.SL());
|
|
this._rangeUpdateTriggerPromise = null;
|
|
this._rangeSyncTriggerPromise = null;
|
|
this._currentRequest = null;
|
|
this._currentRequestPosition = null;
|
|
this._currentRequestModelVersion = null;
|
|
this._register(this._editor.onDidChangeModel(() => this.reinitialize(true)));
|
|
this._register(this._editor.onDidChangeConfiguration(e => {
|
|
if (e.hasChanged(61 /* linkedEditing */) || e.hasChanged(81 /* renameOnType */)) {
|
|
this.reinitialize(false);
|
|
}
|
|
}));
|
|
this._register(modes/* LinkedEditingRangeProviderRegistry */.id.onDidChange(() => this.reinitialize(false)));
|
|
this._register(this._editor.onDidChangeModelLanguage(() => this.reinitialize(true)));
|
|
this.reinitialize(true);
|
|
}
|
|
static get(editor) {
|
|
return editor.getContribution(LinkedEditingContribution.ID);
|
|
}
|
|
reinitialize(forceRefresh) {
|
|
const model = this._editor.getModel();
|
|
const isEnabled = model !== null && (this._editor.getOption(61 /* linkedEditing */) || this._editor.getOption(81 /* renameOnType */)) && modes/* LinkedEditingRangeProviderRegistry */.id.has(model);
|
|
if (isEnabled === this._enabled && !forceRefresh) {
|
|
return;
|
|
}
|
|
this._enabled = isEnabled;
|
|
this.clearRanges();
|
|
this._localToDispose.clear();
|
|
if (!isEnabled || model === null) {
|
|
return;
|
|
}
|
|
this._languageWordPattern = languageConfigurationRegistry/* LanguageConfigurationRegistry */.zu.getWordDefinition(model.getLanguageId());
|
|
this._localToDispose.add(model.onDidChangeLanguageConfiguration(() => {
|
|
this._languageWordPattern = languageConfigurationRegistry/* LanguageConfigurationRegistry */.zu.getWordDefinition(model.getLanguageId());
|
|
}));
|
|
const rangeUpdateScheduler = new common_async/* Delayer */.vp(this._debounceDuration);
|
|
const triggerRangeUpdate = () => {
|
|
this._rangeUpdateTriggerPromise = rangeUpdateScheduler.trigger(() => this.updateRanges(), this._debounceDuration);
|
|
};
|
|
const rangeSyncScheduler = new common_async/* Delayer */.vp(0);
|
|
const triggerRangeSync = (decorations) => {
|
|
this._rangeSyncTriggerPromise = rangeSyncScheduler.trigger(() => this._syncRanges(decorations));
|
|
};
|
|
this._localToDispose.add(this._editor.onDidChangeCursorPosition(() => {
|
|
triggerRangeUpdate();
|
|
}));
|
|
this._localToDispose.add(this._editor.onDidChangeModelContent((e) => {
|
|
if (!this._ignoreChangeEvent) {
|
|
if (this._currentDecorations.length > 0) {
|
|
const referenceRange = model.getDecorationRange(this._currentDecorations[0]);
|
|
if (referenceRange && e.changes.every(c => referenceRange.intersectRanges(c.range))) {
|
|
triggerRangeSync(this._currentDecorations);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
triggerRangeUpdate();
|
|
}));
|
|
this._localToDispose.add({
|
|
dispose: () => {
|
|
rangeUpdateScheduler.cancel();
|
|
rangeSyncScheduler.cancel();
|
|
}
|
|
});
|
|
this.updateRanges();
|
|
}
|
|
_syncRanges(decorations) {
|
|
// dalayed invocation, make sure we're still on
|
|
if (!this._editor.hasModel() || decorations !== this._currentDecorations || decorations.length === 0) {
|
|
// nothing to do
|
|
return;
|
|
}
|
|
const model = this._editor.getModel();
|
|
const referenceRange = model.getDecorationRange(decorations[0]);
|
|
if (!referenceRange || referenceRange.startLineNumber !== referenceRange.endLineNumber) {
|
|
return this.clearRanges();
|
|
}
|
|
const referenceValue = model.getValueInRange(referenceRange);
|
|
if (this._currentWordPattern) {
|
|
const match = referenceValue.match(this._currentWordPattern);
|
|
const matchLength = match ? match[0].length : 0;
|
|
if (matchLength !== referenceValue.length) {
|
|
return this.clearRanges();
|
|
}
|
|
}
|
|
let edits = [];
|
|
for (let i = 1, len = decorations.length; i < len; i++) {
|
|
const mirrorRange = model.getDecorationRange(decorations[i]);
|
|
if (!mirrorRange) {
|
|
continue;
|
|
}
|
|
if (mirrorRange.startLineNumber !== mirrorRange.endLineNumber) {
|
|
edits.push({
|
|
range: mirrorRange,
|
|
text: referenceValue
|
|
});
|
|
}
|
|
else {
|
|
let oldValue = model.getValueInRange(mirrorRange);
|
|
let newValue = referenceValue;
|
|
let rangeStartColumn = mirrorRange.startColumn;
|
|
let rangeEndColumn = mirrorRange.endColumn;
|
|
const commonPrefixLength = strings/* commonPrefixLength */.Mh(oldValue, newValue);
|
|
rangeStartColumn += commonPrefixLength;
|
|
oldValue = oldValue.substr(commonPrefixLength);
|
|
newValue = newValue.substr(commonPrefixLength);
|
|
const commonSuffixLength = strings/* commonSuffixLength */.P1(oldValue, newValue);
|
|
rangeEndColumn -= commonSuffixLength;
|
|
oldValue = oldValue.substr(0, oldValue.length - commonSuffixLength);
|
|
newValue = newValue.substr(0, newValue.length - commonSuffixLength);
|
|
if (rangeStartColumn !== rangeEndColumn || newValue.length !== 0) {
|
|
edits.push({
|
|
range: new core_range/* Range */.e(mirrorRange.startLineNumber, rangeStartColumn, mirrorRange.endLineNumber, rangeEndColumn),
|
|
text: newValue
|
|
});
|
|
}
|
|
}
|
|
}
|
|
if (edits.length === 0) {
|
|
return;
|
|
}
|
|
try {
|
|
this._editor.popUndoStop();
|
|
this._ignoreChangeEvent = true;
|
|
const prevEditOperationType = this._editor._getViewModel().getPrevEditOperationType();
|
|
this._editor.executeEdits('linkedEditing', edits);
|
|
this._editor._getViewModel().setPrevEditOperationType(prevEditOperationType);
|
|
}
|
|
finally {
|
|
this._ignoreChangeEvent = false;
|
|
}
|
|
}
|
|
dispose() {
|
|
this.clearRanges();
|
|
super.dispose();
|
|
}
|
|
clearRanges() {
|
|
this._visibleContextKey.set(false);
|
|
this._currentDecorations = this._editor.deltaDecorations(this._currentDecorations, []);
|
|
if (this._currentRequest) {
|
|
this._currentRequest.cancel();
|
|
this._currentRequest = null;
|
|
this._currentRequestPosition = null;
|
|
}
|
|
}
|
|
updateRanges(force = false) {
|
|
return linkedEditing_awaiter(this, void 0, void 0, function* () {
|
|
if (!this._editor.hasModel()) {
|
|
this.clearRanges();
|
|
return;
|
|
}
|
|
const position = this._editor.getPosition();
|
|
if (!this._enabled && !force || this._editor.getSelections().length > 1) {
|
|
// disabled or multicursor
|
|
this.clearRanges();
|
|
return;
|
|
}
|
|
const model = this._editor.getModel();
|
|
const modelVersionId = model.getVersionId();
|
|
if (this._currentRequestPosition && this._currentRequestModelVersion === modelVersionId) {
|
|
if (position.equals(this._currentRequestPosition)) {
|
|
return; // same position
|
|
}
|
|
if (this._currentDecorations && this._currentDecorations.length > 0) {
|
|
const range = model.getDecorationRange(this._currentDecorations[0]);
|
|
if (range && range.containsPosition(position)) {
|
|
return; // just moving inside the existing primary range
|
|
}
|
|
}
|
|
}
|
|
this._currentRequestPosition = position;
|
|
this._currentRequestModelVersion = modelVersionId;
|
|
const request = (0,common_async/* createCancelablePromise */.PG)((token) => linkedEditing_awaiter(this, void 0, void 0, function* () {
|
|
try {
|
|
const response = yield getLinkedEditingRanges(model, position, token);
|
|
if (request !== this._currentRequest) {
|
|
return;
|
|
}
|
|
this._currentRequest = null;
|
|
if (modelVersionId !== model.getVersionId()) {
|
|
return;
|
|
}
|
|
let ranges = [];
|
|
if (response === null || response === void 0 ? void 0 : response.ranges) {
|
|
ranges = response.ranges;
|
|
}
|
|
this._currentWordPattern = (response === null || response === void 0 ? void 0 : response.wordPattern) || this._languageWordPattern;
|
|
let foundReferenceRange = false;
|
|
for (let i = 0, len = ranges.length; i < len; i++) {
|
|
if (core_range/* Range */.e.containsPosition(ranges[i], position)) {
|
|
foundReferenceRange = true;
|
|
if (i !== 0) {
|
|
const referenceRange = ranges[i];
|
|
ranges.splice(i, 1);
|
|
ranges.unshift(referenceRange);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
if (!foundReferenceRange) {
|
|
// Cannot do linked editing if the ranges are not where the cursor is...
|
|
this.clearRanges();
|
|
return;
|
|
}
|
|
const decorations = ranges.map(range => ({ range: range, options: LinkedEditingContribution.DECORATION }));
|
|
this._visibleContextKey.set(true);
|
|
this._currentDecorations = this._editor.deltaDecorations(this._currentDecorations, decorations);
|
|
}
|
|
catch (err) {
|
|
if (!(0,errors/* isPromiseCanceledError */.VV)(err)) {
|
|
(0,errors/* onUnexpectedError */.dL)(err);
|
|
}
|
|
if (this._currentRequest === request || !this._currentRequest) {
|
|
// stop if we are still the latest request
|
|
this.clearRanges();
|
|
}
|
|
}
|
|
}));
|
|
this._currentRequest = request;
|
|
return request;
|
|
});
|
|
}
|
|
};
|
|
LinkedEditingContribution.ID = 'editor.contrib.linkedEditing';
|
|
LinkedEditingContribution.DECORATION = textModel/* ModelDecorationOptions */.qx.register({
|
|
description: 'linked-editing',
|
|
stickiness: 0 /* AlwaysGrowsWhenTypingAtEdges */,
|
|
className: DECORATION_CLASS_NAME
|
|
});
|
|
LinkedEditingContribution = linkedEditing_decorate([
|
|
linkedEditing_param(1, contextkey/* IContextKeyService */.i6)
|
|
], LinkedEditingContribution);
|
|
|
|
class LinkedEditingAction extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: 'editor.action.linkedEditing',
|
|
label: nls/* localize */.N('linkedEditing.label', "Start Linked Editing"),
|
|
alias: 'Start Linked Editing',
|
|
precondition: contextkey/* ContextKeyExpr */.Ao.and(editorContextKeys/* EditorContextKeys */.u.writable, editorContextKeys/* EditorContextKeys */.u.hasRenameProvider),
|
|
kbOpts: {
|
|
kbExpr: editorContextKeys/* EditorContextKeys */.u.editorTextFocus,
|
|
primary: 2048 /* CtrlCmd */ | 1024 /* Shift */ | 60 /* F2 */,
|
|
weight: 100 /* EditorContrib */
|
|
}
|
|
});
|
|
}
|
|
runCommand(accessor, args) {
|
|
const editorService = accessor.get(codeEditorService/* ICodeEditorService */.$);
|
|
const [uri, pos] = Array.isArray(args) && args || [undefined, undefined];
|
|
if (common_uri/* URI */.o.isUri(uri) && position/* Position */.L.isIPosition(pos)) {
|
|
return editorService.openCodeEditor({ resource: uri }, editorService.getActiveCodeEditor()).then(editor => {
|
|
if (!editor) {
|
|
return;
|
|
}
|
|
editor.setPosition(pos);
|
|
editor.invokeWithinContext(accessor => {
|
|
this.reportTelemetry(accessor, editor);
|
|
return this.run(accessor, editor);
|
|
});
|
|
}, errors/* onUnexpectedError */.dL);
|
|
}
|
|
return super.runCommand(accessor, args);
|
|
}
|
|
run(_accessor, editor) {
|
|
const controller = LinkedEditingContribution.get(editor);
|
|
if (controller) {
|
|
return Promise.resolve(controller.updateRanges(true));
|
|
}
|
|
return Promise.resolve();
|
|
}
|
|
}
|
|
const LinkedEditingCommand = editorExtensions/* EditorCommand */._l.bindToContribution(LinkedEditingContribution.get);
|
|
(0,editorExtensions/* registerEditorCommand */.fK)(new LinkedEditingCommand({
|
|
id: 'cancelLinkedEditingInput',
|
|
precondition: CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE,
|
|
handler: x => x.clearRanges(),
|
|
kbOpts: {
|
|
kbExpr: editorContextKeys/* EditorContextKeys */.u.editorTextFocus,
|
|
weight: 100 /* EditorContrib */ + 99,
|
|
primary: 9 /* Escape */,
|
|
secondary: [1024 /* Shift */ | 9 /* Escape */]
|
|
}
|
|
}));
|
|
function getLinkedEditingRanges(model, position, token) {
|
|
const orderedByScore = modes/* LinkedEditingRangeProviderRegistry */.id.ordered(model);
|
|
// in order of score ask the linked editing range provider
|
|
// until someone response with a good result
|
|
// (good = not null)
|
|
return (0,common_async/* first */.Ps)(orderedByScore.map(provider => () => linkedEditing_awaiter(this, void 0, void 0, function* () {
|
|
try {
|
|
return yield provider.provideLinkedEditingRanges(model, position, token);
|
|
}
|
|
catch (e) {
|
|
(0,errors/* onUnexpectedExternalError */.Cp)(e);
|
|
return undefined;
|
|
}
|
|
})), result => !!result && arrays/* isNonEmptyArray */.Of(result === null || result === void 0 ? void 0 : result.ranges));
|
|
}
|
|
const editorLinkedEditingBackground = (0,colorRegistry/* registerColor */.P6)('editor.linkedEditingBackground', { dark: color/* Color */.Il.fromHex('#f00').transparent(0.3), light: color/* Color */.Il.fromHex('#f00').transparent(0.3), hc: color/* Color */.Il.fromHex('#f00').transparent(0.3) }, nls/* localize */.N('editorLinkedEditingBackground', 'Background color when the editor auto renames on type.'));
|
|
(0,themeService/* registerThemingParticipant */.Ic)((theme, collector) => {
|
|
const editorLinkedEditingBackgroundColor = theme.getColor(editorLinkedEditingBackground);
|
|
if (editorLinkedEditingBackgroundColor) {
|
|
collector.addRule(`.monaco-editor .${DECORATION_CLASS_NAME} { background: ${editorLinkedEditingBackgroundColor}; border-left-color: ${editorLinkedEditingBackgroundColor}; }`);
|
|
}
|
|
});
|
|
(0,editorExtensions/* registerModelAndPositionCommand */.sb)('_executeLinkedEditingProvider', (model, position) => getLinkedEditingRanges(model, position, cancellation/* CancellationToken */.T.None));
|
|
(0,editorExtensions/* registerEditorContribution */._K)(LinkedEditingContribution.ID, LinkedEditingContribution);
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(LinkedEditingAction);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/links/links.js + 2 modules
|
|
var links = __webpack_require__(94701);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/multicursor/multicursor.js
|
|
var multicursor = __webpack_require__(51518);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/parameterHints/parameterHints.js + 4 modules
|
|
var parameterHints = __webpack_require__(70938);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/rename/rename.js + 2 modules
|
|
var rename = __webpack_require__(27391);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/smartSelect/smartSelect.js + 1 modules
|
|
var smartSelect = __webpack_require__(71925);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/snippet/snippetController2.js
|
|
var snippetController2 = __webpack_require__(19257);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/suggest/suggestController.js + 16 modules
|
|
var suggestController = __webpack_require__(10321);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/stopwatch.js
|
|
var stopwatch = __webpack_require__(95830);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/tokenization/tokenization.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
class ForceRetokenizeAction extends editorExtensions/* EditorAction */.R6 {
|
|
constructor() {
|
|
super({
|
|
id: 'editor.action.forceRetokenize',
|
|
label: nls/* localize */.N('forceRetokenize', "Developer: Force Retokenize"),
|
|
alias: 'Developer: Force Retokenize',
|
|
precondition: undefined
|
|
});
|
|
}
|
|
run(accessor, editor) {
|
|
if (!editor.hasModel()) {
|
|
return;
|
|
}
|
|
const model = editor.getModel();
|
|
model.resetTokenization();
|
|
const sw = new stopwatch/* StopWatch */.G(true);
|
|
model.forceTokenization(model.getLineCount());
|
|
sw.stop();
|
|
console.log(`tokenization took ${sw.elapsed()}`);
|
|
}
|
|
}
|
|
(0,editorExtensions/* registerEditorAction */.Qr)(ForceRetokenizeAction);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode.js
|
|
var toggleTabFocusMode = __webpack_require__(6410);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/common/resources.js
|
|
var resources = __webpack_require__(9365);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/dialogs/common/dialogs.js
|
|
var dialogs = __webpack_require__(94726);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/unusualLineTerminators/unusualLineTerminators.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var unusualLineTerminators_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
};
|
|
var unusualLineTerminators_param = (undefined && undefined.__param) || function (paramIndex, decorator) {
|
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
};
|
|
var unusualLineTerminators_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const ignoreUnusualLineTerminators = 'ignoreUnusualLineTerminators';
|
|
function writeIgnoreState(codeEditorService, model, state) {
|
|
codeEditorService.setModelProperty(model.uri, ignoreUnusualLineTerminators, state);
|
|
}
|
|
function readIgnoreState(codeEditorService, model) {
|
|
return codeEditorService.getModelProperty(model.uri, ignoreUnusualLineTerminators);
|
|
}
|
|
let UnusualLineTerminatorsDetector = class UnusualLineTerminatorsDetector extends lifecycle/* Disposable */.JT {
|
|
constructor(_editor, _dialogService, _codeEditorService) {
|
|
super();
|
|
this._editor = _editor;
|
|
this._dialogService = _dialogService;
|
|
this._codeEditorService = _codeEditorService;
|
|
this._config = this._editor.getOption(112 /* unusualLineTerminators */);
|
|
this._register(this._editor.onDidChangeConfiguration((e) => {
|
|
if (e.hasChanged(112 /* unusualLineTerminators */)) {
|
|
this._config = this._editor.getOption(112 /* unusualLineTerminators */);
|
|
this._checkForUnusualLineTerminators();
|
|
}
|
|
}));
|
|
this._register(this._editor.onDidChangeModel(() => {
|
|
this._checkForUnusualLineTerminators();
|
|
}));
|
|
this._register(this._editor.onDidChangeModelContent((e) => {
|
|
if (e.isUndoing) {
|
|
// skip checking in case of undoing
|
|
return;
|
|
}
|
|
this._checkForUnusualLineTerminators();
|
|
}));
|
|
}
|
|
_checkForUnusualLineTerminators() {
|
|
return unusualLineTerminators_awaiter(this, void 0, void 0, function* () {
|
|
if (this._config === 'off') {
|
|
return;
|
|
}
|
|
if (!this._editor.hasModel()) {
|
|
return;
|
|
}
|
|
const model = this._editor.getModel();
|
|
if (!model.mightContainUnusualLineTerminators()) {
|
|
return;
|
|
}
|
|
const ignoreState = readIgnoreState(this._codeEditorService, model);
|
|
if (ignoreState === true) {
|
|
// this model should be ignored
|
|
return;
|
|
}
|
|
if (this._editor.getOption(80 /* readOnly */)) {
|
|
// read only editor => sorry!
|
|
return;
|
|
}
|
|
if (this._config === 'auto') {
|
|
// just do it!
|
|
model.removeUnusualLineTerminators(this._editor.getSelections());
|
|
return;
|
|
}
|
|
const result = yield this._dialogService.confirm({
|
|
title: nls/* localize */.N('unusualLineTerminators.title', "Unusual Line Terminators"),
|
|
message: nls/* localize */.N('unusualLineTerminators.message', "Detected unusual line terminators"),
|
|
detail: nls/* localize */.N('unusualLineTerminators.detail', "The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.", (0,resources/* basename */.EZ)(model.uri)),
|
|
primaryButton: nls/* localize */.N('unusualLineTerminators.fix', "Remove Unusual Line Terminators"),
|
|
secondaryButton: nls/* localize */.N('unusualLineTerminators.ignore', "Ignore")
|
|
});
|
|
if (!result.confirmed) {
|
|
// this model should be ignored
|
|
writeIgnoreState(this._codeEditorService, model, true);
|
|
return;
|
|
}
|
|
model.removeUnusualLineTerminators(this._editor.getSelections());
|
|
});
|
|
}
|
|
};
|
|
UnusualLineTerminatorsDetector.ID = 'editor.contrib.unusualLineTerminatorsDetector';
|
|
UnusualLineTerminatorsDetector = unusualLineTerminators_decorate([
|
|
unusualLineTerminators_param(1, dialogs/* IDialogService */.S),
|
|
unusualLineTerminators_param(2, codeEditorService/* ICodeEditorService */.$)
|
|
], UnusualLineTerminatorsDetector);
|
|
|
|
(0,editorExtensions/* registerEditorContribution */._K)(UnusualLineTerminatorsDetector.ID, UnusualLineTerminatorsDetector);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/services/getSemanticTokens.js + 1 modules
|
|
var getSemanticTokens = __webpack_require__(26757);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/services/modelServiceImpl.js
|
|
var modelServiceImpl = __webpack_require__(17539);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/services/semanticTokensProviderStyling.js
|
|
var semanticTokensProviderStyling = __webpack_require__(32981);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/configuration/common/configuration.js
|
|
var configuration = __webpack_require__(93965);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/viewportSemanticTokens/viewportSemanticTokens.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var viewportSemanticTokens_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
};
|
|
var viewportSemanticTokens_param = (undefined && undefined.__param) || function (paramIndex, decorator) {
|
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let ViewportSemanticTokensContribution = class ViewportSemanticTokensContribution extends lifecycle/* Disposable */.JT {
|
|
constructor(editor, _modelService, _themeService, _configurationService) {
|
|
super();
|
|
this._modelService = _modelService;
|
|
this._themeService = _themeService;
|
|
this._configurationService = _configurationService;
|
|
this._editor = editor;
|
|
this._tokenizeViewport = new common_async/* RunOnceScheduler */.pY(() => this._tokenizeViewportNow(), 100);
|
|
this._outstandingRequests = [];
|
|
this._register(this._editor.onDidScrollChange(() => {
|
|
this._tokenizeViewport.schedule();
|
|
}));
|
|
this._register(this._editor.onDidChangeModel(() => {
|
|
this._cancelAll();
|
|
this._tokenizeViewport.schedule();
|
|
}));
|
|
this._register(this._editor.onDidChangeModelContent((e) => {
|
|
this._cancelAll();
|
|
this._tokenizeViewport.schedule();
|
|
}));
|
|
this._register(modes/* DocumentRangeSemanticTokensProviderRegistry */.K7.onDidChange(() => {
|
|
this._cancelAll();
|
|
this._tokenizeViewport.schedule();
|
|
}));
|
|
this._register(this._configurationService.onDidChangeConfiguration(e => {
|
|
if (e.affectsConfiguration(modelServiceImpl/* SEMANTIC_HIGHLIGHTING_SETTING_ID */.e3)) {
|
|
this._cancelAll();
|
|
this._tokenizeViewport.schedule();
|
|
}
|
|
}));
|
|
this._register(this._themeService.onDidColorThemeChange(() => {
|
|
this._cancelAll();
|
|
this._tokenizeViewport.schedule();
|
|
}));
|
|
}
|
|
_cancelAll() {
|
|
for (const request of this._outstandingRequests) {
|
|
request.cancel();
|
|
}
|
|
this._outstandingRequests = [];
|
|
}
|
|
_removeOutstandingRequest(req) {
|
|
for (let i = 0, len = this._outstandingRequests.length; i < len; i++) {
|
|
if (this._outstandingRequests[i] === req) {
|
|
this._outstandingRequests.splice(i, 1);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
_tokenizeViewportNow() {
|
|
if (!this._editor.hasModel()) {
|
|
return;
|
|
}
|
|
const model = this._editor.getModel();
|
|
if (model.hasCompleteSemanticTokens()) {
|
|
return;
|
|
}
|
|
if (!(0,modelServiceImpl/* isSemanticColoringEnabled */.tw)(model, this._themeService, this._configurationService)) {
|
|
if (model.hasSomeSemanticTokens()) {
|
|
model.setSemanticTokens(null, false);
|
|
}
|
|
return;
|
|
}
|
|
if (!(0,getSemanticTokens/* hasDocumentRangeSemanticTokensProvider */.KO)(model)) {
|
|
if (model.hasSomeSemanticTokens()) {
|
|
model.setSemanticTokens(null, false);
|
|
}
|
|
return;
|
|
}
|
|
const visibleRanges = this._editor.getVisibleRangesPlusViewportAboveBelow();
|
|
this._outstandingRequests = this._outstandingRequests.concat(visibleRanges.map(range => this._requestRange(model, range)));
|
|
}
|
|
_requestRange(model, range) {
|
|
const requestVersionId = model.getVersionId();
|
|
const request = (0,common_async/* createCancelablePromise */.PG)(token => Promise.resolve((0,getSemanticTokens/* getDocumentRangeSemanticTokens */.OG)(model, range, token)));
|
|
request.then((r) => {
|
|
if (!r || !r.tokens || model.isDisposed() || model.getVersionId() !== requestVersionId) {
|
|
return;
|
|
}
|
|
const { provider, tokens: result } = r;
|
|
const styling = this._modelService.getSemanticTokensProviderStyling(provider);
|
|
model.setPartialSemanticTokens(range, (0,semanticTokensProviderStyling/* toMultilineTokens2 */.h)(result, styling, model.getLanguageId()));
|
|
}).then(() => this._removeOutstandingRequest(request), () => this._removeOutstandingRequest(request));
|
|
return request;
|
|
}
|
|
};
|
|
ViewportSemanticTokensContribution.ID = 'editor.contrib.viewportSemanticTokens';
|
|
ViewportSemanticTokensContribution = viewportSemanticTokens_decorate([
|
|
viewportSemanticTokens_param(1, services_modelService/* IModelService */.q),
|
|
viewportSemanticTokens_param(2, themeService/* IThemeService */.XE),
|
|
viewportSemanticTokens_param(3, configuration/* IConfigurationService */.Ui)
|
|
], ViewportSemanticTokensContribution);
|
|
(0,editorExtensions/* registerEditorContribution */._K)(ViewportSemanticTokensContribution.ID, ViewportSemanticTokensContribution);
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/wordHighlighter/wordHighlighter.js
|
|
var wordHighlighter = __webpack_require__(29111);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/wordOperations/wordOperations.js
|
|
var wordOperations = __webpack_require__(63618);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/contrib/wordPartOperations/wordPartOperations.js
|
|
var wordPartOperations = __webpack_require__(48608);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/common/standaloneStrings.js
|
|
var standaloneStrings = __webpack_require__(5530);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/base/browser/ui/codicons/codiconStyles.js + 2 modules
|
|
var codiconStyles = __webpack_require__(33262);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/editor.all.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Load up these strings even in VSCode, even if they are not used
|
|
// in order to get them translated
|
|
|
|
// The codicons are defined here and must be loaded
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js + 1 modules
|
|
var accessibilityHelp = __webpack_require__(20654);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js + 1 modules
|
|
var iPadShowKeyboard = __webpack_require__(23425);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/inspectTokens/inspectTokens.js + 1 modules
|
|
var inspectTokens = __webpack_require__(48304);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/registry/common/platform.js
|
|
var platform = __webpack_require__(44650);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/quickinput/common/quickAccess.js
|
|
var quickAccess = __webpack_require__(82825);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/platform/quickinput/browser/helpQuickAccess.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
var helpQuickAccess_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
};
|
|
var helpQuickAccess_param = (undefined && undefined.__param) || function (paramIndex, decorator) {
|
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
let HelpQuickAccessProvider = class HelpQuickAccessProvider {
|
|
constructor(quickInputService) {
|
|
this.quickInputService = quickInputService;
|
|
this.registry = platform/* Registry */.B.as(quickAccess/* Extensions */.IP.Quickaccess);
|
|
}
|
|
provide(picker) {
|
|
const disposables = new lifecycle/* DisposableStore */.SL();
|
|
// Open a picker with the selected value if picked
|
|
disposables.add(picker.onDidAccept(() => {
|
|
const [item] = picker.selectedItems;
|
|
if (item) {
|
|
this.quickInputService.quickAccess.show(item.prefix, { preserveValue: true });
|
|
}
|
|
}));
|
|
// Also open a picker when we detect the user typed the exact
|
|
// name of a provider (e.g. `?term` for terminals)
|
|
disposables.add(picker.onDidChangeValue(value => {
|
|
const providerDescriptor = this.registry.getQuickAccessProvider(value.substr(HelpQuickAccessProvider.PREFIX.length));
|
|
if (providerDescriptor && providerDescriptor.prefix && providerDescriptor.prefix !== HelpQuickAccessProvider.PREFIX) {
|
|
this.quickInputService.quickAccess.show(providerDescriptor.prefix, { preserveValue: true });
|
|
}
|
|
}));
|
|
// Fill in all providers separated by editor/global scope
|
|
const { editorProviders, globalProviders } = this.getQuickAccessProviders();
|
|
picker.items = editorProviders.length === 0 || globalProviders.length === 0 ?
|
|
// Without groups
|
|
[
|
|
...(editorProviders.length === 0 ? globalProviders : editorProviders)
|
|
] :
|
|
// With groups
|
|
[
|
|
{ label: (0,nls/* localize */.N)('globalCommands', "global commands"), type: 'separator' },
|
|
...globalProviders,
|
|
{ label: (0,nls/* localize */.N)('editorCommands', "editor commands"), type: 'separator' },
|
|
...editorProviders
|
|
];
|
|
return disposables;
|
|
}
|
|
getQuickAccessProviders() {
|
|
const globalProviders = [];
|
|
const editorProviders = [];
|
|
for (const provider of this.registry.getQuickAccessProviders().sort((providerA, providerB) => providerA.prefix.localeCompare(providerB.prefix))) {
|
|
if (provider.prefix === HelpQuickAccessProvider.PREFIX) {
|
|
continue; // exclude help which is already active
|
|
}
|
|
for (const helpEntry of provider.helpEntries) {
|
|
const prefix = helpEntry.prefix || provider.prefix;
|
|
const label = prefix || '\u2026' /* ... */;
|
|
(helpEntry.needsEditor ? editorProviders : globalProviders).push({
|
|
prefix,
|
|
label,
|
|
ariaLabel: (0,nls/* localize */.N)('helpPickAriaLabel', "{0}, {1}", label, helpEntry.description),
|
|
description: helpEntry.description
|
|
});
|
|
}
|
|
}
|
|
return { editorProviders, globalProviders };
|
|
}
|
|
};
|
|
HelpQuickAccessProvider.PREFIX = '?';
|
|
HelpQuickAccessProvider = helpQuickAccess_decorate([
|
|
helpQuickAccess_param(0, quickInput/* IQuickInputService */.eJ)
|
|
], HelpQuickAccessProvider);
|
|
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
platform/* Registry */.B.as(quickAccess/* Extensions */.IP.Quickaccess).registerQuickAccessProvider({
|
|
ctor: HelpQuickAccessProvider,
|
|
prefix: '',
|
|
helpEntries: [{ description: standaloneStrings/* QuickHelpNLS */.ld.helpQuickAccessActionLabel, needsEditor: true }]
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js + 1 modules
|
|
var standaloneGotoLineQuickAccess = __webpack_require__(65586);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js + 2 modules
|
|
var standaloneGotoSymbolQuickAccess = __webpack_require__(83861);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js + 4 modules
|
|
var standaloneCommandsQuickAccess = __webpack_require__(63435);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js
|
|
var standaloneReferenceSearch = __webpack_require__(34835);
|
|
// EXTERNAL MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast.js
|
|
var toggleHighContrast = __webpack_require__(6181);
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/edcore.main.js
|
|
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/_monaco-editor@0.30.0@monaco-editor/esm/vs/editor/editor.main.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/***/ })
|
|
|
|
}]); |