| // 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; |