react-monaco-editor
Version:
Monaco Editor for React
580 lines (575 loc) • 4.82 MB
JavaScript
/*!-----------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.10.1(ebbf400719be21761361804bf63fb3916e64a845)
* Released under the MIT license
* https://github.com/Microsoft/vscode/blob/master/LICENSE.txt
*-----------------------------------------------------------*/
(function() {
var __m = ["exports","require","vs/editor/common/core/range","vs/base/common/lifecycle","vs/base/browser/dom","vs/css!vs/editor/editor.main","vs/nls","vs/base/common/winjs.base","vs/nls!vs/editor/editor.main","vs/base/common/strings","vs/base/common/errors","vs/base/common/event","vs/editor/common/core/position","vs/editor/common/editorCommonExtensions","vs/platform/theme/common/themeService","vs/base/common/platform","vs/platform/instantiation/common/instantiation","vs/editor/common/modes","vs/base/common/async","vs/platform/contextkey/common/contextkey","vs/editor/common/editorCommon","vs/editor/common/editorContextKeys","vs/editor/common/core/selection","vs/platform/theme/common/colorRegistry","vs/base/common/uri","vs/editor/browser/editorBrowser","vs/base/common/objects","vs/base/browser/fastDomNode","vs/base/browser/browser","vs/base/common/types","vs/editor/browser/editorBrowserExtensions","vs/platform/commands/common/commands","vs/base/common/color","vs/base/common/arrays","vs/editor/common/model/textModelWithDecorations","vs/editor/browser/view/viewPart","vs/base/common/severity","vs/editor/common/view/editorColorRegistry","vs/base/common/eventEmitter","vs/editor/common/controller/cursorCommon","vs/base/common/keyCodes","vs/base/browser/ui/widget","vs/editor/common/services/codeEditorService","vs/editor/common/modes/languageConfigurationRegistry","vs/platform/registry/common/platform","vs/base/common/paths","vs/platform/keybinding/common/keybinding","vs/base/browser/mouseEvent","vs/base/common/scrollable","vs/editor/common/config/editorOptions","vs/platform/message/common/message","vs/base/browser/ui/aria/aria","vs/base/browser/builder","vs/base/common/actions","vs/editor/common/controller/cursorEvents","vs/editor/common/model/textModelEvents","vs/editor/common/services/modelService","vs/editor/common/view/viewEvents","vs/platform/telemetry/common/telemetry","vs/editor/common/core/editOperation","vs/editor/common/modes/languageConfiguration","vs/editor/common/services/editorWorkerService","vs/platform/configuration/common/configuration","vs/base/browser/ui/scrollbar/scrollableElement","vs/platform/editor/common/editor","vs/base/browser/keyboardEvent","vs/editor/browser/config/configuration","vs/editor/browser/view/dynamicViewOverlay","vs/editor/common/modes/nullMode","vs/platform/contextview/browser/contextView","vs/base/common/network","vs/platform/opener/common/opener","vs/base/common/assert","vs/editor/common/commands/replaceCommand","vs/base/browser/touch","vs/base/browser/ui/actionbar/actionbar","vs/platform/storage/common/storage","vs/editor/standalone/common/standaloneThemeService","vs/editor/common/view/renderingContext","vs/base/common/events","vs/base/common/map","vs/base/common/filters","vs/editor/common/viewModel/viewEventHandler","vs/base/browser/globalMouseMoveMonitor","vs/platform/instantiation/common/serviceCollection","vs/platform/actions/common/actions","vs/editor/common/viewModel/viewModel","vs/editor/common/services/resolverService","vs/editor/common/services/modeService","vs/editor/common/core/characterClassifier","vs/editor/common/core/viewLineToken","vs/editor/common/modes/supports","vs/editor/contrib/zoneWidget/browser/peekViewWidget","vs/editor/common/model/textModel","vs/editor/common/controller/wordCharacterClassifier","vs/editor/common/model/wordHelper","vs/editor/common/core/uint","vs/editor/common/core/token","vs/editor/common/modes/supports/richEditBrackets","vs/base/browser/ui/sash/sash","vs/base/parts/quickopen/common/quickOpen","vs/editor/common/model/textSource","vs/base/browser/htmlContentRenderer","vs/platform/markers/common/markers","vs/editor/common/viewModel/prefixSumComputer","vs/platform/keybinding/common/keybindingsRegistry","vs/editor/common/viewLayout/viewLineRenderer","vs/base/common/iterator","vs/base/common/idGenerator","vs/editor/contrib/suggest/browser/suggest","vs/base/browser/ui/highlightedlabel/highlightedLabel","vs/editor/common/view/minimapCharRenderer","vs/editor/browser/view/viewLayer","vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/editor/browser/editorDom","vs/base/browser/ui/inputbox/inputBox","vs/editor/common/model/tokensBinaryEncoding","vs/base/browser/ui/scrollbar/scrollbarArrow","vs/editor/common/model/modelLine","vs/editor/common/controller/cursorTypeOperations","vs/base/parts/quickopen/browser/quickOpenModel","vs/editor/contrib/find/common/findModel","vs/editor/common/modes/textToHtmlTokenizer","vs/base/common/cancellation","vs/base/browser/event","vs/editor/contrib/referenceSearch/browser/referencesModel","vs/editor/common/modes/modesRegistry","vs/platform/configuration/common/configurationRegistry","vs/base/parts/tree/browser/treeDefaults","vs/editor/standalone/browser/simpleServices","vs/editor/common/core/lineTokens","vs/editor/common/core/editorState","vs/editor/common/config/fontInfo","vs/base/common/htmlContent","vs/editor/common/controller/coreCommands","vs/editor/common/config/editorZoom","vs/base/common/functional","vs/platform/theme/common/styler","vs/editor/common/viewLayout/lineDecorations","vs/base/common/diff/diff","vs/editor/common/view/overviewZoneManager","vs/editor/browser/codeEditor","vs/editor/contrib/snippet/browser/snippetParser","vs/editor/standalone/browser/quickOpen/editorQuickOpen","vs/platform/workspace/common/workspace","vs/editor/standalone/common/monarch/monarchCommon","vs/editor/common/services/resourceConfiguration","vs/editor/common/services/editorWorkerServiceImpl","vs/base/browser/iframe","vs/editor/common/editorAction","vs/base/browser/ui/scrollbar/scrollbarState","vs/editor/browser/controller/textAreaState","vs/editor/common/standalone/standaloneBase","vs/base/browser/ui/findinput/findInputCheckboxes","vs/editor/browser/controller/textAreaInput","vs/base/common/keybindingLabels","vs/platform/environment/common/environment","vs/base/common/collections","vs/editor/common/model/textModelSearch","vs/platform/keybinding/common/keybindingResolver","vs/base/browser/ui/contextview/contextview","vs/base/parts/tree/browser/treeImpl","vs/base/browser/ui/iconLabel/iconLabel","vs/platform/progress/common/progress","vs/editor/browser/widget/diffNavigator","vs/base/common/glob","vs/base/common/mime","vs/editor/common/commands/shiftCommand","vs/editor/common/config/commonEditorConfig","vs/editor/common/controller/cursorMoveOperations","vs/editor/common/controller/cursorDeleteOperations","vs/css!vs/editor/contrib/goToDeclaration/browser/goToDeclarationMouse","vs/editor/common/controller/cursorWordOperations","vs/editor/common/controller/cursorMoveCommands","vs/base/common/labels","vs/editor/common/model/model","vs/editor/contrib/find/common/findController","vs/editor/contrib/goToDeclaration/browser/goToDeclaration","vs/editor/contrib/parameterHints/common/parameterHints","vs/editor/common/viewModel/splitLinesCollection","vs/editor/contrib/snippet/browser/snippetController2","vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode","vs/editor/browser/viewParts/margin/margin","vs/editor/contrib/zoneWidget/browser/zoneWidget","vs/base/browser/ui/scrollbar/abstractScrollbar","vs/editor/browser/viewParts/lines/viewLine","vs/editor/browser/controller/mouseTarget","vs/platform/instantiation/common/descriptors","vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/editor/contrib/comment/common/blockCommentCommand","vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl","vs/editor/browser/widget/codeEditorWidget","vs/editor/contrib/goToDeclaration/browser/clickLinkGesture","vs/editor/browser/widget/diffEditorWidget","vs/editor/browser/widget/embeddedCodeEditorWidget","vs/editor/contrib/hover/browser/hoverOperation","vs/editor/contrib/hover/browser/hoverWidgets","vs/base/common/worker/simpleWorker","vs/editor/contrib/referenceSearch/browser/referencesController","vs/editor/contrib/goToDeclaration/browser/goToDeclarationCommands","vs/editor/standalone/browser/standaloneServices","vs/css!vs/base/browser/ui/countBadge/countBadge","vs/editor/common/modes/supports/tokenization","vs/editor/common/modes/tokenizationRegistry","vs/base/browser/ui/countBadge/countBadge","vs/css!vs/base/browser/ui/findinput/findInput","vs/css!vs/base/browser/ui/findinput/findInputCheckboxes","vs/editor/common/modes/supports/electricCharacter","vs/css!vs/base/browser/ui/iconLabel/iconlabel","vs/base/common/marked/marked","vs/editor/common/services/abstractCodeEditorService","vs/css!vs/base/browser/ui/inputbox/inputBox","vs/css!vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/css!vs/base/browser/ui/list/list","vs/editor/browser/viewParts/lines/rangeUtil","vs/editor/common/view/runtimeMinimapCharRenderer","vs/editor/common/view/viewContext","vs/editor/common/view/viewEventDispatcher","vs/css!vs/base/browser/ui/menu/menu","vs/css!vs/base/browser/ui/progressbar/progressbar","vs/base/browser/ui/progressbar/progressbar","vs/editor/common/viewLayout/viewLinesViewportData","vs/editor/common/viewLayout/whitespaceComputer","vs/editor/common/viewLayout/linesLayout","vs/css!vs/base/browser/ui/sash/sash","vs/editor/common/model/mirrorModel","vs/editor/common/services/editorSimpleWorker","vs/editor/standalone/browser/standaloneLanguages","vs/css!vs/base/browser/ui/scrollbar/media/scrollbars","vs/base/common/comparers","vs/editor/browser/viewParts/contentWidgets/contentWidgets","vs/editor/browser/viewParts/decorations/decorations","vs/base/browser/ui/list/listView","vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/base/browser/ui/list/listWidget","vs/editor/browser/viewParts/marginDecorations/marginDecorations","vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/editor/browser/viewParts/viewZones/viewZones","vs/base/parts/tree/browser/treeView","vs/editor/common/viewLayout/viewLayout","vs/editor/common/viewModel/viewModelDecorations","vs/editor/contrib/caretOperations/common/moveCaretCommand","vs/editor/contrib/colorPicker/browser/colorPickerModel","vs/editor/contrib/colorPicker/browser/elements/colorPickerBody","vs/editor/contrib/colorPicker/browser/elements/colorPickerHeader","vs/editor/contrib/colorPicker/browser/colorPickerWidget","vs/editor/contrib/colorPicker/common/color","vs/editor/contrib/colorPicker/common/colorFormatter","vs/editor/contrib/colorPicker/common/colorPicker","vs/css!vs/base/browser/ui/selectBox/selectBox","vs/editor/contrib/comment/common/lineCommentCommand","vs/editor/contrib/dnd/common/dragAndDropCommand","vs/editor/contrib/find/common/find","vs/editor/contrib/find/common/findState","vs/editor/contrib/find/common/replaceAllCommand","vs/editor/contrib/find/common/replacePattern","vs/editor/contrib/folding/common/folding","vs/editor/contrib/folding/common/indentFoldStrategy","vs/editor/contrib/format/common/formatCommand","vs/base/browser/ui/selectBox/selectBox","vs/css!vs/base/parts/quickopen/browser/quickopen","vs/css!vs/base/parts/tree/browser/tree","vs/editor/contrib/inPlaceReplace/common/inPlaceReplaceCommand","vs/editor/contrib/indentation/common/indentUtils","vs/editor/contrib/linesOperations/common/copyLinesCommand","vs/editor/contrib/linesOperations/common/deleteLinesCommand","vs/editor/contrib/linesOperations/common/sortLinesCommand","vs/editor/contrib/quickFix/browser/lightBulbWidget","vs/editor/contrib/quickFix/browser/quickFixWidget","vs/editor/contrib/smartSelect/common/tokenTree","vs/css!vs/editor/browser/controller/textAreaHandler","vs/editor/contrib/snippet/browser/snippetVariables","vs/editor/contrib/suggest/browser/completionModel","vs/editor/standalone/browser/colorizer","vs/css!vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/editor/standalone/common/monarch/monarchCompile","vs/editor/standalone/common/monarch/monarchLexer","vs/css!vs/editor/browser/viewParts/currentLineMarginHighlight/currentLineMarginHighlight","vs/css!vs/editor/browser/viewParts/decorations/decorations","vs/css!vs/editor/browser/viewParts/glyphMargin/glyphMargin","vs/css!vs/editor/browser/viewParts/indentGuides/indentGuides","vs/base/browser/ui/menu/menu","vs/nls!vs/base/browser/ui/aria/aria","vs/css!vs/editor/browser/viewParts/lineNumbers/lineNumbers","vs/nls!vs/base/browser/ui/findinput/findInput","vs/nls!vs/base/browser/ui/findinput/findInputCheckboxes","vs/css!vs/editor/browser/viewParts/lines/viewLines","vs/nls!vs/base/browser/ui/inputbox/inputBox","vs/css!vs/editor/browser/viewParts/linesDecorations/linesDecorations","vs/base/browser/ui/findinput/findInput","vs/nls!vs/base/common/keybindingLabels","vs/css!vs/editor/browser/viewParts/marginDecorations/marginDecorations","vs/base/browser/ui/keybindingLabel/keybindingLabel","vs/nls!vs/base/common/severity","vs/css!vs/editor/browser/viewParts/minimap/minimap","vs/nls!vs/base/parts/quickopen/browser/quickOpenModel","vs/css!vs/editor/browser/viewParts/overlayWidgets/overlayWidgets","vs/nls!vs/base/parts/quickopen/browser/quickOpenWidget","vs/nls!vs/base/parts/tree/browser/treeDefaults","vs/css!vs/editor/browser/viewParts/rulers/rulers","vs/css!vs/editor/browser/viewParts/scrollDecoration/scrollDecoration","vs/base/parts/quickopen/browser/quickOpenWidget","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/selections/selections","vs/css!vs/editor/browser/viewParts/viewCursors/viewCursors","vs/css!vs/editor/browser/widget/media/diffEditor","vs/css!vs/editor/browser/widget/media/diffReview","vs/css!vs/editor/browser/widget/media/editor","vs/editor/common/controller/cursorColumnSelection","vs/css!vs/editor/browser/widget/media/tokens","vs/css!vs/editor/contrib/bracketMatching/browser/bracketMatching","vs/css!vs/editor/contrib/clipboard/browser/clipboard","vs/css!vs/editor/contrib/codelens/browser/codelensWidget","vs/css!vs/editor/contrib/colorPicker/browser/colorPicker","vs/editor/common/controller/oneCursor","vs/editor/common/controller/cursorCollection","vs/editor/contrib/linesOperations/common/moveLinesCommand","vs/nls!vs/editor/common/controller/cursor","vs/editor/common/controller/cursor","vs/nls!vs/editor/common/model/textModelWithTokens","vs/editor/common/model/textModelWithTokens","vs/editor/common/model/textModelWithMarkers","vs/css!vs/editor/contrib/dnd/browser/dnd","vs/editor/common/model/editableTextModel","vs/css!vs/editor/contrib/find/browser/findWidget","vs/css!vs/editor/contrib/folding/browser/folding","vs/editor/common/viewModel/characterHardWrappingLineMapper","vs/editor/common/viewModel/viewModelImpl","vs/editor/contrib/find/common/findDecorations","vs/base/common/diff/diffChange","vs/editor/contrib/folding/common/foldingModel","vs/editor/contrib/snippet/browser/snippetSession","vs/css!vs/editor/contrib/goToDeclaration/browser/messageController","vs/nls!vs/editor/common/modes/modesRegistry","vs/nls!vs/editor/common/services/bulkEdit","vs/editor/common/services/bulkEdit","vs/nls!vs/editor/common/services/modelServiceImpl","vs/nls!vs/editor/common/view/editorColorRegistry","vs/nls!vs/editor/contrib/bracketMatching/common/bracketMatching","vs/nls!vs/editor/contrib/caretOperations/common/caretOperations","vs/nls!vs/editor/contrib/caretOperations/common/transpose","vs/nls!vs/editor/contrib/clipboard/browser/clipboard","vs/nls!vs/editor/contrib/comment/common/comment","vs/nls!vs/editor/contrib/contextmenu/browser/contextmenu","vs/nls!vs/editor/contrib/find/browser/findWidget","vs/nls!vs/editor/contrib/find/common/findController","vs/nls!vs/editor/contrib/folding/browser/folding","vs/nls!vs/editor/contrib/format/browser/formatActions","vs/nls!vs/editor/contrib/goToDeclaration/browser/goToDeclarationCommands","vs/nls!vs/editor/contrib/goToDeclaration/browser/goToDeclarationMouse","vs/nls!vs/editor/contrib/gotoError/browser/gotoError","vs/nls!vs/editor/contrib/hover/browser/hover","vs/nls!vs/editor/contrib/hover/browser/modesContentHover","vs/nls!vs/editor/contrib/inPlaceReplace/common/inPlaceReplace","vs/nls!vs/editor/contrib/linesOperations/common/linesOperations","vs/nls!vs/editor/contrib/links/browser/links","vs/nls!vs/editor/contrib/multicursor/common/multicursor","vs/nls!vs/editor/contrib/parameterHints/browser/parameterHints","vs/nls!vs/editor/contrib/parameterHints/browser/parameterHintsWidget","vs/nls!vs/editor/contrib/quickFix/browser/quickFixCommands","vs/nls!vs/editor/contrib/referenceSearch/browser/referenceSearch","vs/nls!vs/editor/contrib/referenceSearch/browser/referencesController","vs/nls!vs/editor/contrib/referenceSearch/browser/referencesModel","vs/css!vs/editor/contrib/gotoError/browser/gotoError","vs/nls!vs/editor/contrib/referenceSearch/browser/referencesWidget","vs/nls!vs/editor/contrib/rename/browser/rename","vs/nls!vs/editor/contrib/rename/browser/renameInputField","vs/nls!vs/editor/contrib/smartSelect/common/smartSelect","vs/nls!vs/editor/contrib/suggest/browser/suggestController","vs/nls!vs/editor/contrib/suggest/browser/suggestWidget","vs/nls!vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode","vs/nls!vs/editor/contrib/wordHighlighter/common/wordHighlighter","vs/nls!vs/editor/contrib/zoneWidget/browser/peekViewWidget","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/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/message/common/message","vs/nls!vs/platform/theme/common/colorRegistry","vs/platform/contextview/browser/contextMenuHandler","vs/platform/contextview/browser/contextMenuService","vs/css!vs/editor/contrib/hover/browser/hover","vs/css!vs/editor/contrib/links/browser/links","vs/css!vs/editor/contrib/parameterHints/browser/parameterHints","vs/css!vs/editor/contrib/quickFix/browser/lightBulbWidget","vs/css!vs/editor/contrib/referenceSearch/browser/referencesWidget","vs/css!vs/editor/contrib/rename/browser/renameInputField","vs/css!vs/editor/contrib/snippet/browser/snippetSession","vs/css!vs/editor/contrib/suggest/browser/media/suggest","vs/css!vs/editor/contrib/zoneWidget/browser/peekViewWidget","vs/editor/common/services/webWorker","vs/editor/contrib/smartSelect/common/tokenSelectionSupport","vs/css!vs/editor/contrib/zoneWidget/browser/zoneWidget","vs/css!vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp","vs/editor/contrib/links/common/links","vs/css!vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard","vs/css!vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/css!vs/editor/standalone/browser/quickOpen/gotoLine","vs/css!vs/editor/standalone/browser/quickOpen/quickOutline","vs/editor/common/modes/editorModeContext","vs/platform/actions/common/menu","vs/css!vs/editor/standalone/browser/standalone-tokens","vs/css!vs/platform/contextview/browser/contextMenuHandler","vs/editor/browser/config/charWidthReader","vs/platform/files/common/files","vs/editor/browser/config/elementSizeObserver","vs/platform/instantiation/common/instantiationService","vs/platform/keybinding/common/abstractKeybindingService","vs/base/browser/ui/list/rangeMap","vs/base/browser/ui/list/rowCache","vs/platform/contextkey/browser/contextKeyService","vs/platform/keybinding/common/resolvedKeybindingItem","vs/platform/keybinding/common/usLayoutResolvedKeybinding","vs/platform/lifecycle/common/lifecycle","vs/platform/markers/common/markerService","vs/editor/standalone/browser/standaloneEditor","vs/base/common/scorer","vs/base/common/callbackList","vs/editor/contrib/hover/browser/modesGlyphHover","vs/base/common/stopwatch","vs/nls!vs/base/browser/ui/actionbar/actionbar","vs/base/common/graph","vs/base/browser/ui/scrollbar/scrollbarVisibilityController","vs/editor/common/services/modelServiceImpl","vs/editor/contrib/dnd/browser/dnd","vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard","vs/platform/jsonschemas/common/jsonContributionRegistry","vs/base/common/history","vs/editor/common/commands/trimTrailingWhitespaceCommand","vs/editor/common/services/languagesRegistry","vs/editor/common/services/modeServiceImpl","vs/platform/configuration/common/model","vs/base/browser/ui/scrollbar/horizontalScrollbar","vs/base/browser/ui/scrollbar/verticalScrollbar","vs/editor/common/commands/surroundSelectionCommand","vs/base/common/json","vs/editor/browser/view/viewOverlays","vs/editor/browser/viewParts/viewCursors/viewCursor","vs/base/parts/quickopen/browser/quickOpenViewer","vs/base/common/decorators","vs/editor/common/commonCodeEditor","vs/base/parts/tree/browser/tree","vs/editor/browser/view/viewController","vs/editor/contrib/caretOperations/common/caretOperations","vs/editor/contrib/caretOperations/common/transpose","vs/editor/contrib/clipboard/browser/clipboard","vs/editor/contrib/codelens/browser/codelens","vs/editor/contrib/comment/common/comment","vs/editor/contrib/contextmenu/browser/contextmenu","vs/editor/contrib/cursorUndo/browser/cursorUndo","vs/editor/common/diff/diffComputer","vs/editor/contrib/folding/browser/folding","vs/editor/contrib/format/common/format","vs/editor/contrib/format/browser/formatActions","vs/base/parts/tree/browser/treeDnd","vs/editor/contrib/hover/common/hover","vs/editor/contrib/hover/browser/modesContentHover","vs/editor/contrib/linesOperations/common/linesOperations","vs/editor/contrib/multicursor/common/multicursor","vs/base/parts/tree/browser/treeModel","vs/editor/contrib/quickFix/browser/quickFix","vs/editor/contrib/quickFix/browser/quickFixModel","vs/editor/contrib/quickFix/browser/quickFixCommands","vs/editor/contrib/quickOpen/common/quickOpen","vs/editor/contrib/smartSelect/common/smartSelect","vs/base/parts/tree/browser/treeViewModel","vs/base/worker/defaultWorkerFactory","vs/editor/contrib/suggest/browser/suggestModel","vs/editor/common/model/editStack","vs/editor/contrib/wordOperations/common/wordOperations","vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast","vs/platform/contextview/browser/contextViewService","vs/platform/telemetry/common/telemetryUtils","vs/platform/opener/browser/openerService","vs/editor/common/model/indentRanges","vs/editor/common/model/indentationGuesser","vs/editor/standalone/browser/quickOpen/quickOpenEditorWidget","vs/css!vs/base/browser/builder","vs/editor/browser/services/codeEditorServiceImpl","vs/editor/browser/viewParts/editorScrollbar/editorScrollbar","vs/base/common/marshalling","vs/base/common/hash","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/css!vs/base/browser/ui/actionbar/actionbar","vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight","vs/editor/browser/viewParts/currentLineMarginHighlight/currentLineMarginHighlight","vs/editor/browser/viewParts/indentGuides/indentGuides","vs/css!vs/base/browser/ui/aria/aria","vs/editor/browser/controller/textAreaHandler","vs/editor/browser/viewParts/rulers/rulers","vs/editor/browser/viewParts/viewCursors/viewCursors","vs/editor/browser/widget/diffReview","vs/css!vs/base/browser/ui/checkbox/checkbox","vs/base/browser/ui/checkbox/checkbox","vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler","vs/editor/browser/viewParts/overviewRuler/overviewRuler","vs/editor/browser/view/viewImpl","vs/css!vs/base/browser/ui/contextview/contextview","vs/editor/common/modes/abstractMode","vs/base/browser/ui/octiconLabel/octiconLabel","vs/editor/common/modes/languageSelector","vs/editor/contrib/bracketMatching/common/bracketMatching","vs/editor/contrib/codelens/browser/codelensWidget","vs/editor/contrib/codelens/browser/codelensController","vs/editor/contrib/colorPicker/browser/colorPicker","vs/editor/contrib/find/browser/findOptionsWidget","vs/editor/contrib/find/browser/findWidget","vs/editor/contrib/find/browser/find","vs/editor/contrib/goToDeclaration/browser/messageController","vs/editor/contrib/gotoError/browser/gotoError","vs/editor/contrib/hover/browser/hover","vs/editor/contrib/inPlaceReplace/common/inPlaceReplace","vs/editor/contrib/links/browser/links","vs/editor/contrib/parameterHints/browser/parameterHintsWidget","vs/editor/contrib/parameterHints/browser/parameterHints","vs/editor/contrib/rename/browser/renameInputField","vs/editor/contrib/rename/browser/rename","vs/editor/contrib/suggest/browser/suggestWidget","vs/editor/contrib/suggest/browser/suggestController","vs/editor/contrib/wordHighlighter/common/wordHighlighter","vs/editor/common/modes/languageFeatureRegistry","vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp","vs/editor/standalone/browser/inspectTokens/inspectTokens","vs/editor/common/modes/linkComputer","vs/editor/standalone/browser/quickOpen/gotoLine","vs/editor/standalone/browser/quickOpen/quickCommand","vs/editor/standalone/browser/quickOpen/quickOutline","vs/editor/standalone/browser/standaloneCodeEditor","vs/editor/standalone/common/themes","vs/editor/standalone/browser/standaloneThemeServiceImpl","vs/editor/common/modes/supports/characterPair","vs/editor/contrib/referenceSearch/browser/referencesWidget","vs/editor/common/modes/supports/indentRules","vs/editor/common/modes/supports/inplaceReplaceSupport","vs/editor/contrib/goToDeclaration/browser/goToDeclarationMouse","vs/editor/contrib/referenceSearch/browser/referenceSearch","vs/editor/editor.all","vs/editor/common/modes/supports/onEnter","vs/base/common/winjs.base.raw","vs/base/common/marked/raw.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 = (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 = (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;
function init() {
define('vs/css', new CSSPlugin());
}
CSSLoaderPlugin.init = init;
;
if (typeof doNotInitLoader === 'undefined') {
init();
}
})(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 = (function () {
function Environment(isPseudo) {
this.isPseudo = isPseudo;
//
}
Environment.detect = function () {
var isPseudo = (typeof document !== 'undefined' && document.location && document.location.hash.indexOf('pseudo=true') >= 0);
return new Environment(isPseudo);
};
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];
return typeof args[index] !== 'undefined' ? args[index] : match;
});
}
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 = (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 = new Environment(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;
}
req([name + suffix], function (messages) {
if (Array.isArray(messages)) {
messages.localize = createScopedLocalize(messages, _this._env);
}
else {
messages.localize = createScopedLocalize(messages[name], _this._env);
}
load(messages);
});
}
};
return NLSPlugin;
}());
NLSPlugin.DEFAULT_TAG = 'i-default';
NLSLoaderPlugin.NLSPlugin = NLSPlugin;
function init() {
define('vs/nls', new NLSPlugin(Environment.detect()));
}
NLSLoaderPlugin.init = init;
if (typeof doNotInitLoader === 'undefined') {
init();
}
})(NLSLoaderPlugin || (NLSLoaderPlugin = {}));
define(__m[148/*vs/base/browser/iframe*/], __M([1/*require*/,0/*exports*/]), function (require, exports) {
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'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 = (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, 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[415/*vs/base/browser/ui/list/rangeMap*/], __M([1/*require*/,0/*exports*/]), function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Returns the intersection between two ranges as a range itself.
* Returns `null` if the intersection is empty.
*/
function intersect(one, other) {
if (one.start >= other.end || other.start >= one.end) {
return null;
}
var start = Math.max(one.start, other.start);
var end = Math.min(one.end, other.end);
if (end - start <= 0) {
return null;
}
return { start: start, end: end };
}
exports.intersect = intersect;
function isEmpty(range) {
return range.end - range.start <= 0;
}
exports.isEmpty = isEmpty;
function relativeComplement(one, other) {
var result = [];
var first = { start: one.start, end: Math.min(other.start, one.end) };
var second = { start: Math.max(other.end, one.start), end: one.end };
if (!isEmpty(first)) {
result.push(first);
}
if (!isEmpty(second)) {
result.push(second);
}
return result;
}
exports.relativeComplement = relativeComplement;
function each(range, fn) {
for (var i = range.start; i < range.end; i++) {
fn(i);
}
}
exports.each = each;
/**
* Returns the intersection between a ranged group and a range.
* Returns `[]` if the intersection is empty.
*/
function groupIntersect(range, groups) {
var result = [];
for (var _i = 0, groups_1 = groups; _i < groups_1.length; _i++) {
var r = groups_1[_i];
if (range.start >= r.range.end) {
continue;
}
if (range.end < r.range.start) {
break;
}
var intersection = intersect(range, r.range);
if (!intersection) {
continue;
}
result.push({
range: intersection,
size: r.size
});
}
return result;
}
exports.groupIntersect = groupIntersect;
/**
* Shifts a range by that `much`.
*/
function shift(_a, much) {
var start = _a.start, end = _a.end;
return { start: start + much, end: end + much };
}
/**
* Consolidates a collection of ranged groups.
*
* Consolidation is the process of merging consecutive ranged groups
* that share the same `size`.
*/
function consolidate(groups) {
var result = [];
var previousGroup = null;
for (var _i = 0, groups_2 = groups; _i < groups_2.length; _i++) {
var group = groups_2[_i];
var start = group.range.start;
var end = group.range.end;
var size = group.size;
if (previousGroup && size === previousGroup.size) {
previousGroup.range.end = end;
continue;
}
previousGroup = { range: { start: start, end: end }, size: size };
result.push(previousGroup);
}
return result;
}
exports.consolidate = consolidate;
/**
* Concatenates several collections of ranged groups into a single
* collection.
*/
function concat() {
var groups = [];
for (var _i = 0; _i < arguments.length; _i++) {
groups[_i] = arguments[_i];
}
return consolidate(groups.reduce(function (r, g) { return r.concat(g); }, []));
}
var RangeMap = (function () {
function RangeMap() {
this.groups = [];
this._size = 0;
}
RangeMap.prototype.splice = function (index, deleteCount) {
var items = [];
for (var _i = 2; _i < arguments.length; _i++) {
items[_i - 2] = arguments[_i];
}
var diff = items.length - deleteCount;
var before = groupIntersect({ start: 0, end: index }, this.groups);
var after = groupIntersect({ start: index + deleteCount, end: Number.POSITIVE_INFINITY }, this.groups)
.map(function (g) { return ({ range: shift(g.range, diff), size: g.size }); });
var middle = items.map(function (item, i) { return ({
range: { start: index + i, end: index + i + 1 },
size: item.size
}); });
this.groups = concat(before, middle, after);
this._size = this.groups.reduce(function (t, g) { return t + (g.size * (g.range.end - g.range.start)); }, 0);
};
Object.defineProperty(RangeMap.prototype, "count", {
/**
* Returns the number of items in the range map.
*/
get: function () {
var len = this.groups.length;
if (!len) {
return 0;
}
return this.groups[len - 1].range.end;
},
enumerable: true,
configurable: true
});
Object.defineProperty(RangeMap.prototype, "size", {
/**
* Returns the sum of the sizes of all items in the range map.
*/
get: function () {
return this._size;
},
enumerable: true,
configurable: true
});
/**
* Returns the index of the item at the given position.
*/
RangeMap.prototype.indexAt = function (position) {
if (position < 0) {
return -1;
}
var index = 0;
var size = 0;
for (var _i = 0, _a = this.groups; _i < _a.length; _i++) {
var group = _a[_i];
var count = group.range.end - group.range.start;
var newSize = size + (count * group.size);
if (position < newSize) {
return index + Math.floor((position - size) / group.size);
}
index += count;
size = newSize;
}
return index;
};
/**
* Returns the index of the item right after the item at the
* index of the given position.
*/
RangeMap.prototype.indexAfter = function (position) {
return Math.min(this.indexAt(position) + 1, this.count);
};
/**
* Returns the start position of the item at the given index.
*/
RangeMap.prototype.positionAt = function (index) {
if (index < 0) {
return -1;
}
var position = 0;
var count = 0;
for (var _i = 0, _a = this.groups; _i < _a.length; _i++) {
var group = _a[_i];
var groupCount = group.range.end - group.range.start;
var newCount = count + groupCount;