|
@@ -1,7 +1,24 @@
|
|
|
-import {IdentifierLocation, SyntaxError} from 'parse/types';
|
|
|
|
|
|
|
+// Licensed to Cloudera, Inc. under one
|
|
|
|
|
+// or more contributor license agreements. See the NOTICE file
|
|
|
|
|
+// distributed with this work for additional information
|
|
|
|
|
+// regarding copyright ownership. Cloudera, Inc. licenses this file
|
|
|
|
|
+// to you under the Apache License, Version 2.0 (the
|
|
|
|
|
+// 'License'); you may not use this file except in compliance
|
|
|
|
|
+// with the License. You may obtain a copy of the License at
|
|
|
|
|
+//
|
|
|
|
|
+// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
+//
|
|
|
|
|
+// Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
+// distributed under the License is distributed on an 'AS IS' BASIS,
|
|
|
|
|
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
|
+// See the License for the specific language governing permissions and
|
|
|
|
|
+// limitations under the License.
|
|
|
|
|
+
|
|
|
|
|
+import { IdentifierLocation, SyntaxError } from 'parse/types';
|
|
|
|
|
|
|
|
declare namespace Ace {
|
|
declare namespace Ace {
|
|
|
export interface Editor {
|
|
export interface Editor {
|
|
|
|
|
+ $blockScrolling: number;
|
|
|
addError(message:string, line:number): void;
|
|
addError(message:string, line:number): void;
|
|
|
addWarning(message:string, line:number): void;
|
|
addWarning(message:string, line:number): void;
|
|
|
container: HTMLElement;
|
|
container: HTMLElement;
|
|
@@ -10,6 +27,8 @@ declare namespace Ace {
|
|
|
clearErrorsAndWarnings(type: string): void;
|
|
clearErrorsAndWarnings(type: string): void;
|
|
|
customMenuOptions: { [option: string]: (val?: any) => any };
|
|
customMenuOptions: { [option: string]: (val?: any) => any };
|
|
|
enabledMenuOptions: { [option: string]: boolean };
|
|
enabledMenuOptions: { [option: string]: boolean };
|
|
|
|
|
+ execCommand(cmd: string, arg?: unknown): void;
|
|
|
|
|
+ focus(): void;
|
|
|
getCursorPosition(): Position;
|
|
getCursorPosition(): Position;
|
|
|
getOption(option: string): string|boolean|number;
|
|
getOption(option: string): string|boolean|number;
|
|
|
getSelectedText(): string;
|
|
getSelectedText(): string;
|
|
@@ -18,19 +37,35 @@ declare namespace Ace {
|
|
|
getTextAfterCursor(): string;
|
|
getTextAfterCursor(): string;
|
|
|
getTextBeforeCursor(): string;
|
|
getTextBeforeCursor(): string;
|
|
|
getValue(): string;
|
|
getValue(): string;
|
|
|
|
|
+ keyBinding: {
|
|
|
|
|
+ addKeyboardHandler(hashHandler: HashHandler): void;
|
|
|
|
|
+ removeKeyboardHandler(hashHandler: HashHandler): void;
|
|
|
|
|
+ }
|
|
|
lastChangeTime: number;
|
|
lastChangeTime: number;
|
|
|
off(ev: string, callback: ((e: any) => any) | number): void;
|
|
off(ev: string, callback: ((e: any) => any) | number): void;
|
|
|
on(event: string, fn: (e: any) => any): number;
|
|
on(event: string, fn: (e: any) => any): number;
|
|
|
|
|
+ removeTextAfterCursor(length: number): void;
|
|
|
renderer: {
|
|
renderer: {
|
|
|
|
|
+ scrollLeft: number;
|
|
|
|
|
+ gutterWidth: number;
|
|
|
lineHeight: number;
|
|
lineHeight: number;
|
|
|
|
|
+ layerConfig: {
|
|
|
|
|
+ lineHeight: number;
|
|
|
|
|
+ offset: number;
|
|
|
|
|
+ };
|
|
|
|
|
+ $cursorLayer: {
|
|
|
|
|
+ getPixelPosition(anchor?: Anchor, b?: boolean): { top: number; left: number };
|
|
|
|
|
+ };
|
|
|
screenToTextCoordinates(left: number, top: number): Position;
|
|
screenToTextCoordinates(left: number, top: number): Position;
|
|
|
- scrollCursorIntoView(position: Position, u: number): void;
|
|
|
|
|
|
|
+ scrollCursorIntoView(position?: Position, u?: number): void;
|
|
|
textToScreenCoordinates(row: number, column: number): { pageX: number; pageY: number }
|
|
textToScreenCoordinates(row: number, column: number): { pageX: number; pageY: number }
|
|
|
};
|
|
};
|
|
|
resize(force: boolean): void;
|
|
resize(force: boolean): void;
|
|
|
scrollToLine(line: number, u: boolean, v: boolean, callback: () => void): void;
|
|
scrollToLine(line: number, u: boolean, v: boolean, callback: () => void): void;
|
|
|
selection: {
|
|
selection: {
|
|
|
getRange(): Range;
|
|
getRange(): Range;
|
|
|
|
|
+ getAllRanges(): Range[];
|
|
|
|
|
+ lead: Position;
|
|
|
};
|
|
};
|
|
|
session: Session;
|
|
session: Session;
|
|
|
setOption(option: string, value: OptionValue): void;
|
|
setOption(option: string, value: OptionValue): void;
|
|
@@ -45,19 +80,26 @@ declare namespace Ace {
|
|
|
[option: string]: OptionValue;
|
|
[option: string]: OptionValue;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ export interface AceUtil {
|
|
|
|
|
+ retrievePrecedingIdentifier(row: number, column: number, regex?: RegExp): string;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
export interface Position {
|
|
export interface Position {
|
|
|
column: number;
|
|
column: number;
|
|
|
row: number;
|
|
row: number;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- export interface Range {
|
|
|
|
|
|
|
+ export interface SimpleRange {
|
|
|
end: Position | Anchor;
|
|
end: Position | Anchor;
|
|
|
- endColumn:number;
|
|
|
|
|
- endRow:number;
|
|
|
|
|
- isEmpty(): boolean;
|
|
|
|
|
start: Position | Anchor;
|
|
start: Position | Anchor;
|
|
|
- startColumn:number;
|
|
|
|
|
- startRow:number;
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ export interface Range extends SimpleRange {
|
|
|
|
|
+ endColumn: number;
|
|
|
|
|
+ endRow: number;
|
|
|
|
|
+ isEmpty(): boolean;
|
|
|
|
|
+ startColumn: number;
|
|
|
|
|
+ startRow: number;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
export interface Document {
|
|
export interface Document {
|
|
@@ -66,6 +108,7 @@ declare namespace Ace {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
export interface Anchor extends Position {
|
|
export interface Anchor extends Position {
|
|
|
|
|
+ $insertRight: boolean;
|
|
|
detach(): void;
|
|
detach(): void;
|
|
|
getPosition(): Position;
|
|
getPosition(): Position;
|
|
|
on(event: string, fn: (e: any) => any): number;
|
|
on(event: string, fn: (e: any) => any): number;
|
|
@@ -84,9 +127,11 @@ declare namespace Ace {
|
|
|
addGutterDecoration(line: number, clazz: string): void;
|
|
addGutterDecoration(line: number, clazz: string): void;
|
|
|
addMarker(range: Range, clazz: string): number;
|
|
addMarker(range: Range, clazz: string): number;
|
|
|
doc: Document;
|
|
doc: Document;
|
|
|
- getTextRange(range: Range): string;
|
|
|
|
|
|
|
+ getLine(row: number): number;
|
|
|
|
|
+ getTextRange(range: SimpleRange): string;
|
|
|
getTokenAt(row: number, column: number): HueToken | null;
|
|
getTokenAt(row: number, column: number): HueToken | null;
|
|
|
getTokens(line?: number): HueToken[];
|
|
getTokens(line?: number): HueToken[];
|
|
|
|
|
+ remove(range: Range): void;
|
|
|
removeGutterDecoration(line: number, clazz: string): void;
|
|
removeGutterDecoration(line: number, clazz: string): void;
|
|
|
removeMarker(markerId: number): void;
|
|
removeMarker(markerId: number): void;
|
|
|
setMode(mode: string): void;
|
|
setMode(mode: string): void;
|
|
@@ -102,4 +147,9 @@ declare namespace Ace {
|
|
|
syntaxError?: SyntaxError;
|
|
syntaxError?: SyntaxError;
|
|
|
value: string;
|
|
value: string;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ export class HashHandler {
|
|
|
|
|
+ constructor();
|
|
|
|
|
+ bindKeys(bindings: { [keys: string]: (editor: Ace.Editor, event: unknown) => void }): void;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|