monaco-editor
Version:
A browser based code editor
528 lines (522 loc) • 5.11 MB
JavaScript
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.15.5(3d42593a5844407ab71d47b348ea3a8de5fec848)
* Released under the MIT license
* https://github.com/Microsoft/vscode/blob/master/LICENSE.txt
*-----------------------------------------------------------*/
(function() {
var __m = ["require","exports","vs/base/common/lifecycle","vs/editor/common/core/range","vs/nls!vs/editor/editor.main","vs/nls","vs/base/common/event","vs/base/browser/dom","vs/base/common/strings","vs/css!vs/editor/editor.main","vs/editor/browser/editorExtensions","vs/base/common/errors","vs/editor/common/core/position","vs/platform/theme/common/themeService","vs/editor/common/modes","vs/platform/instantiation/common/instantiation","vs/base/common/async","vs/base/common/platform","vs/platform/contextkey/common/contextkey","vs/editor/common/editorContextKeys","vs/platform/theme/common/colorRegistry","vs/editor/common/core/selection","vs/base/common/arrays","vs/base/browser/fastDomNode","vs/base/common/cancellation","vs/base/common/uri","vs/editor/common/model/textModel","vs/base/common/objects","vs/base/common/color","vs/base/browser/browser","vs/editor/browser/services/codeEditorService","vs/platform/commands/common/commands","vs/base/common/types","vs/editor/browser/view/viewPart","vs/editor/common/view/editorColorRegistry","vs/platform/notification/common/notification","vs/base/common/keyCodes","vs/platform/actions/common/actions","vs/editor/common/controller/cursorCommon","vs/editor/common/modes/languageConfigurationRegistry","vs/base/browser/mouseEvent","vs/platform/registry/common/platform","vs/editor/common/services/modelService","vs/base/browser/ui/aria/aria","vs/editor/common/model","vs/platform/configuration/common/configuration","vs/base/browser/ui/widget","vs/platform/keybinding/common/keybinding","vs/editor/common/config/editorOptions","vs/editor/common/core/editOperation","vs/base/common/network","vs/editor/common/modes/nullMode","vs/base/browser/keyboardEvent","vs/base/common/winjs.base","vs/editor/common/editorCommon","vs/base/browser/ui/scrollbar/scrollableElement","vs/base/common/actions","vs/editor/browser/config/configuration","vs/base/common/paths","vs/editor/common/viewModel/viewModel","vs/platform/contextview/browser/contextView","vs/editor/browser/view/dynamicViewOverlay","vs/platform/opener/common/opener","vs/editor/common/services/modeService","vs/editor/common/services/editorWorkerService","vs/base/common/map","vs/editor/browser/core/editorState","vs/base/browser/ui/actionbar/actionbar","vs/base/common/htmlContent","vs/editor/common/view/viewEvents","vs/platform/telemetry/common/telemetry","vs/platform/storage/common/storage","vs/base/browser/event","vs/base/browser/globalMouseMoveMonitor","vs/editor/common/modes/languageConfiguration","vs/base/browser/touch","vs/platform/markers/common/markers","vs/editor/common/commands/replaceCommand","vs/editor/standalone/common/standaloneThemeService","vs/editor/common/viewModel/viewEventHandler","vs/editor/common/controller/wordCharacterClassifier","vs/editor/common/core/characterClassifier","vs/platform/configuration/common/configurationRegistry","vs/editor/common/view/renderingContext","vs/base/common/resources","vs/editor/contrib/suggest/suggest","vs/platform/theme/common/styler","vs/base/common/iterator","vs/base/parts/tree/browser/treeDefaults","vs/platform/progress/common/progress","vs/editor/common/model/wordHelper","vs/editor/common/core/token","vs/editor/common/services/resolverService","vs/editor/common/core/lineTokens","vs/editor/common/modes/supports","vs/platform/keybinding/common/keybindingsRegistry","vs/editor/common/modes/supports/richEditBrackets","vs/editor/common/config/editorZoom","vs/platform/instantiation/common/serviceCollection","vs/editor/browser/widget/codeEditorWidget","vs/base/common/filters","vs/editor/common/core/uint","vs/base/browser/ui/sash/sash","vs/editor/common/viewLayout/viewLineRenderer","vs/editor/common/modes/modesRegistry","vs/editor/browser/editorBrowser","vs/editor/common/services/resourceConfiguration","vs/editor/common/view/minimapCharRenderer","vs/editor/contrib/codeAction/codeActionTrigger","vs/editor/contrib/folding/foldingRanges","vs/base/common/idGenerator","vs/editor/contrib/snippet/snippetParser","vs/editor/common/model/textModelSearch","vs/base/browser/ui/scrollbar/scrollbarArrow","vs/base/common/severity","vs/base/common/range","vs/platform/log/common/log","vs/base/browser/ui/inputbox/inputBox","vs/base/browser/ui/iconLabel/iconLabel","vs/base/parts/quickopen/browser/quickOpenModel","vs/editor/contrib/markdown/markdownRenderer","vs/editor/common/core/stringBuilder","vs/editor/common/config/fontInfo","vs/editor/contrib/referenceSearch/referencesModel","vs/editor/common/standalone/standaloneEnums","vs/editor/common/config/commonEditorConfig","vs/editor/browser/services/bulkEditService","vs/editor/browser/view/viewLayer","vs/base/common/decorators","vs/editor/common/viewLayout/lineDecorations","vs/base/common/diff/diff","vs/editor/common/viewModel/prefixSumComputer","vs/editor/browser/controller/coreCommands","vs/base/browser/htmlContentRenderer","vs/editor/browser/editorDom","vs/base/common/assert","vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/editor/common/controller/cursorTypeOperations","vs/editor/common/controller/cursorWordOperations","vs/editor/browser/widget/embeddedCodeEditorWidget","vs/editor/contrib/find/findModel","vs/editor/contrib/message/messageController","vs/editor/contrib/referenceSearch/peekViewWidget","vs/editor/contrib/snippet/snippetController2","vs/editor/standalone/browser/quickOpen/editorQuickOpen","vs/platform/list/browser/listService","vs/editor/contrib/referenceSearch/referencesController","vs/editor/standalone/browser/simpleServices","vs/base/common/worker/simpleWorker","vs/base/browser/ui/scrollbar/scrollbarState","vs/editor/browser/controller/textAreaInput","vs/editor/standalone/browser/standaloneServices","vs/base/browser/ui/findinput/findInputCheckboxes","vs/editor/common/standalone/standaloneBase","vs/base/common/keybindingLabels","vs/platform/keybinding/common/keybindingResolver","vs/platform/label/common/label","vs/editor/common/view/overviewZoneManager","vs/base/common/labels","vs/base/browser/ui/highlightedlabel/highlightedLabel","vs/base/common/linkedList","vs/base/parts/tree/browser/treeImpl","vs/platform/files/common/files","vs/css!vs/editor/contrib/goToDefinition/goToDefinitionMouse","vs/base/browser/iframe","vs/editor/common/editorAction","vs/base/browser/ui/scrollbar/abstractScrollbar","vs/base/common/glob","vs/editor/browser/viewParts/margin/margin","vs/base/common/scrollable","vs/base/common/winjs.polyfill.promise","vs/editor/contrib/comment/blockCommentCommand","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase","vs/editor/browser/controller/textAreaState","vs/editor/contrib/colorPicker/color","vs/editor/contrib/colorPicker/colorDetector","vs/editor/contrib/goToDefinition/goToDefinition","vs/editor/contrib/parameterHints/provideSignatureHelp","vs/editor/common/commands/shiftCommand","vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode","vs/editor/contrib/wordOperations/wordOperations","vs/editor/common/controller/cursorMoveOperations","vs/editor/common/controller/cursorDeleteOperations","vs/editor/contrib/goToDefinition/clickLinkGesture","vs/editor/browser/viewParts/lines/viewLine","vs/editor/browser/controller/mouseTarget","vs/editor/contrib/hover/hoverOperation","vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/editor/common/controller/cursorMoveCommands","vs/editor/browser/widget/diffEditorWidget","vs/editor/common/modes/textToHtmlTokenizer","vs/editor/contrib/hover/hoverWidgets","vs/editor/contrib/smartSelect/tokenTree","vs/editor/common/services/editorWorkerServiceImpl","vs/editor/browser/widget/diffNavigator","vs/editor/common/viewModel/splitLinesCollection","vs/editor/contrib/zoneWidget/zoneWidget","vs/editor/contrib/referenceSearch/referencesWidget","vs/editor/standalone/common/monarch/monarchCommon","vs/editor/contrib/goToDefinition/goToDefinitionCommands","vs/editor/contrib/find/findController","vs/platform/workspace/common/workspace","vs/platform/clipboard/common/clipboardService","vs/editor/contrib/folding/syntaxRangeProvider","vs/css!vs/base/browser/ui/iconLabel/iconlabel","vs/base/common/stopwatch","vs/css!vs/base/browser/ui/inputbox/inputBox","vs/editor/browser/viewParts/lines/rangeUtil","vs/editor/common/view/viewContext","vs/editor/common/view/viewEventDispatcher","vs/css!vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/css!vs/base/browser/ui/list/list","vs/css!vs/base/browser/ui/menu/menu","vs/editor/common/viewLayout/viewLinesViewportData","vs/editor/common/viewLayout/whitespaceComputer","vs/editor/common/viewLayout/linesLayout","vs/css!vs/base/browser/ui/progressbar/progressbar","vs/editor/common/model/mirrorTextModel","vs/editor/common/services/editorSimpleWorker","vs/base/browser/ui/progressbar/progressbar","vs/css!vs/base/browser/ui/sash/sash","vs/editor/editor.api","vs/editor/browser/viewParts/contentWidgets/contentWidgets","vs/editor/browser/viewParts/decorations/decorations","vs/css!vs/base/browser/ui/scrollbar/media/scrollbars","vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/base/common/collections","vs/editor/browser/viewParts/marginDecorations/marginDecorations","vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/editor/browser/viewParts/overviewRuler/overviewRuler","vs/editor/browser/viewParts/viewZones/viewZones","vs/base/browser/ui/list/listView","vs/editor/common/viewLayout/viewLayout","vs/editor/common/viewModel/viewModelDecorations","vs/editor/contrib/caretOperations/moveCaretCommand","vs/base/parts/tree/browser/treeView","vs/editor/contrib/codeAction/codeActionWidget","vs/editor/contrib/colorPicker/colorPickerModel","vs/css!vs/base/parts/quickopen/browser/quickopen","vs/editor/contrib/comment/lineCommentCommand","vs/editor/contrib/dnd/dragAndDropCommand","vs/editor/contrib/find/findState","vs/editor/contrib/find/replaceAllCommand","vs/editor/contrib/find/replacePattern","vs/css!vs/base/parts/tree/browser/tree","vs/editor/contrib/folding/foldingModel","vs/editor/contrib/folding/hiddenRangeModel","vs/base/browser/ui/octiconLabel/octiconLabel","vs/editor/contrib/folding/intializingRangeProvider","vs/editor/contrib/format/formattingEdit","vs/css!vs/editor/browser/controller/textAreaHandler","vs/css!vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/css!vs/editor/browser/viewParts/currentLineMarginHighlight/currentLineMarginHighlight","vs/editor/contrib/hover/modesGlyphHover","vs/editor/contrib/inPlaceReplace/inPlaceReplaceCommand","vs/editor/contrib/indentation/indentUtils","vs/editor/contrib/linesOperations/copyLinesCommand","vs/editor/contrib/linesOperations/deleteLinesCommand","vs/editor/contrib/linesOperations/sortLinesCommand","vs/css!vs/editor/browser/viewParts/decorations/decorations","vs/css!vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/editor/contrib/suggest/wordDistance","vs/css!vs/editor/browser/viewParts/indentGuides/indentGuides","vs/editor/standalone/common/monarch/monarchCompile","vs/nls!vs/base/browser/ui/actionbar/actionbar","vs/css!vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/css!vs/editor/browser/viewParts/lines/viewLines","vs/css!vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/nls!vs/base/browser/ui/aria/aria","vs/css!vs/editor/browser/viewParts/marginDecorations/marginDecorations","vs/nls!vs/base/browser/ui/findinput/findInput","vs/nls!vs/base/browser/ui/findinput/findInputCheckboxes","vs/css!vs/editor/browser/viewParts/minimap/minimap","vs/nls!vs/base/browser/ui/inputbox/inputBox","vs/css!vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/base/browser/ui/findinput/findInput","vs/nls!vs/base/browser/ui/list/listWidget","vs/base/browser/ui/list/listWidget","vs/nls!vs/base/browser/ui/menu/menu","vs/base/browser/ui/menu/menu","vs/nls!vs/base/common/keybindingLabels","vs/css!vs/editor/browser/viewParts/rulers/rulers","vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/nls!vs/base/common/severity","vs/css!vs/editor/browser/viewParts/scrollDecoration/scrollDecoration","vs/nls!vs/base/parts/quickopen/browser/quickOpenModel","vs/css!vs/editor/browser/viewParts/selections/selections","vs/nls!vs/base/parts/quickopen/browser/quickOpenWidget","vs/base/parts/quickopen/browser/quickOpenWidget","vs/nls!vs/editor/browser/controller/coreCommands","vs/nls!vs/editor/browser/widget/codeEditorWidget","vs/nls!vs/editor/browser/widget/diffEditorWidget","vs/nls!vs/editor/browser/widget/diffReview","vs/nls!vs/editor/common/config/commonEditorConfig","vs/nls!vs/editor/common/config/editorOptions","vs/css!vs/editor/browser/viewParts/viewCursors/viewCursors","vs/css!vs/editor/browser/widget/media/diffEditor","vs/nls!vs/editor/common/controller/cursor","vs/nls!vs/editor/common/modes/modesRegistry","vs/nls!vs/editor/common/services/modelServiceImpl","vs/nls!vs/editor/common/view/editorColorRegistry","vs/nls!vs/editor/contrib/bracketMatching/bracketMatching","vs/nls!vs/editor/contrib/caretOperations/caretOperations","vs/nls!vs/editor/contrib/caretOperations/transpose","vs/nls!vs/editor/contrib/clipboard/clipboard","vs/nls!vs/editor/contrib/codeAction/codeActionCommands","vs/nls!vs/editor/contrib/comment/comment","vs/nls!vs/editor/contrib/contextmenu/contextmenu","vs/nls!vs/editor/contrib/cursorUndo/cursorUndo","vs/nls!vs/editor/contrib/find/findController","vs/nls!vs/editor/contrib/find/findWidget","vs/nls!vs/editor/contrib/folding/folding","vs/nls!vs/editor/contrib/fontZoom/fontZoom","vs/nls!vs/editor/contrib/format/formatActions","vs/nls!vs/editor/contrib/goToDefinition/goToDefinitionCommands","vs/nls!vs/editor/contrib/goToDefinition/goToDefinitionMouse","vs/nls!vs/editor/contrib/gotoError/gotoError","vs/nls!vs/editor/contrib/gotoError/gotoErrorWidget","vs/nls!vs/editor/contrib/hover/hover","vs/nls!vs/editor/contrib/hover/modesContentHover","vs/nls!vs/editor/contrib/inPlaceReplace/inPlaceReplace","vs/nls!vs/editor/contrib/linesOperations/linesOperations","vs/nls!vs/editor/contrib/links/links","vs/nls!vs/editor/contrib/message/messageController","vs/nls!vs/editor/contrib/multicursor/multicursor","vs/nls!vs/editor/contrib/parameterHints/parameterHints","vs/nls!vs/editor/contrib/parameterHints/parameterHintsWidget","vs/nls!vs/editor/contrib/referenceSearch/peekViewWidget","vs/nls!vs/editor/contrib/referenceSearch/referenceSearch","vs/nls!vs/editor/contrib/referenceSearch/referencesController","vs/nls!vs/editor/contrib/referenceSearch/referencesModel","vs/css!vs/editor/browser/widget/media/diffReview","vs/nls!vs/editor/contrib/referenceSearch/referencesWidget","vs/nls!vs/editor/contrib/rename/rename","vs/nls!vs/editor/contrib/rename/renameInputField","vs/nls!vs/editor/contrib/smartSelect/smartSelect","vs/nls!vs/editor/contrib/snippet/snippetVariables","vs/editor/contrib/snippet/snippetVariables","vs/nls!vs/editor/contrib/suggest/suggestController","vs/nls!vs/editor/contrib/suggest/suggestWidget","vs/nls!vs/editor/contrib/toggleTabFocusMode/toggleTabFocusMode","vs/nls!vs/editor/contrib/wordHighlighter/wordHighlighter","vs/nls!vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp","vs/nls!vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/nls!vs/editor/standalone/browser/quickOpen/gotoLine","vs/nls!vs/editor/standalone/browser/quickOpen/quickCommand","vs/nls!vs/editor/standalone/browser/quickOpen/quickOutline","vs/nls!vs/editor/standalone/browser/simpleServices","vs/nls!vs/editor/standalone/browser/standaloneCodeEditor","vs/nls!vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast","vs/nls!vs/platform/configuration/common/configurationRegistry","vs/nls!vs/platform/keybinding/common/abstractKeybindingService","vs/nls!vs/platform/list/browser/listService","vs/nls!vs/platform/markers/common/markers","vs/nls!vs/platform/theme/common/colorRegistry","vs/css!vs/editor/browser/widget/media/editor","vs/platform/instantiation/common/descriptors","vs/platform/instantiation/common/graph","vs/css!vs/editor/browser/widget/media/tokens","vs/css!vs/editor/contrib/bracketMatching/bracketMatching","vs/css!vs/editor/contrib/clipboard/clipboard","vs/css!vs/editor/contrib/codeAction/lightBulbWidget","vs/css!vs/editor/contrib/codelens/codelensWidget","vs/css!vs/editor/contrib/colorPicker/colorPicker","vs/editor/common/modes/languageFeatureRegistry","vs/css!vs/editor/contrib/dnd/dnd","vs/css!vs/editor/contrib/find/findWidget","vs/css!vs/editor/contrib/folding/folding","vs/editor/common/model/textModelTokens","vs/base/browser/ui/list/rowCache","vs/css!vs/editor/contrib/gotoError/gotoErrorWidget","vs/css!vs/editor/contrib/hover/hover","vs/editor/common/controller/cursorColumnSelection","vs/css!vs/editor/contrib/links/links","vs/css!vs/editor/contrib/message/messageController","vs/css!vs/editor/contrib/parameterHints/parameterHints","vs/css!vs/editor/contrib/referenceSearch/media/peekViewWidget","vs/css!vs/editor/contrib/referenceSearch/media/referencesWidget","vs/editor/common/controller/oneCursor","vs/editor/common/controller/cursorCollection","vs/editor/common/controller/cursor","vs/css!vs/editor/contrib/rename/renameInputField","vs/css!vs/editor/contrib/snippet/snippetSession","vs/css!vs/editor/contrib/suggest/media/suggest","vs/css!vs/editor/contrib/zoneWidget/zoneWidget","vs/editor/common/services/webWorker","vs/css!vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp","vs/editor/common/view/runtimeMinimapCharRenderer","vs/css!vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard","vs/editor/common/viewModel/characterHardWrappingLineMapper","vs/editor/common/viewModel/viewModelImpl","vs/editor/contrib/codeAction/lightBulbWidget","vs/editor/contrib/folding/foldingDecorations","vs/editor/contrib/folding/indentRangeProvider","vs/editor/contrib/linesOperations/moveLinesCommand","vs/editor/contrib/smartSelect/tokenSelectionSupport","vs/css!vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/editor/standalone/browser/colorizer","vs/editor/standalone/common/monarch/monarchLexer","vs/css!vs/editor/standalone/browser/quickOpen/editorQuickOpen","vs/css!vs/editor/standalone/browser/quickOpen/gotoLine","vs/css!vs/editor/standalone/browser/quickOpen/quickOutline","vs/editor/contrib/links/getLinks","vs/css!vs/editor/standalone/browser/standalone-tokens","vs/css!vs/platform/contextview/browser/contextMenuHandler","vs/editor/contrib/suggest/suggestAlternatives","vs/editor/contrib/suggest/wordContextKey","vs/editor/browser/config/charWidthReader","vs/platform/actions/common/menu","vs/editor/browser/config/elementSizeObserver","vs/platform/dialogs/common/dialogs","vs/base/browser/ui/scrollbar/scrollbarVisibilityController","vs/platform/instantiation/common/instantiationService","vs/platform/keybinding/common/abstractKeybindingService","vs/base/common/functional","vs/editor/browser/services/abstractCodeEditorService","vs/platform/keybinding/common/resolvedKeybindingItem","vs/platform/keybinding/common/usLayoutResolvedKeybinding","vs/base/common/hash","vs/base/browser/ui/list/splice","vs/base/browser/ui/scrollbar/horizontalScrollbar","vs/platform/markers/common/markerService","vs/base/browser/ui/scrollbar/verticalScrollbar","vs/base/browser/dnd","vs/base/common/mime","vs/editor/common/commands/trimTrailingWhitespaceCommand","vs/editor/common/core/rgba","vs/base/common/numbers","vs/editor/common/services/getIconClasses","vs/platform/jsonschemas/common/jsonContributionRegistry","vs/base/common/marshalling","vs/base/common/diff/diffChange","vs/editor/common/commands/surroundSelectionCommand","vs/editor/browser/view/viewOverlays","vs/editor/browser/viewParts/viewCursors/viewCursor","vs/editor/common/services/languagesRegistry","vs/editor/common/services/modeServiceImpl","vs/base/parts/quickopen/browser/quickOpenViewer","vs/platform/configuration/common/configurationModels","vs/platform/contextkey/browser/contextKeyService","vs/base/parts/tree/browser/tree","vs/base/common/history","vs/editor/contrib/suggest/suggestMemory","vs/base/parts/tree/browser/treeDnd","vs/base/parts/tree/browser/treeModel","vs/base/parts/tree/browser/treeViewModel","vs/editor/browser/view/viewController","vs/editor/contrib/caretOperations/caretOperations","vs/editor/contrib/caretOperations/transpose","vs/editor/contrib/clipboard/clipboard","vs/editor/contrib/codeAction/codeAction","vs/editor/contrib/codeAction/codeActionModel","vs/editor/contrib/codelens/codelens","vs/editor/common/diff/diffComputer","vs/base/worker/defaultWorkerFactory","vs/editor/contrib/comment/comment","vs/editor/contrib/contextmenu/contextmenu","vs/editor/contrib/cursorUndo/cursorUndo","vs/editor/contrib/dnd/dnd","vs/editor/contrib/folding/folding","vs/editor/contrib/fontZoom/fontZoom","vs/editor/contrib/format/format","vs/editor/contrib/format/formatActions","vs/css!vs/base/browser/ui/actionbar/actionbar","vs/editor/contrib/hover/getHover","vs/editor/contrib/linesOperations/linesOperations","vs/base/browser/ui/list/rangeMap","vs/editor/contrib/quickOpen/quickOpen","vs/editor/contrib/smartSelect/smartSelect","vs/css!vs/base/browser/ui/aria/aria","vs/editor/contrib/suggest/completionModel","vs/editor/common/model/editStack","vs/editor/common/model/indentationGuesser","vs/editor/contrib/wordPartOperations/wordPartOperations","vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard","vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast","vs/platform/contextview/browser/contextViewService","vs/platform/telemetry/common/telemetryUtils","vs/editor/browser/services/openerService","vs/editor/common/model/intervalTree","vs/editor/common/model/pieceTreeTextBuffer/rbTreeBase","vs/editor/standalone/browser/quickOpen/quickOpenEditorWidget","vs/platform/contextview/browser/contextMenuHandler","vs/editor/common/model/textModelEvents","vs/editor/browser/services/codeEditorServiceImpl","vs/editor/browser/viewParts/editorScrollbar/editorScrollbar","vs/css!vs/base/browser/ui/checkbox/checkbox","vs/base/browser/ui/checkbox/checkbox","vs/editor/browser/controller/mouseHandler","vs/editor/browser/controller/pointerHandler","vs/editor/browser/view/viewOutgoingEvents","vs/editor/browser/viewParts/lines/viewLines","vs/editor/browser/viewParts/minimap/minimap","vs/editor/browser/viewParts/scrollDecoration/scrollDecoration","vs/editor/browser/viewParts/selections/selections","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer","vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/editor/browser/viewParts/currentLineMarginHighlight/currentLineMarginHighlight","vs/editor/browser/viewParts/indentGuides/indentGuides","vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBufferBuilder","vs/editor/browser/controller/textAreaHandler","vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler","vs/editor/browser/viewParts/rulers/rulers","vs/editor/browser/viewParts/viewCursors/viewCursors","vs/editor/browser/view/viewImpl","vs/css!vs/base/browser/ui/contextview/contextview","vs/editor/browser/widget/diffReview","vs/editor/common/modes/abstractMode","vs/base/browser/ui/contextview/contextview","vs/editor/common/services/modelServiceImpl","vs/editor/contrib/bracketMatching/bracketMatching","vs/editor/contrib/codelens/codelensWidget","vs/editor/contrib/codelens/codelensController","vs/editor/contrib/colorPicker/colorPickerWidget","vs/editor/contrib/find/findDecorations","vs/editor/common/modes/languageSelector","vs/editor/contrib/find/findOptionsWidget","vs/editor/contrib/gotoError/gotoErrorWidget","vs/editor/contrib/gotoError/gotoError","vs/editor/contrib/hover/modesContentHover","vs/editor/contrib/hover/hover","vs/editor/contrib/inPlaceReplace/inPlaceReplace","vs/editor/contrib/links/links","vs/editor/common/modes/linkComputer","vs/editor/contrib/codeAction/codeActionCommands","vs/editor/contrib/codeAction/codeActionContributions","vs/editor/contrib/parameterHints/parameterHintsWidget","vs/editor/contrib/parameterHints/parameterHints","vs/css!vs/base/browser/ui/countBadge/countBadge","vs/editor/contrib/rename/renameInputField","vs/editor/contrib/rename/rename","vs/editor/contrib/snippet/snippetSession","vs/editor/common/modes/supports/characterPair","vs/editor/contrib/suggest/suggestModel","vs/editor/contrib/suggest/suggestWidget","vs/editor/contrib/suggest/suggestController","vs/editor/contrib/wordHighlighter/wordHighlighter","vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp","vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/editor/common/modes/supports/indentRules","vs/editor/standalone/browser/quickOpen/gotoLine","vs/editor/standalone/browser/quickOpen/quickCommand","vs/editor/standalone/browser/quickOpen/quickOutline","vs/editor/standalone/browser/standaloneCodeServiceImpl","vs/editor/standalone/common/themes","vs/editor/standalone/browser/standaloneThemeServiceImpl","vs/platform/contextview/browser/contextMenuService","vs/editor/common/modes/supports/inplaceReplaceSupport","vs/editor/common/modes/supports/onEnter","vs/base/browser/ui/countBadge/countBadge","vs/editor/common/modes/supports/electricCharacter","vs/editor/contrib/goToDefinition/goToDefinitionMouse","vs/editor/contrib/referenceSearch/referenceSearch","vs/editor/standalone/browser/referenceSearch/standaloneReferenceSearch","vs/platform/widget/common/contextScopedWidget","vs/platform/widget/browser/contextScopedHistoryWidget","vs/editor/contrib/find/findWidget","vs/css!vs/base/browser/ui/findinput/findInput","vs/editor/contrib/multicursor/multicursor","vs/editor/editor.all","vs/editor/common/modes/supports/tokenization","vs/editor/common/modes/tokenizationRegistry","vs/editor/standalone/browser/standaloneCodeEditor","vs/css!vs/base/browser/ui/findinput/findInputCheckboxes","vs/editor/standalone/browser/standaloneEditor","vs/editor/standalone/browser/standaloneLanguages","vs/base/common/marked/marked","vs/editor/edcore.main"];
var __M = function(deps) {
var result = [];
for (var i = 0, len = deps.length; i < len; i++) {
result[i] = __m[deps[i]];
}
return result;
};
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
* Please make sure to make edits in the .ts file at https://github.com/Microsoft/vscode-loader/
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*--------------------------------------------------------------------------------------------*/
'use strict';
var CSSLoaderPlugin;
(function (CSSLoaderPlugin) {
/**
* Known issue:
* - In IE there is no way to know if the CSS file loaded successfully or not.
*/
var BrowserCSSLoader = /** @class */ (function () {
function BrowserCSSLoader() {
this._pendingLoads = 0;
}
BrowserCSSLoader.prototype.attachListeners = function (name, linkNode, callback, errorback) {
var unbind = function () {
linkNode.removeEventListener('load', loadEventListener);
linkNode.removeEventListener('error', errorEventListener);
};
var loadEventListener = function (e) {
unbind();
callback();
};
var errorEventListener = function (e) {
unbind();
errorback(e);
};
linkNode.addEventListener('load', loadEventListener);
linkNode.addEventListener('error', errorEventListener);
};
BrowserCSSLoader.prototype._onLoad = function (name, callback) {
this._pendingLoads--;
callback();
};
BrowserCSSLoader.prototype._onLoadError = function (name, errorback, err) {
this._pendingLoads--;
errorback(err);
};
BrowserCSSLoader.prototype._insertLinkNode = function (linkNode) {
this._pendingLoads++;
var head = document.head || document.getElementsByTagName('head')[0];
var other = head.getElementsByTagName('link') || document.head.getElementsByTagName('script');
if (other.length > 0) {
head.insertBefore(linkNode, other[other.length - 1]);
}
else {
head.appendChild(linkNode);
}
};
BrowserCSSLoader.prototype.createLinkTag = function (name, cssUrl, externalCallback, externalErrorback) {
var _this = this;
var linkNode = document.createElement('link');
linkNode.setAttribute('rel', 'stylesheet');
linkNode.setAttribute('type', 'text/css');
linkNode.setAttribute('data-name', name);
var callback = function () { return _this._onLoad(name, externalCallback); };
var errorback = function (err) { return _this._onLoadError(name, externalErrorback, err); };
this.attachListeners(name, linkNode, callback, errorback);
linkNode.setAttribute('href', cssUrl);
return linkNode;
};
BrowserCSSLoader.prototype._linkTagExists = function (name, cssUrl) {
var i, len, nameAttr, hrefAttr, links = document.getElementsByTagName('link');
for (i = 0, len = links.length; i < len; i++) {
nameAttr = links[i].getAttribute('data-name');
hrefAttr = links[i].getAttribute('href');
if (nameAttr === name || hrefAttr === cssUrl) {
return true;
}
}
return false;
};
BrowserCSSLoader.prototype.load = function (name, cssUrl, externalCallback, externalErrorback) {
if (this._linkTagExists(name, cssUrl)) {
externalCallback();
return;
}
var linkNode = this.createLinkTag(name, cssUrl, externalCallback, externalErrorback);
this._insertLinkNode(linkNode);
};
return BrowserCSSLoader;
}());
// ------------------------------ Finally, the plugin
var CSSPlugin = /** @class */ (function () {
function CSSPlugin() {
this._cssLoader = new BrowserCSSLoader();
}
CSSPlugin.prototype.load = function (name, req, load) {
var cssUrl = req.toUrl(name + '.css');
this._cssLoader.load(name, cssUrl, function (contents) {
load({});
}, function (err) {
if (typeof load.error === 'function') {
load.error('Could not find ' + cssUrl + ' or it was empty');
}
});
};
return CSSPlugin;
}());
CSSLoaderPlugin.CSSPlugin = CSSPlugin;
define('vs/css', new CSSPlugin());
})(CSSLoaderPlugin || (CSSLoaderPlugin = {}));
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
* Please make sure to make edits in the .ts file at https://github.com/Microsoft/vscode-loader/
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*---------------------------------------------------------------------------------------------
*--------------------------------------------------------------------------------------------*/
'use strict';
var NLSLoaderPlugin;
(function (NLSLoaderPlugin) {
var Environment = /** @class */ (function () {
function Environment() {
this._detected = false;
this._isPseudo = false;
}
Object.defineProperty(Environment.prototype, "isPseudo", {
get: function () {
this._detect();
return this._isPseudo;
},
enumerable: true,
configurable: true
});
Environment.prototype._detect = function () {
if (this._detected) {
return;
}
this._detected = true;
this._isPseudo = (typeof document !== 'undefined' && document.location && document.location.hash.indexOf('pseudo=true') >= 0);
};
return Environment;
}());
function _format(message, args, env) {
var result;
if (args.length === 0) {
result = message;
}
else {
result = message.replace(/\{(\d+)\}/g, function (match, rest) {
var index = rest[0];
var arg = args[index];
var result = match;
if (typeof arg === 'string') {
result = arg;
}
else if (typeof arg === 'number' || typeof arg === 'boolean' || arg === void 0 || arg === null) {
result = String(arg);
}
return result;
});
}
if (env.isPseudo) {
// FF3B and FF3D is the Unicode zenkaku representation for [ and ]
result = '\uFF3B' + result.replace(/[aouei]/g, '$&$&') + '\uFF3D';
}
return result;
}
function findLanguageForModule(config, name) {
var result = config[name];
if (result)
return result;
result = config['*'];
if (result)
return result;
return null;
}
function localize(env, data, message) {
var args = [];
for (var _i = 3; _i < arguments.length; _i++) {
args[_i - 3] = arguments[_i];
}
return _format(message, args, env);
}
function createScopedLocalize(scope, env) {
return function (idx, defaultValue) {
var restArgs = Array.prototype.slice.call(arguments, 2);
return _format(scope[idx], restArgs, env);
};
}
var NLSPlugin = /** @class */ (function () {
function NLSPlugin(env) {
var _this = this;
this._env = env;
this.localize = function (data, message) {
var args = [];
for (var _i = 2; _i < arguments.length; _i++) {
args[_i - 2] = arguments[_i];
}
return localize.apply(void 0, [_this._env, data, message].concat(args));
};
}
NLSPlugin.prototype.setPseudoTranslation = function (value) {
this._env._isPseudo = value;
};
NLSPlugin.prototype.create = function (key, data) {
return {
localize: createScopedLocalize(data[key], this._env)
};
};
NLSPlugin.prototype.load = function (name, req, load, config) {
var _this = this;
config = config || {};
if (!name || name.length === 0) {
load({
localize: this.localize
});
}
else {
var pluginConfig = config['vs/nls'] || {};
var language = pluginConfig.availableLanguages ? findLanguageForModule(pluginConfig.availableLanguages, name) : null;
var suffix = '.nls';
if (language !== null && language !== NLSPlugin.DEFAULT_TAG) {
suffix = suffix + '.' + language;
}
var messagesLoaded_1 = function (messages) {
if (Array.isArray(messages)) {
messages.localize = createScopedLocalize(messages, _this._env);
}
else {
messages.localize = createScopedLocalize(messages[name], _this._env);
}
load(messages);
};
if (typeof pluginConfig.loadBundle === 'function') {
pluginConfig.loadBundle(name, language, function (err, messages) {
// We have an error. Load the English default strings to not fail
if (err) {
req([name + '.nls'], messagesLoaded_1);
}
else {
messagesLoaded_1(messages);
}
});
}
else {
req([name + suffix], messagesLoaded_1);
}
}
};
NLSPlugin.DEFAULT_TAG = 'i-default';
return NLSPlugin;
}());
NLSLoaderPlugin.NLSPlugin = NLSPlugin;
define('vs/nls', new NLSPlugin(new Environment()));
})(NLSLoaderPlugin || (NLSLoaderPlugin = {}));
define(__m[423/*vs/base/browser/dnd*/], __M([0/*require*/,1/*exports*/]), function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// Common data transfers
exports.DataTransfers = {
/**
* Application specific resource transfer type
*/
RESOURCES: 'ResourceURLs',
/**
* Browser specific transfer type to download
*/
DOWNLOAD_URL: 'DownloadURL',
/**
* Browser specific transfer type for files
*/
FILES: 'Files',
/**
* Typicaly transfer type for copy/paste transfers.
*/
TEXT: 'text/plain'
};
});
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
define(__m[164/*vs/base/browser/iframe*/], __M([0/*require*/,1/*exports*/]), function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var hasDifferentOriginAncestorFlag = false;
var sameOriginWindowChainCache = null;
function getParentWindowIfSameOrigin(w) {
if (!w.parent || w.parent === w) {
return null;
}
// Cannot really tell if we have access to the parent window unless we try to access something in it
try {
var location_1 = w.location;
var parentLocation = w.parent.location;
if (location_1.protocol !== parentLocation.protocol || location_1.hostname !== parentLocation.hostname || location_1.port !== parentLocation.port) {
hasDifferentOriginAncestorFlag = true;
return null;
}
}
catch (e) {
hasDifferentOriginAncestorFlag = true;
return null;
}
return w.parent;
}
function findIframeElementInParentWindow(parentWindow, childWindow) {
var parentWindowIframes = parentWindow.document.getElementsByTagName('iframe');
var iframe;
for (var i = 0, len = parentWindowIframes.length; i < len; i++) {
iframe = parentWindowIframes[i];
if (iframe.contentWindow === childWindow) {
return iframe;
}
}
return null;
}
var IframeUtils = /** @class */ (function () {
function IframeUtils() {
}
/**
* Returns a chain of embedded windows with the same origin (which can be accessed programmatically).
* Having a chain of length 1 might mean that the current execution environment is running outside of an iframe or inside an iframe embedded in a window with a different origin.
* To distinguish if at one point the current execution environment is running inside a window with a different origin, see hasDifferentOriginAncestor()
*/
IframeUtils.getSameOriginWindowChain = function () {
if (!sameOriginWindowChainCache) {
sameOriginWindowChainCache = [];
var w = window;
var parent_1;
do {
parent_1 = getParentWindowIfSameOrigin(w);
if (parent_1) {
sameOriginWindowChainCache.push({
window: w,
iframeElement: findIframeElementInParentWindow(parent_1, w)
});
}
else {
sameOriginWindowChainCache.push({
window: w,
iframeElement: null
});
}
w = parent_1;
} while (w);
}
return sameOriginWindowChainCache.slice(0);
};
/**
* Returns true if the current execution environment is chained in a list of iframes which at one point ends in a window with a different origin.
* Returns false if the current execution environment is not running inside an iframe or if the entire chain of iframes have the same origin.
*/
IframeUtils.hasDifferentOriginAncestor = function () {
if (!sameOriginWindowChainCache) {
this.getSameOriginWindowChain();
}
return hasDifferentOriginAncestorFlag;
};
/**
* Returns the position of `childWindow` relative to `ancestorWindow`
*/
IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow = function (childWindow, ancestorWindow) {
if (!ancestorWindow || childWindow === ancestorWindow) {
return {
top: 0,
left: 0
};
}
var top = 0, left = 0;
var windowChain = this.getSameOriginWindowChain();
for (var i = 0; i < windowChain.length; i++) {
var windowChainEl = windowChain[i];
if (windowChainEl.window === ancestorWindow) {
break;
}
if (!windowChainEl.iframeElement) {
break;
}
var boundingRect = windowChainEl.iframeElement.getBoundingClientRect();
top += boundingRect.top;
left += boundingRect.left;
}
return {
top: top,
left: left
};
};
return IframeUtils;
}());
exports.IframeUtils = IframeUtils;
});
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
define(__m[419/*vs/base/browser/ui/list/splice*/], __M([0/*require*/,1/*exports*/]), function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var CombinedSpliceable = /** @class */ (function () {
function CombinedSpliceable(spliceables) {
this.spliceables = spliceables;
}
CombinedSpliceable.prototype.splice = function (start, deleteCount, elements) {
this.spliceables.forEach(function (s) { return s.splice(start, deleteCount, elements); });
};
return CombinedSpliceable;
}());
exports.CombinedSpliceable = CombinedSpliceable;
});
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
define(__m[149/*vs/base/browser/ui/scrollbar/scrollbarState*/], __M([0/*require*/,1/*exports*/]), function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* The minimal size of the slider (such that it can still be clickable) -- it is artificially enlarged.
*/
var MINIMUM_SLIDER_SIZE = 20;
var ScrollbarState = /** @class */ (function () {
function ScrollbarState(arrowSize, scrollbarSize, oppositeScrollbarSize) {
this._scrollbarSize = Math.round(scrollbarSize);
this._oppositeScrollbarSize = Math.round(oppositeScrollbarSize);
this._arrowSize = Math.round(arrowSize);
this._visibleSize = 0;
this._scrollSize = 0;
this._scrollPosition = 0;
this._computedAvailableSize = 0;
this._computedIsNeeded = false;
this._computedSliderSize = 0;
this._computedSliderRatio = 0;
this._computedSliderPosition = 0;
this._refreshComputedValues();
}
ScrollbarState.prototype.clone = function () {
var r = new ScrollbarState(this._arrowSize, this._scrollbarSize, this._oppositeScrollbarSize);
r.setVisibleSize(this._visibleSize);
r.setScrollSize(this._scrollSize);
r.setScrollPosition(this._scrollPosition);
return r;
};
ScrollbarState.prototype.setVisibleSize = function (visibleSize) {
var iVisibleSize = Math.round(visibleSize);
if (this._visibleSize !== iVisibleSize) {
this._visibleSize = iVisibleSize;
this._refreshComputedValues();
return true;
}
return false;
};
ScrollbarState.prototype.setScrollSize = function (scrollSize) {
var iScrollSize = Math.round(scrollSize);
if (this._scrollSize !== iScrollSize) {
this._scrollSize = iScrollSize;
this._refreshComputedValues();
return true;
}
return false;
};
ScrollbarState.prototype.setScrollPosition = function (scrollPosition) {
var iScrollPosition = Math.round(scrollPosition);
if (this._scrollPosition !== iScrollPosition) {
this._scrollPosition = iScrollPosition;
this._refreshComputedValues();
return true;
}
return false;
};
ScrollbarState._computeValues = function (oppositeScrollbarSize, arrowSize, visibleSize, scrollSize, scrollPosition) {
var computedAvailableSize = Math.max(0, visibleSize - oppositeScrollbarSize);
var computedRepresentableSize = Math.max(0, computedAvailableSize - 2 * arrowSize);
var computedIsNeeded = (scrollSize > 0 && scrollSize > visibleSize);
if (!computedIsNeeded) {
// There is no need for a slider
return {
computedAvailableSize: Math.round(computedAvailableSize),
computedIsNeeded: computedIsNeeded,
computedSliderSize: Math.round(computedRepresentableSize),
computedSliderRatio: 0,
computedSliderPosition: 0,
};
}
// We must artificially increase the size of the slider if needed, since the slider would be too small to grab with the mouse otherwise
var computedSliderSize = Math.round(Math.max(MINIMUM_SLIDER_SIZE, Math.floor(visibleSize * computedRepresentableSize / scrollSize)));
// The slider can move from 0 to `computedRepresentableSize` - `computedSliderSize`
// in the same way `scrollPosition` can move from 0 to `scrollSize` - `visibleSize`.
var computedSliderRatio = (computedRepresentableSize - computedSliderSize) / (scrollSize - visibleSize);
var computedSliderPosition = (scrollPosition * computedSliderRatio);
return {
computedAvailableSize: Math.round(computedAvailableSize),
computedIsNeeded: computedIsNeeded,
computedSliderSize: Math.round(computedSliderSize),
computedSliderRa