mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-07 08:17:05 +00:00
WIP WIP WIP WIP WIP WIP: Remove trailing newlines WIP WIP WIP WIP WIP WIP WIP WIP: All tests pass WIP WIP WIP
303 lines
10 KiB
TypeScript
303 lines
10 KiB
TypeScript
// Type definitions for text-buffer
|
|
// Project: https://github.com/atom/text-buffer
|
|
// Definitions by: vvakame <https://github.com/vvakame/>
|
|
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
|
|
/// <reference types="atom" />
|
|
/// <reference types="emissary" />
|
|
/// <reference types="q" />
|
|
|
|
declare namespace TextBuffer {
|
|
|
|
interface IPointStatic {
|
|
new (row?: number, column?: number): IPoint;
|
|
|
|
fromObject(point: IPoint, copy?: boolean): IPoint;
|
|
fromObject(object: number[]): IPoint;
|
|
fromObject(object: {row: number; column: number}): IPoint;
|
|
|
|
min(point1: IPoint, point2: IPoint): IPoint;
|
|
min(point1: number[], point2: IPoint): IPoint;
|
|
min(point1: {row: number; column: number}, point2: IPoint): IPoint;
|
|
|
|
min(point1: IPoint, point2: number[]): IPoint;
|
|
min(point1: number[], point2: number[]): IPoint;
|
|
min(point1: {row: number; column: number}, point2: number[]): IPoint;
|
|
|
|
min(point1: IPoint, point2: {row: number; column: number}): IPoint;
|
|
min(point1: number[], point2: {row: number; column: number}): IPoint;
|
|
min(point1: {row: number; column: number}, point2: {row: number; column: number}): IPoint;
|
|
}
|
|
|
|
interface IPoint {
|
|
constructor: IPointStatic;
|
|
|
|
row: number;
|
|
column: number;
|
|
|
|
copy(): IPoint;
|
|
freeze(): IPoint;
|
|
|
|
translate(delta: IPoint): IPoint;
|
|
translate(delta: number[]): IPoint;
|
|
translate(delta: {row: number; column: number}): IPoint;
|
|
|
|
add(other: IPoint): IPoint;
|
|
add(other: number[]): IPoint;
|
|
add(other: {row: number; column: number}): IPoint;
|
|
|
|
splitAt(column: number): IPoint[];
|
|
compare(other: IPoint): number;
|
|
isEqual(other: IPoint): boolean;
|
|
isLessThan(other: IPoint): boolean;
|
|
isLessThanOrEqual(other: IPoint): boolean;
|
|
isGreaterThan(other: IPoint): boolean;
|
|
isGreaterThanOrEqual(other: IPoint): boolean;
|
|
toArray(): number[];
|
|
serialize(): number[];
|
|
}
|
|
|
|
interface IRangeStatic {
|
|
deserialize(array: IPoint[]): IRange;
|
|
|
|
fromObject(object: IPoint[]): IRange;
|
|
|
|
fromObject(object: IRange, copy?: boolean): IRange;
|
|
|
|
fromObject(object: {start: IPoint; end: IPoint}): IRange;
|
|
fromObject(object: {start: number[]; end: IPoint}): IRange;
|
|
fromObject(object: {start: {row: number; column: number}; end: IPoint}): IRange;
|
|
|
|
fromObject(object: {start: IPoint; end: number[]}): IRange;
|
|
fromObject(object: {start: number[]; end: number[]}): IRange;
|
|
fromObject(object: {start: {row: number; column: number}; end: number[]}): IRange;
|
|
|
|
fromObject(object: {start: IPoint; end: {row: number; column: number}}): IRange;
|
|
fromObject(object: {start: number[]; end: {row: number; column: number}}): IRange;
|
|
fromObject(object: {start: {row: number; column: number}; end: {row: number; column: number}}): IRange;
|
|
|
|
fromText(point: IPoint, text: string): IRange;
|
|
fromText(point: number[], text: string): IRange;
|
|
fromText(point: {row: number; column: number}, text: string): IRange;
|
|
fromText(text: string): IRange;
|
|
|
|
fromPointWithDelta(startPoint: IPoint, rowDelta: number, columnDelta: number): IRange;
|
|
fromPointWithDelta(startPoint: number[], rowDelta: number, columnDelta: number): IRange;
|
|
fromPointWithDelta(startPoint: {row: number; column: number}, rowDelta: number, columnDelta: number): IRange;
|
|
|
|
new(point1: IPoint, point2: IPoint): IRange;
|
|
new(point1: number[], point2: IPoint): IRange;
|
|
new(point1: {row: number; column: number}, point2: IPoint): IRange;
|
|
|
|
new(point1: IPoint, point2: number[]): IRange;
|
|
new(point1: number[], point2: number[]): IRange;
|
|
new(point1: {row: number; column: number}, point2: number[]): IRange;
|
|
|
|
new(point1: IPoint, point2: {row: number; column: number}): IRange;
|
|
new(point1: number[], point2: {row: number; column: number}): IRange;
|
|
new(point1: {row: number; column: number}, point2: {row: number; column: number}): IRange;
|
|
}
|
|
|
|
interface IRange {
|
|
constructor: IRangeStatic;
|
|
|
|
start: IPoint;
|
|
end: IPoint;
|
|
|
|
serialize(): number[][];
|
|
copy(): IRange;
|
|
freeze(): IRange;
|
|
isEqual(other: IRange): boolean;
|
|
isEqual(other: IPoint[]): boolean;
|
|
|
|
compare(object: IPoint[]): number;
|
|
|
|
compare(object: {start: IPoint; end: IPoint}): number;
|
|
compare(object: {start: number[]; end: IPoint}): number;
|
|
compare(object: {start: {row: number; column: number}; end: IPoint}): number;
|
|
|
|
compare(object: {start: IPoint; end: number[]}): number;
|
|
compare(object: {start: number[]; end: number[]}): number;
|
|
compare(object: {start: {row: number; column: number}; end: number[]}): number;
|
|
|
|
compare(object: {start: IPoint; end: {row: number; column: number}}): number;
|
|
compare(object: {start: number[]; end: {row: number; column: number}}): number;
|
|
compare(object: {start: {row: number; column: number}; end: {row: number; column: number}}): number;
|
|
|
|
isSingleLine(): boolean;
|
|
coversSameRows(other: IRange): boolean;
|
|
|
|
add(object: IPoint[]): IRange;
|
|
|
|
add(object: {start: IPoint; end: IPoint}): IRange;
|
|
add(object: {start: number[]; end: IPoint}): IRange;
|
|
add(object: {start: {row: number; column: number}; end: IPoint}): IRange;
|
|
|
|
add(object: {start: IPoint; end: number[]}): IRange;
|
|
add(object: {start: number[]; end: number[]}): IRange;
|
|
add(object: {start: {row: number; column: number}; end: number[]}): IRange;
|
|
|
|
add(object: {start: IPoint; end: {row: number; column: number}}): IRange;
|
|
add(object: {start: number[]; end: {row: number; column: number}}): IRange;
|
|
add(object: {start: {row: number; column: number}; end: {row: number; column: number}}): IRange;
|
|
|
|
translate(startPoint: IPoint, endPoint: IPoint): IRange;
|
|
translate(startPoint: IPoint): IRange;
|
|
|
|
intersectsWith(otherRange: IRange): boolean;
|
|
containsRange(otherRange: IRange, exclusive: boolean): boolean;
|
|
|
|
containsPoint(point: IPoint, exclusive: boolean): boolean;
|
|
containsPoint(point: number[], exclusive: boolean): boolean;
|
|
containsPoint(point: {row: number; column: number}, exclusive: boolean): boolean;
|
|
|
|
intersectsRow(row: number): boolean;
|
|
intersectsRowRange(startRow: number, endRow: number): boolean;
|
|
union(otherRange: IRange): IRange;
|
|
isEmpty(): boolean;
|
|
toDelta(): IPoint;
|
|
getRowCount(): number;
|
|
getRows(): number[];
|
|
}
|
|
|
|
interface IHistory {
|
|
// TBD
|
|
}
|
|
|
|
interface IMarkerManager {
|
|
// TBD
|
|
}
|
|
|
|
interface IMarker {
|
|
// TBD
|
|
}
|
|
|
|
interface IBufferPatch {
|
|
// TBD
|
|
}
|
|
|
|
interface ITextBufferStatic {
|
|
Point: IPointStatic;
|
|
Range: IRangeStatic;
|
|
newlineRegex: any;
|
|
|
|
new (text: string): ITextBuffer;
|
|
new (params: any): ITextBuffer;
|
|
}
|
|
|
|
interface ITextBuffer extends Emissary.IEmitter, Emissary.ISubscriber {
|
|
// Delegator.includeInto(TextBuffer);
|
|
// Serializable.includeInto(TextBuffer);
|
|
|
|
cachedText: string;
|
|
stoppedChangingDelay: number;
|
|
stoppedChangingTimeout: any;
|
|
cachedDiskContents: string;
|
|
conflict: boolean;
|
|
file: any; // pathwatcher.IFile
|
|
refcount: number;
|
|
|
|
lines: string[];
|
|
lineEndings: string[];
|
|
offsetIndex: any; // span-skip-list.SpanSkipList
|
|
history: IHistory;
|
|
markers: IMarkerManager;
|
|
loaded: boolean;
|
|
digestWhenLastPersisted: string;
|
|
modifiedWhenLastPersisted: boolean;
|
|
useSerializedText: boolean;
|
|
|
|
deserializeParams(params: any): any;
|
|
serializeParams(): any;
|
|
|
|
getText(): string;
|
|
getLines(): string;
|
|
isEmpty(): boolean;
|
|
getLineCount(): number;
|
|
getLastRow(): number;
|
|
lineForRow(row: number): string;
|
|
getLastLine(): string;
|
|
lineEndingForRow(row: number): string;
|
|
lineLengthForRow(row: number): number;
|
|
setText(text: string): IRange;
|
|
setTextViaDiff(text: any): any[];
|
|
setTextInRange(range: IRange, text: string, normalizeLineEndings?: boolean): IRange;
|
|
insert(position: IPoint, text: string, normalizeLineEndings?: boolean): IRange;
|
|
append(text: string, normalizeLineEndings?: boolean): IRange;
|
|
delete(range: IRange): IRange;
|
|
deleteRow(row: number): IRange;
|
|
deleteRows(startRow: number, endRow: number): IRange;
|
|
buildPatch(oldRange: IRange, newText: string, normalizeLineEndings?: boolean): IBufferPatch;
|
|
applyPatch(patch: IBufferPatch): any;
|
|
getTextInRange(range: IRange): string;
|
|
clipRange(range: IRange): IRange;
|
|
clipPosition(position: IPoint): IPoint;
|
|
getFirstPosition(): IPoint;
|
|
getEndPosition(): IPoint;
|
|
getRange(): IRange;
|
|
rangeForRow(row: number, includeNewline?: boolean): IRange;
|
|
characterIndexForPosition(position: IPoint): number;
|
|
positionForCharacterIndex(offset: number): IPoint;
|
|
getMaxCharacterIndex(): number;
|
|
loadSync(): ITextBuffer;
|
|
load(): Q.IPromise<ITextBuffer>;
|
|
finishLoading(): ITextBuffer;
|
|
handleTextChange(event: any): any;
|
|
destroy(): any;
|
|
isAlive(): boolean;
|
|
isDestroyed(): boolean;
|
|
isRetained(): boolean;
|
|
retain(): ITextBuffer;
|
|
release(): ITextBuffer;
|
|
subscribeToFile(): any;
|
|
hasMultipleEditors(): boolean;
|
|
reload(): any;
|
|
updateCachedDiskContentsSync(): string;
|
|
updateCachedDiskContents(): Q.IPromise<string>;
|
|
getBaseName(): string;
|
|
getPath(): string;
|
|
getUri(): string;
|
|
setPath(filePath: string): any;
|
|
save(): void;
|
|
saveAs(filePath: string): any;
|
|
isModified(): boolean;
|
|
isInConflict(): boolean;
|
|
destroyMarker(id: any): any;
|
|
matchesInCharacterRange(regex: any, startIndex: any, endIndex: any): any[];
|
|
scan(regex: any, iterator: any): any;
|
|
backwardsScan(regex: any, iterator: any): any;
|
|
replace(regex: any, replacementText: any): any;
|
|
scanInRange(regex: any, range: any, iterator: any, reverse: any): any;
|
|
backwardsScanInRange(regex: any, range: any, iterator: any): any;
|
|
isRowBlank(row: number): boolean;
|
|
previousNonBlankRow(startRow: number): number;
|
|
nextNonBlankRow(startRow: number): number;
|
|
usesSoftTabs(): boolean;
|
|
cancelStoppedChangingTimeout(): any;
|
|
scheduleModifiedEvents(): any;
|
|
emitModifiedStatusChanged(modifiedStatus: any): any;
|
|
logLines(start: number, end: number): void;
|
|
|
|
// delegate to history property
|
|
undo(): any;
|
|
redo(): any;
|
|
transact(fn: Function): any;
|
|
beginTransaction(): any;
|
|
commitTransaction(): any;
|
|
abortTransaction(): any;
|
|
clearUndoStack(): any;
|
|
|
|
// delegate to markers property
|
|
markRange(range: any, properties: any): any;
|
|
markPosition(range: any, properties: any): any;
|
|
getMarker(id: number): IMarker;
|
|
getMarkers(): IMarker[];
|
|
getMarkerCount(): number;
|
|
}
|
|
}
|
|
|
|
declare module "text-buffer" {
|
|
var _: TextBuffer.ITextBufferStatic;
|
|
export = _;
|
|
}
|