monaco-editor-core
Version:
A browser based code editor
51 lines (50 loc) • 1.42 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as editorCommon from '../common/editorCommon.js';
/**
*@internal
*/
export function isCodeEditor(thing) {
if (thing && typeof thing.getEditorType === 'function') {
return thing.getEditorType() === editorCommon.EditorType.ICodeEditor;
}
else {
return false;
}
}
/**
*@internal
*/
export function isDiffEditor(thing) {
if (thing && typeof thing.getEditorType === 'function') {
return thing.getEditorType() === editorCommon.EditorType.IDiffEditor;
}
else {
return false;
}
}
/**
*@internal
*/
export function isCompositeEditor(thing) {
return !!thing
&& typeof thing === 'object'
&& typeof thing.onDidChangeActiveEditor === 'function';
}
/**
*@internal
*/
export function getCodeEditor(thing) {
if (isCodeEditor(thing)) {
return thing;
}
if (isDiffEditor(thing)) {
return thing.getModifiedEditor();
}
if (isCompositeEditor(thing) && isCodeEditor(thing.activeCodeEditor)) {
return thing.activeCodeEditor;
}
return null;
}