blob: 3234d3559ecb93b5e8bd7b1e6f944237ebd02794 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @interface
*/
export class TextEditorFactory {
/**
* @param {!UI.TextEditor.Options} options
* @return {!TextEditor}
*/
createEditor(options) {}
}
/**
* @interface
*/
export class TextEditor extends Common.EventTarget {
/**
* @return {!UI.Widget}
*/
widget() {
}
/**
* @return {!TextUtils.TextRange}
*/
fullRange() {
}
/**
* @return {!TextUtils.TextRange}
*/
selection() {
}
/**
* @param {!TextUtils.TextRange} selection
*/
setSelection(selection) {
}
/**
* @param {!TextUtils.TextRange=} textRange
* @return {string}
*/
text(textRange) {
}
/**
* @return {string}
*/
textWithCurrentSuggestion() {
}
/**
* @param {string} text
*/
setText(text) {
}
/**
* @param {number} lineNumber
* @return {string}
*/
line(lineNumber) {
}
newlineAndIndent() {
}
/**
* @param {function(!KeyboardEvent)} handler
*/
addKeyDownHandler(handler) {
}
/**
* @param {?UI.AutocompleteConfig} config
*/
configureAutocomplete(config) {
}
clearAutocomplete() {
}
/**
* @param {number} lineNumber
* @param {number} columnNumber
* @return {!{x: number, y: number}}
*/
visualCoordinates(lineNumber, columnNumber) {
}
/**
* @param {number} lineNumber
* @param {number} columnNumber
* @return {?{startColumn: number, endColumn: number, type: string}}
*/
tokenAtTextPosition(lineNumber, columnNumber) {
}
/**
* @param {string} placeholder
*/
setPlaceholder(placeholder) {}
}
/** @enum {symbol} */
export const Events = {
CursorChanged: Symbol('CursorChanged'),
TextChanged: Symbol('TextChanged'),
SuggestionChanged: Symbol('SuggestionChanged')
};
/* Legacy exported object*/
self.UI = self.UI || {};
/* Legacy exported object*/
UI = UI || {};
/** @interface */
UI.TextEditor = TextEditor;
/** @interface */
UI.TextEditorFactory = TextEditorFactory;
/** @enum {symbol} */
UI.TextEditor.Events = Events;
/**
* @typedef {{
* bracketMatchingSetting: (!Common.Setting|undefined),
* devtoolsAccessibleName: (string|undefined),
* lineNumbers: boolean,
* lineWrapping: boolean,
* mimeType: (string|undefined),
* autoHeight: (boolean|undefined),
* padBottom: (boolean|undefined),
* maxHighlightLength: (number|undefined),
* placeholder: (string|undefined)
* }}
*/
UI.TextEditor.Options;
/**
* @typedef {{
* substituteRangeCallback: ((function(number, number):?TextUtils.TextRange)|undefined),
* tooltipCallback: ((function(number, number):!Promise<?Element>)|undefined),
* suggestionsCallback: ((function(!TextUtils.TextRange, !TextUtils.TextRange, boolean=):?Promise.<!UI.SuggestBox.Suggestions>)|undefined),
* isWordChar: ((function(string):boolean)|undefined),
* anchorBehavior: (UI.GlassPane.AnchorBehavior|undefined)
* }}
*/
UI.AutocompleteConfig;