typescript-closure-tools
Version:
Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files
1,521 lines (1,234 loc) • 44.9 kB
TypeScript
// Type definitions for Atom
// Project: https://atom.io/
// Definitions by: vvakame <https://github.com/vvakame/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../q/Q.d.ts" />
/// <reference path="../jquery/jquery.d.ts" />
/// <reference path="../space-pen/space-pen.d.ts" />
/// <reference path="../emissary/emissary.d.ts" />
// Policy: this definition file only declare element related to `atom`.
// if js file include to another npm package (e.g. "space-pen", "mixto" and "emissary").
// you should create a separate file.
// NOTE Document? You should use DevTools hehe...
interface Window {
atom: AtomCore.IAtom;
measure(description:string, fn:Function):any; // return fn result
profile(description:string, fn:Function):any; // return fn result
}
declare module AtomCore {
// https://atom.io/docs/v0.84.0/advanced/view-system
interface IWorkspaceView {
prependToBottom:any;
prependToTop:any;
prependToLeft:any;
prependToRight:any;
appendToBottom:any;
appendToTop:any;
appendToLeft:any;
appendToRight:any;
command: Function;
}
interface IPanes {
// TBD
}
interface ITreeView {
// TBD
}
interface ICommandPanel {
// TBD
}
interface ITextBuffer {
// TBD
}
interface IDisplayBufferStatic {
new(_arg?:any):IDisplayBuffer;
}
interface IDisplayBuffer /* extends Theorist.Model */ {
// Serializable.includeInto(Editor);
constructor:IDisplayBufferStatic;
verticalScrollMargin:number;
horizontalScrollMargin:number;
declaredPropertyValues:any;
tokenizedBuffer: ITokenizedBuffer;
buffer: ITextBuffer;
charWidthsByScope:any;
markers:{ [index:number]:IDisplayBufferMarker; };
foldsByMarkerId:any;
maxLineLength:number;
screenLines:ITokenizedLine[];
rowMap:any; // return type are RowMap
longestScreenRow:number;
subscriptions:ISubscription[];
subscriptionsByObject:any; // return type are WeakMap
behaviors:any;
subscriptionCounts:any;
eventHandlersByEventName:any;
pendingChangeEvent:any;
softWrap:boolean;
serializeParams():{id:number; softWrap:boolean; editorWidthInChars: number; scrollTop: number; scrollLeft: number; tokenizedBuffer: any; };
deserializeParams(params:any):any;
copy():IDisplayBuffer;
updateAllScreenLines():any;
emitChanged(eventProperties:any, refreshMarkers?:boolean):any;
updateWrappedScreenLines():any;
setVisible(visible:any):any;
getVerticalScrollMargin():number;
setVerticalScrollMargin(verticalScrollMargin:number):number;
getHorizontalScrollMargin():number;
setHorizontalScrollMargin(horizontalScrollMargin:number):number;
getHeight():any;
setHeight(height:any):any;
getWidth():any;
setWidth(newWidth:any):any;
getScrollTop():number;
setScrollTop(scrollTop:number):number;
getScrollBottom():number;
setScrollBottom(scrollBottom:number):number;
getScrollLeft():number;
setScrollLeft(scrollLeft:number):number;
getScrollRight():number;
setScrollRight(scrollRight:number):number;
getLineHeight():any;
setLineHeight(lineHeight:any):any;
getDefaultCharWidth():any;
setDefaultCharWidth(defaultCharWidth:any):any;
getScopedCharWidth(scopeNames:any, char:any):any;
getScopedCharWidths(scopeNames:any):any;
setScopedCharWidth(scopeNames:any, char:any, width:any):any;
setScopedCharWidths(scopeNames:any, charWidths:any):any;
clearScopedCharWidths():any;
getScrollHeight():number;
getScrollWidth():number;
getVisibleRowRange():number[];
intersectsVisibleRowRange(startRow:any, endRow:any):any;
selectionIntersectsVisibleRowRange(selection:any):any;
scrollToScreenRange(screenRange:any):any;
scrollToScreenPosition(screenPosition:any):any;
scrollToBufferPosition(bufferPosition:any):any;
pixelRectForScreenRange(screenRange:IRange):any;
getTabLength():number;
setTabLength(tabLength:number):any;
setSoftWrap(softWrap:boolean):boolean;
getSoftWrap():boolean;
setEditorWidthInChars(editorWidthInChars:number):any;
getEditorWidthInChars():number;
getSoftWrapColumn():number;
lineForRow(row:number):any;
linesForRows(startRow:number, endRow:number):any;
getLines():any[];
indentLevelForLine(line:any):any;
bufferRowsForScreenRows(startScreenRow:any, endScreenRow:any):any;
createFold(startRow:number, endRow:number):IFold;
isFoldedAtBufferRow(bufferRow:number):boolean;
isFoldedAtScreenRow(screenRow:number):boolean;
destroyFoldWithId(id:number):any;
unfoldBufferRow(bufferRow:number):any[];
largestFoldStartingAtBufferRow(bufferRow:number):any;
foldsStartingAtBufferRow(bufferRow:number):any;
largestFoldStartingAtScreenRow(screenRow:any):any;
largestFoldContainingBufferRow(bufferRow:any):any;
outermostFoldsInBufferRowRange(startRow:any, endRow:any):any[];
foldsContainingBufferRow(bufferRow:any):any[];
screenRowForBufferRow(bufferRow:number):number;
lastScreenRowForBufferRow(bufferRow:number):number;
bufferRowForScreenRow(screenRow:number):number;
screenRangeForBufferRange(bufferRange:IPoint[]):IRange;
screenRangeForBufferRange(bufferRange:IRange):IRange;
screenRangeForBufferRange(bufferRange:{start: IPoint; end: IPoint}):IRange;
screenRangeForBufferRange(bufferRange:{start: number[]; end: IPoint}):IRange;
screenRangeForBufferRange(bufferRange:{start: {row:number; col:number;}; end: IPoint}):IRange;
screenRangeForBufferRange(bufferRange:{start: IPoint; end: number[]}):IRange;
screenRangeForBufferRange(bufferRange:{start: number[]; end: number[]}):IRange;
screenRangeForBufferRange(bufferRange:{start: {row:number; col:number;}; end: number[]}):IRange;
screenRangeForBufferRange(bufferRange:{start: IPoint; end: {row:number; col:number;}}):IRange;
screenRangeForBufferRange(bufferRange:{start: number[]; end: {row:number; col:number;}}):IRange;
screenRangeForBufferRange(bufferRange:{start: {row:number; col:number;}; end: {row:number; col:number;}}):IRange;
bufferRangeForScreenRange(screenRange:IPoint[]):IRange;
bufferRangeForScreenRange(screenRange:IRange):IRange;
bufferRangeForScreenRange(screenRange:{start: IPoint; end: IPoint}):IRange;
bufferRangeForScreenRange(screenRange:{start: number[]; end: IPoint}):IRange;
bufferRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: IPoint}):IRange;
bufferRangeForScreenRange(screenRange:{start: IPoint; end: number[]}):IRange;
bufferRangeForScreenRange(screenRange:{start: number[]; end: number[]}):IRange;
bufferRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: number[]}):IRange;
bufferRangeForScreenRange(screenRange:{start: IPoint; end: {row:number; col:number;}}):IRange;
bufferRangeForScreenRange(screenRange:{start: number[]; end: {row:number; col:number;}}):IRange;
bufferRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: {row:number; col:number;}}):IRange;
pixelRangeForScreenRange(screenRange:IPoint[], clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:IRange, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: IPoint; end: IPoint}, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: number[]; end: IPoint}, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: IPoint}, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: IPoint; end: number[]}, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: number[]; end: number[]}, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: number[]}, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: IPoint; end: {row:number; col:number;}}, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: number[]; end: {row:number; col:number;}}, clip?:boolean):IRange;
pixelRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: {row:number; col:number;}}, clip?:boolean):IRange;
pixelPositionForScreenPosition(screenPosition:IPoint, clip?:boolean):IPoint;
pixelPositionForScreenPosition(screenPosition:number[], clip?:boolean):IPoint;
pixelPositionForScreenPosition(screenPosition:{row:number; col:number;}, clip?:boolean):IPoint;
screenPositionForPixelPosition(pixelPosition:any):IPoint;
pixelPositionForBufferPosition(bufferPosition:any):any;
getLineCount():number;
getLastRow():number;
getMaxLineLength():number;
screenPositionForBufferPosition(bufferPosition:any, options:any):any;
bufferPositionForScreenPosition(bufferPosition:any, options:any):any;
scopesForBufferPosition(bufferPosition:any):any;
bufferRangeForScopeAtPosition(selector:any, position:any):any;
tokenForBufferPosition(bufferPosition:any):any;
getGrammar():IGrammar;
setGrammar(grammar:IGrammar):any;
reloadGrammar():any;
clipScreenPosition(screenPosition:any, options:any):any;
findWrapColumn(line:any, softWrapColumn:any):any;
rangeForAllLines():IRange;
getMarker(id:number):IDisplayBufferMarker;
getMarkers():IDisplayBufferMarker[];
getMarkerCount():number;
markScreenRange(range:IRange, ...args:any[]):IDisplayBufferMarker;
markBufferRange(range:IRange, options?:any):IDisplayBufferMarker;
markScreenPosition(screenPosition:IPoint, options?:any):IDisplayBufferMarker;
markBufferPosition(bufferPosition:IPoint, options?:any):IDisplayBufferMarker;
destroyMarker(id:number):any;
findMarker(params?:any):IDisplayBufferMarker;
findMarkers(params?:any):IDisplayBufferMarker[];
translateToBufferMarkerParams(params?:any):any;
findFoldMarker(attributes:any):IMarker;
findFoldMarkers(attributes:any):IMarker[];
getFoldMarkerAttributes(attributes?:any):any;
pauseMarkerObservers():any;
resumeMarkerObservers():any;
refreshMarkerScreenPositions():any;
destroy():any;
logLines(start:number, end:number):any[];
handleTokenizedBufferChange(tokenizedBufferChange:any):any;
updateScreenLines(startBufferRow:any, endBufferRow:any, bufferDelta?:number, options?:any):any;
buildScreenLines(startBufferRow:any, endBufferRow:any):any;
findMaxLineLength(startScreenRow:any, endScreenRow:any, newScreenLines:any):any;
handleBufferMarkersUpdated():any;
handleBufferMarkerCreated(marker:any):any;
createFoldForMarker(maker:any):IFold;
foldForMarker(marker:any):any;
}
interface ICursor {
// TBD
}
interface ILanguageMode {
// TBD
}
interface ISelection /* extends Theorist.Model */ {
cursor:ICursor;
marker:IDisplayBufferMarker;
editor:IEditor;
initialScreenRange:any;
wordwise:boolean;
needsAutoscroll:boolean;
retainSelection:boolean;
subscriptionCounts:any;
destroy():any;
finalize():any;
clearAutoscroll():any;
isEmpty():boolean;
isReversed():boolean;
isSingleScreenLine():boolean;
getScreenRange():IRange;
setScreenRange(screenRange:any, options:any):any;
getBufferRange():IRange;
setBufferRange(bufferRange:any, options:any):any;
getBufferRowRange():number[];
autoscroll():void;
getText():string;
clear():boolean;
selectWord():IRange;
expandOverWord():any;
selectLine(row?:any):IRange;
expandOverLine():boolean;
selectToScreenPosition(position:any):any;
selectToBufferPosition(position:any):any;
selectRight():boolean;
selectLeft():boolean;
selectUp(rowCount?:any):boolean;
selectDown(rowCount?:any):boolean;
selectToTop():any;
selectToBottom():any;
selectAll():any;
selectToBeginningOfLine():any;
selectToFirstCharacterOfLine():any;
selectToEndOfLine():any;
selectToBeginningOfWord():any;
selectToEndOfWord():any;
selectToBeginningOfNextWord():any;
selectToPreviousWordBoundary():any;
selectToNextWordBoundary():any;
addSelectionBelow():any;
getGoalBufferRange():any;
addSelectionAbove():any[];
insertText(text:string, options?:any):any;
normalizeIndents(text:string, indentBasis:number):any;
indent(_arg?:any):any;
indentSelectedRows():IRange[];
setIndentationForLine(line:string, indentLevel:number):any;
backspace():any;
backspaceToBeginningOfWord():any;
backspaceToBeginningOfLine():any;
delete():any;
deleteToEndOfWord():any;
deleteSelectedText():any;
deleteLine():any;
joinLines():any;
outdentSelectedRows():any[];
autoIndentSelectedRows():any;
toggleLineComments():any;
cutToEndOfLine(maintainClipboard:any):any;
cut(maintainClipboard:any):any;
copy(maintainClipboard:any):any;
fold():any;
modifySelection(fn:()=>any):any;
plantTail():any;
intersectsBufferRange(bufferRange:any):any;
intersectsWith(otherSelection:any):any;
merge(otherSelection:any, options:any):any;
compare(otherSelection:any):any;
getRegionRects():any[];
screenRangeChanged():any;
}
interface ISubscription {
// TBD
}
interface IEditor {
// Serializable.includeInto(Editor);
// Delegator.includeInto(Editor);
deserializing:boolean;
callDisplayBufferCreatedHook:boolean;
registerEditor:boolean;
buffer:ITextBuffer;
languageMode: ILanguageMode;
cursors:ICursor[];
selections: ISelection[];
suppressSelectionMerging:boolean;
softTabs: boolean;
displayBuffer: IDisplayBuffer;
id:number;
behaviors:any;
declaredPropertyValues: any;
eventHandlersByEventName: any;
eventHandlersByNamespace: any;
lastOpened: number;
subscriptionCounts: any;
subscriptionsByObject: any; /* WeakMap */
subscriptions: ISubscription[];
serializeParams():{id:number; softTabs:boolean; scrollTop:number; scrollLeft:number; displayBuffer:any;};
deserializeParams(params:any):any;
subscribeToBuffer():void;
subscribeToDisplayBuffer():void;
getViewClass():any; // return type are EditorView
destroyed():void;
copy():IEditor;
getTitle():string;
getLongTitle():string;
setVisible(visible:boolean):void;
setScrollTop(scrollTop:any):void;
getScrollTop():number;
setScrollLeft(scrollLeft:any):void;
getScrollLeft():number;
setEditorWidthInChars(editorWidthInChars:any):void;
getSoftWrapColumn():number;
getSoftTabs():boolean;
setSoftTabs(softTabs:boolean):void;
getSoftWrap():boolean;
setSoftWrap(softWrap:any):void;
getTabText():string;
getTabLength():number;
setTabLength(tabLength:any):void;
clipBufferPosition(bufferPosition:any):void;
clipBufferRange(range:any):void;
indentationForBufferRow(bufferRow:any):void;
setIndentationForBufferRow(bufferRow:any, newLevel:any, _arg:any):void;
indentLevelForLine(line:any):number;
buildIndentString(number:any):string;
save():void;
saveAs(filePath:any):void;
getPath():string;
getText():string;
setText(text:any):void;
getTextInRange(range:any):any;
getLineCount():number;
getBuffer():ITextBuffer;
getUri():string;
isBufferRowBlank(bufferRow:any):boolean;
isBufferRowCommented(bufferRow:any):void;
nextNonBlankBufferRow(bufferRow:any):void;
getEofBufferPosition():IPoint;
getLastBufferRow():number;
bufferRangeForBufferRow(row:any, options:any):IRange;
lineForBufferRow(row:number):string;
lineLengthForBufferRow(row:number):number;
scan():any;
scanInBufferRange():any;
backwardsScanInBufferRange():any;
isModified():boolean;
shouldPromptToSave():boolean;
screenPositionForBufferPosition(bufferPosition:any, options?:any):IPoint;
bufferPositionForScreenPosition(screenPosition:any, options?:any):IPoint;
screenRangeForBufferRange(bufferRange:any):IRange;
bufferRangeForScreenRange(screenRange:any):IRange;
clipScreenPosition(screenPosition:any, options:any):IRange;
lineForScreenRow(row:any):ITokenizedLine;
linesForScreenRows(start?:any, end?:any):ITokenizedLine[];
getScreenLineCount():number;
getMaxScreenLineLength():number;
getLastScreenRow():number;
bufferRowsForScreenRows(startRow:any, endRow:any):any[];
bufferRowForScreenRow(row:any):number;
scopesForBufferPosition(bufferPosition:any):string[];
bufferRangeForScopeAtCursor(selector:string):any;
tokenForBufferPosition(bufferPosition:any):IToken;
getCursorScopes():string[];
insertText(text:string, options?:any):IRange[];
insertNewline():IRange[];
insertNewlineBelow():IRange[];
insertNewlineAbove():any;
indent(options?:any):any;
backspace():any[];
backspaceToBeginningOfWord():any[];
backspaceToBeginningOfLine():any[];
delete():any[];
deleteToEndOfWord():any[];
deleteLine():IRange[];
indentSelectedRows():IRange[][];
outdentSelectedRows():IRange[][];
toggleLineCommentsInSelection():IRange[];
autoIndentSelectedRows():IRange[][];
normalizeTabsInBufferRange(bufferRange:any):any;
cutToEndOfLine():boolean[];
cutSelectedText():boolean[];
copySelectedText():boolean[];
pasteText(options?:any):IRange[];
undo():any[];
redo():any[];
foldCurrentRow():any;
unfoldCurrentRow():any[];
foldSelectedLines():any[];
foldAll():any[];
unfoldAll():any[];
foldAllAtIndentLevel(level:any):any;
foldBufferRow(bufferRow:any):any;
unfoldBufferRow(bufferRow:any):any;
isFoldableAtBufferRow(bufferRow:any):boolean;
createFold(startRow:any, endRow:any):IFold;
destroyFoldWithId(id:any):any;
destroyFoldsIntersectingBufferRange(bufferRange:any):any;
toggleFoldAtBufferRow(bufferRow:any):any;
isFoldedAtCursorRow():boolean;
isFoldedAtBufferRow(bufferRow:any):boolean;
isFoldedAtScreenRow(screenRow:any):boolean;
largestFoldContainingBufferRow(bufferRow:any):boolean;
largestFoldStartingAtScreenRow(screenRow:any):any;
outermostFoldsInBufferRowRange(startRow:any, endRow:any):any[];
moveLineUp():ISelection[];
moveLineDown():ISelection[];
duplicateLines():any[][];
duplicateLine():any[][];
mutateSelectedText(fn:(selection:ISelection)=>any):any;
replaceSelectedText(options:any, fn:(selection:string)=>any):any;
getMarker(id:number):IDisplayBufferMarker;
getMarkers():IDisplayBufferMarker[];
findMarkers(properties:any):IDisplayBufferMarker[];
markScreenRange(value:number):IDisplayBufferMarker;
markBufferRange(value:number):IDisplayBufferMarker;
markScreenPosition(value:number):IDisplayBufferMarker;
markBufferPosition():IDisplayBufferMarker;
destroyMarker():boolean;
getMarkerCount():number;
hasMultipleCursors():boolean;
getCursors():ICursor[];
getCursor():ICursor;
addCursorAtScreenPosition(screenPosition:any):ICursor;
addCursorAtBufferPosition(bufferPosition:any):ICursor;
addCursor(marker:any):ICursor;
removeCursor(cursor:any):ICursor[];
addSelection(marker:any, options:any):ISelection;
addSelectionForBufferRange(bufferRange:any, options:any):ISelection;
setSelectedBufferRange(bufferRange:any, options:any):any;
setSelectedBufferRanges(bufferRanges:any, options:any):any;
removeSelection(selection:ISelection):any;
clearSelections():boolean;
consolidateSelections():boolean;
getSelections():ISelection[];
getSelection(index?:number):ISelection;
getLastSelection():ISelection;
getSelectionsOrderedByBufferPosition():ISelection[];
getLastSelectionInBuffer():ISelection;
selectionIntersectsBufferRange(bufferRange:any):any;
setCursorScreenPosition(position:any, options:any):any;
getCursorScreenPosition():IPoint;
getCursorScreenRow():number;
setCursorBufferPosition(position:any, options:any):any;
getCursorBufferPosition():IPoint;
getSelectedScreenRange():IRange;
getSelectedBufferRange():IRange;
getSelectedBufferRanges():IRange[];
getSelectedText():string;
getTextInBufferRange(range:IRange):string;
setTextInBufferRange(range:IRange, text:string):any;
getCurrentParagraphBufferRange():IRange;
getWordUnderCursor(options?:any):string;
moveCursorUp(lineCount?:number):void;
moveCursorDown(lineCount?:number):void;
moveCursorLeft():void;
moveCursorRight():void;
moveCursorToTop():void;
moveCursorToBottom():void;
moveCursorToBeginningOfScreenLine():void;
moveCursorToBeginningOfLine():void;
moveCursorToFirstCharacterOfLine():void;
moveCursorToEndOfScreenLine():void;
moveCursorToEndOfLine():void;
moveCursorToBeginningOfWord():void;
moveCursorToEndOfWord():void;
moveCursorToBeginningOfNextWord():void;
moveCursorToPreviousWordBoundary():void;
moveCursorToNextWordBoundary():void;
moveCursors(fn:(cursor:ICursor)=>any):any;
selectToScreenPosition(position:IPoint):any;
selectRight():ISelection[];
selectLeft():ISelection[];
selectUp(rowCount?:number):ISelection[];
selectDown(rowCount?:number):ISelection[];
selectToTop():ISelection[];
selectAll():ISelection[];
selectToBottom():ISelection[];
selectToBeginningOfLine():ISelection[];
selectToFirstCharacterOfLine():ISelection[];
selectToEndOfLine():ISelection[];
selectToPreviousWordBoundary():ISelection[];
selectToNextWordBoundary():ISelection[];
selectLine():ISelection[];
addSelectionBelow():ISelection[];
addSelectionAbove():ISelection[];
splitSelectionsIntoLines():any[];
transpose():IRange[];
upperCase():boolean[];
lowerCase():boolean[];
joinLines():any[];
selectToBeginningOfWord():ISelection[];
selectToEndOfWord():ISelection[];
selectToBeginningOfNextWord():ISelection[];
selectWord():ISelection[];
selectMarker(marker:any):any;
mergeCursors():number[];
expandSelectionsForward():any;
expandSelectionsBackward(fn:(selection:ISelection)=>any):ISelection[];
finalizeSelections():boolean[];
mergeIntersectingSelections():any;
preserveCursorPositionOnBufferReload():ISubscription;
getGrammar(): IGrammar;
setGrammar(grammer:IGrammar):void;
reloadGrammar():any;
shouldAutoIndent():boolean;
transact(fn:Function):any;
beginTransaction():ITransaction;
commitTransaction():any;
abortTransaction():any[];
inspect():string;
logScreenLines(start:number, end:number):any[];
handleGrammarChange():void;
handleMarkerCreated(marker:any):any;
getSelectionMarkerAttributes():{type: string; editorId: number; invalidate: string; };
// joinLine():any; // deprecated
}
interface IGrammar {
scopeName: string;
// TBD
}
interface IPane /* extends Theorist.Model */ {
items:any[];
activeItem:any;
serializeParams():any;
deserializeParams(params:any):any;
getViewClass():any; // return type are PaneView
isActive():boolean;
focus():void;
blur():void;
activate():void;
getPanes():IPane[];
getItems():any[];
getActiveItem():any;
getActiveEditor():any;
itemAtIndex(index:number):any;
activateNextItem():any;
activatePreviousItem():any;
getActiveItemIndex():number;
activateItemAtIndex(index:number):any;
activateItem(item:any):any;
addItem(item:any, index:number):any;
addItems(items:any[], index:number):any[];
removeItem(item:any, destroying:any):void;
moveItem(item:any, newIndex:number):void;
moveItemToPane(item:any, pane:IPane, index:number):void;
destroyActiveItem():boolean; // always return false
destroyItem(item:any):boolean;
destroyItems():any[];
destroyInactiveItems():any[];
destroy():void;
destroyed():any[];
promptToSaveItem(item:any):boolean;
saveActiveItem():void;
saveActiveItemAs():void;
saveItem(item:any, nextAction:Function):void;
saveItemAs(item:any, nextAction:Function):void;
saveItems():any[];
itemForUri(uri:any):any;
activateItemForUri(uri:any):any;
copyActiveItem():void;
splitLeft(params:any):IPane;
splitRight(params:any):IPane;
splitUp(params:any):IPane;
splitDown(params:any):IPane;
split(orientation:string, side:string, params:any):IPane;
findLeftmostSibling():IPane;
findOrCreateRightmostSibling():IPane;
}
// https://atom.io/docs/v0.84.0/advanced/serialization
interface ISerializationStatic<T> {
deserialize(data:ISerializationInfo):T;
new (data:T): ISerialization;
}
interface ISerialization {
serialize():ISerializationInfo;
}
interface ISerializationInfo {
deserializer: string;
}
interface IBrowserWindow {
getPosition():number[];
getSize():number[];
}
interface IAtomWindowDimentions {
x:number;
y:number;
width:number;
height:number;
}
interface IProject {
// TBD
}
interface IWorkspaceStatic {
new():IWorkspace;
}
interface IWorkspace {
deserializeParams(params:any):any;
serializeParams():{paneContainer:any;fullScreen:boolean;};
eachEditor(callback:Function):void;
getEditors():IEditor[];
open(uri:string, options:any):Q.Promise<View>;
openLicense():void;
openSync(uri:string, options:any):any;
openUriInPane(uri:string, pane:any, options:any):Q.Promise<View>;
reopenItemSync():any;
registerOpener(opener:(urlToOpen:string)=>any):void;
unregisterOpener(opener:Function):void;
getOpeners():any;
getActivePane(): IPane;
getPanes():any;
saveAll():void;
activateNextPane():any;
activatePreviousPane():any;
paneForUri: (uri:string) => IPane;
saveActivePaneItem():any;
saveActivePaneItemAs():any;
destroyActivePaneItem():any;
destroyActivePane():any;
getActiveEditor():IEditor;
increaseFontSize():void;
decreaseFontSize():void;
resetFontSize():void;
itemOpened(item:any):void;
onPaneItemDestroyed(item:any):void;
destroyed():void;
}
interface IAtomSettings {
appVersion: string;
bootstrapScript: string;
devMode: boolean;
initialPath: string;
pathToOpen: string;
resourcePath: string;
shellLoadTime: number;
windowState:string;
}
interface IAtomState {
mode:string;
packageStates:any;
project:any;
syntax:any;
version:number;
windowDimensions:any;
workspace:any;
}
interface IDeserializerManager {
deserializers:Function;
add:Function;
remove:Function;
deserialize:Function;
get:Function;
}
interface IConfig {
get(keyPath:string):any;
// TBD
}
interface IKeymapManager {
defaultTarget:HTMLElement;
// TBD
}
interface IPackageManager extends Emissary.IEmitter {
packageDirPaths:string[];
loadedPackages:any;
activePackages:any;
packageStates:any;
packageActivators:any[];
getApmPath():string;
getPackageDirPaths():string;
getPackageState(name:string):any;
setPackageState(name:string, state:any):void;
enablePackage(name:string):any;
disablePackage(name:string):any;
activate():void;
registerPackageActivator(activator:any, types:any):void;
activatePackages(packages:any):void;
activatePackage(name:string):void;
deactivatePackages():void;
deactivatePackage(name:string):void;
getActivePackages():any;
getActivePackage(name:string):any;
isPackageActive(name:string):boolean;
unobserveDisabledPackages():void;
observeDisabledPackages():void;
loadPackages():void;
loadPackage(nameOrPath:string):void;
unloadPackages():void;
unloadPackage(name:string):void;
getLoadedPackage(name:string):any;
isPackageLoaded(name:string):boolean;
getLoadedPackages():any;
getLoadedPackagesForTypes(types:any):any[];
resolvePackagePath(name:string):string;
isPackageDisabled(name:string):boolean;
hasAtomEngine(packagePath:string):boolean;
isBundledPackage(name:string):boolean;
getPackageDependencies():any;
getAvailablePackagePaths():any[];
getAvailablePackageNames():any[];
getAvailablePackageMetadata():any[];
}
interface IThemeManager {
// TBD
}
interface IContextMenuManager {
// TBD
}
interface IMenuManager {
// TBD
}
interface IClipboard {
// TBD
}
interface ISyntax {
// TBD
}
interface IWindowEventHandler {
// TBD
}
interface IAtomStatic extends ISerializationStatic<IAtom> {
version: number;
loadSettings: IAtomSettings;
loadOrCreate(mode:string):IAtom;
loadState(mode:any):void;
getStatePath(mode:any):string;
getConfigDirPath():string;
getStorageDirPath():string;
getLoadSettings():IAtomSettings;
getCurrentWindow():IBrowserWindow;
getVersion():string;
isReleasedVersion():boolean;
new(state:IAtomState):IAtom;
}
interface IAtom {
constructor:IAtomStatic;
state:IAtomState;
mode:string;
deserializers:IDeserializerManager;
config: IConfig;
keymaps: IKeymapManager;
keymap: IKeymapManager;
packages: IPackageManager;
themes: IThemeManager;
contextManu: IContextMenuManager;
menu: IMenuManager;
clipboard:IClipboard;
syntax:ISyntax;
windowEventHandler: IWindowEventHandler;
// really exists? start
subscribe:Function;
unsubscribe:Function;
loadTime:number;
workspaceViewParentSelector:string;
project: IProject;
workspaceView: IWorkspaceView;
workspace: IWorkspace;
// really exists? end
initialize:Function;
// registerRepresentationClass:Function;
// registerRepresentationClasses:Function;
setBodyPlatformClass:Function;
getCurrentWindow():IBrowserWindow;
getWindowDimensions:Function;
setWindowDimensions:Function;
restoreWindowDimensions:Function;
storeWindowDimensions:Function;
getLoadSettings:Function;
deserializeProject: Function;
deserializeWorkspaceView:Function;
deserializePackageStates:Function;
deserializeEditorWindow:Function;
startEditorWindow:Function;
unloadEditorWindow:Function;
loadThemes:Function;
watchThemes:Function;
open:Function;
confirm:Function;
showSaveDialog:Function;
showSaveDialogSync:Function;
openDevTools:Function;
toggleDevTools:Function;
executeJavaScriptInDevTools:Function;
reload:Function;
focus:Function;
show:Function;
hide:Function;
setSize:Function;
setPosition:Function;
center:Function;
displayWindow:Function;
close:Function;
exit:Function;
inDevMode:Function;
inSpecMode:Function;
toggleFullScreen:Function;
setFullScreen:Function;
isFullScreen:Function;
getVersion:Function;
isReleasedVersion:Function;
getGitHubAuthTokenName:Function;
setGitHubAuthToken:Function;
getGitHubAuthToken:Function;
getConfigDirPath:Function;
saveSync:Function;
getWindowLoadTime():number;
crashMainProcess:Function;
crashRenderProcess:Function;
beep:Function;
getUserInitScriptPath:Function;
requireUserInitScript:Function;
requireWithGlobals:Function;
}
interface IBufferedNodeProcessStatic {
new (arg:any):IBufferedNodeProcess;
}
interface IBufferedNodeProcess extends IBufferedProcess {
}
interface IBufferedProcessStatic {
new (arg:any):IBufferedProcess;
}
interface IBufferedProcess {
process:Function;
killed:boolean;
bufferStream:Function;
kill:Function;
}
interface IGitStatic {
new(path:any, options:any):IGit;
}
interface IGit {
}
interface IPointStatic {
new (row?:number, column?:number):IPoint;
fromObject(point:IPoint, copy?:boolean):IPoint;
fromObject(object:number[]):IPoint;
fromObject(object:{row:number; col:number;}):IPoint;
min(point1:IPoint, point2:IPoint):IPoint;
min(point1:number[], point2:IPoint):IPoint;
min(point1:{row:number; col:number;}, point2:IPoint):IPoint;
min(point1:IPoint, point2:number[]):IPoint;
min(point1:number[], point2:number[]):IPoint;
min(point1:{row:number; col:number;}, point2:number[]):IPoint;
min(point1:IPoint, point2:{row:number; col:number;}):IPoint;
min(point1:number[], point2:{row:number; col:number;}):IPoint;
min(point1:{row:number; col:number;}, point2:{row:number; col: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; col:number;}):IPoint;
add(other:IPoint):IPoint;
add(other:number[]):IPoint;
add(other:{row:number; col: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; col:number;}; end: IPoint}):IRange;
fromObject(object:{start: IPoint; end: number[]}):IRange;
fromObject(object:{start: number[]; end: number[]}):IRange;
fromObject(object:{start: {row:number; col:number;}; end: number[]}):IRange;
fromObject(object:{start: IPoint; end: {row:number; col:number;}}):IRange;
fromObject(object:{start: number[]; end: {row:number; col:number;}}):IRange;
fromObject(object:{start: {row:number; col:number;}; end: {row:number; col:number;}}):IRange;
fromText(point:IPoint, text:string):IRange;
fromText(point:number[], text:string):IRange;
fromText(point:{row:number; col: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; col:number;}, rowDelta:number, columnDelta:number):IRange;
new(point1:IPoint, point2:IPoint):IRange;
new(point1:number[], point2:IPoint):IRange;
new(point1:{row:number; col:number;}, point2:IPoint):IRange;
new(point1:IPoint, point2:number[]):IRange;
new(point1:number[], point2:number[]):IRange;
new(point1:{row:number; col:number;}, point2:number[]):IRange;
new(point1:IPoint, point2:{row:number; col:number;}):IRange;
new(point1:number[], point2:{row:number; col:number;}):IRange;
new(point1:{row:number; col:number;}, point2:{row:number; col: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; col:number;}; end: IPoint}):number;
compare(object:{start: IPoint; end: number[]}):number;
compare(object:{start: number[]; end: number[]}):number;
compare(object:{start: {row:number; col:number;}; end: number[]}):number;
compare(object:{start: IPoint; end: {row:number; col:number;}}):number;
compare(object:{start: number[]; end: {row:number; col:number;}}):number;
compare(object:{start: {row:number; col:number;}; end: {row:number; col: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; col:number;}; end: IPoint}):IRange;
add(object:{start: IPoint; end: number[]}):IRange;
add(object:{start: number[]; end: number[]}):IRange;
add(object:{start: {row:number; col:number;}; end: number[]}):IRange;
add(object:{start: IPoint; end: {row:number; col:number;}}):IRange;
add(object:{start: number[]; end: {row:number; col:number;}}):IRange;
add(object:{start: {row:number; col:number;}; end: {row:number; col: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; col: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 ITokenizedBuffer {
// TBD
}
interface ITokenizedLine {
// TBD
}
interface IToken {
// TBD
}
interface IFoldStatic {
new (displayBuffer:IDisplayBuffer, marker:IMarker):IFold;
// TBD
}
interface IFold {
id:number;
displayBuffer:IDisplayBuffer;
marker:IMarker;
// TBD
}
interface IDisplayBufferMarkerStatic {
new (_arg:{bufferMarker:IMarker; displayBuffer: IDisplayBuffer}):IDisplayBufferMarker;
}
interface IDisplayBufferMarker extends Emissary.IEmitter, Emissary.ISubscriber {
constructor:IDisplayBufferMarkerStatic;
id: number;
bufferMarkerSubscription:any;
oldHeadBufferPosition:IPoint;
oldHeadScreenPosition:IPoint;
oldTailBufferPosition:IPoint;
oldTailScreenPosition:IPoint;
wasValid:boolean;
bufferMarker: IMarker;
displayBuffer: IDisplayBuffer;
globalPauseCount:number;
globalQueuedEvents:any;
subscriptions:ISubscription[];
subscriptionsByObject:any; // WeakMap
copy(attributes?:any /* maybe IMarker */):IDisplayBufferMarker;
getScreenRange():IRange;
setScreenRange(screenRange:any, options:any):any;
getBufferRange():IRange;
setBufferRange(bufferRange:any, options:any):any;
getPixelRange():any;
getHeadScreenPosition():IPoint;
setHeadScreenPosition(screenPosition:any, options:any):any;
getHeadBufferPosition():IPoint;
setHeadBufferPosition(bufferPosition:any):any;
getTailScreenPosition():IPoint;
setTailScreenPosition(screenPosition:any, options:any):any;
getTailBufferPosition():IPoint;
setTailBufferPosition(bufferPosition:any):any;
plantTail():boolean;
clearTail():boolean;
hasTail():boolean;
isReversed():boolean;
isValid():boolean;
isDestroyed():boolean;
getAttributes():any;
setAttributes(attributes:any):any;
matchesAttributes(attributes:any):any;
destroy():any;
isEqual(other:IDisplayBufferMarker):boolean;
compare(other:IDisplayBufferMarker):boolean;
inspect():string;
destroyed():any;
notifyObservers(_arg:any):any;
}
interface ITransaction {
// TBD
}
interface IMarker extends Emissary.IEmitter {
// Serializable.includeInto(Editor);
// Delegator.includeInto(Editor);
// TBD
}
interface ITaskStatic {
new(taskPath:any):ITask;
}
interface ITask {
// TBD
}
}
declare var atom:AtomCore.IAtom;
declare module "atom" {
import spacePen = require("space-pen");
var $:typeof spacePen.$;
var $$$:typeof spacePen.$$$;
var BufferedNodeProcess:AtomCore.IBufferedNodeProcessStatic;
var BufferedProcess:AtomCore.IBufferedProcessStatic;
var Git:AtomCore.IGitStatic;
var Point:AtomCore.IPointStatic;
var Range:AtomCore.IRangeStatic;
class View extends spacePen.View implements Emissary.ISubscriber {
// Subscriber.includeInto(spacePen.View);
// inherit from Subscriber
subscribeWith(eventEmitter:any, methodName:string, args:any):any;
addSubscription(subscription:any):any;
subscribe(eventEmitterOrSubscription:any, ...args:any[]):any;
subscribeToCommand(eventEmitter:any, ...args:any[]):any;
unsubscribe(object?:any):any;
}
class EditorView extends View {
static characterWidthCache:any;
static configDefaults:any;
static nextEditorId:number;
static content(params:any):void;
static classes(_arg?:{mini?:any}):string;
vScrollMargin:number;
hScrollMargin:number;
lineHeight:any;
charWidth:any;
charHeight:any;
cursorViews:any[];
selectionViews:any[];
lineCache:any[];
isFocused:any;
editor:AtomCore.IEditor;
attached:any;
lineOverdraw:number;
pendingChanges:any[];
newCursors:any[];
newSelections:any[];
redrawOnReattach:any;
bottomPaddingInLines:number;
id:number;
initialize(editorOrOptions:AtomCore.IEditor):void; // return type are same as editor method.
initialize(editorOrOptions?:{editor: AtomCore.IEditor; mini:any; placeholderText:any}):void;
initialize(editorOrOptions:{}):void; // compatible for spacePen.View
bindKeys():void;
getEditor():AtomCore.IEditor;
getText():string;
setText(text:string):void;
insertText(text:string, options?:any):AtomCore.IRange[];
setHeightInLines(heightInLines:number):number;
setWidthInChars(widthInChars:number):number;
pageDown():void;
pageUp():void;
getPageRows():number;
setShowInvisibles(showInvisibles:boolean):void;
setInvisibles(invisibles:{ eol:string; space: string; tab: string; cr: string; }):void;
setShowIndentGuide(showIndentGuide:boolean):void;
setPlaceholderText(placeholderText:string):void;
getPlaceholderText():string;
checkoutHead():boolean;
configure():AtomCore.ISubscription;
handleEvents():void;
handleInputEvents():void;
bringHiddenInputIntoView():JQuery;
selectOnMousemoveUntilMouseup():any;
afterAttach(onDom:any):any;
edit(editor:AtomCore.IEditor):any;
getModel():AtomCore.IEditor;
setModel(editor:AtomCore.IEditor):any;
showBufferConflictAlert(editor:AtomCore.IEditor):any;
scrollTop(scrollTop:number, options?:any):any;
scrollBottom(scrollBottom?:number):any;
scrollLeft(scrollLeft?:number):number;
scrollRight(scrollRight?:number):any;
scrollToBottom():any;
scrollToCursorPosition():any;
scrollToBufferPosition(bufferPosition:any, options:any):any;
scrollToScreenPosition(screenPosition:any, options:any):any;
scrollToPixelPosition(pixelPosition:any, options:any):any;
highlightFoldsContainingBufferRange(bufferRange:any):any;
saveScrollPositionForEditor():any;
toggleSoftTabs():any;
toggleSoftWrap():any;
calculateWidthInChars():number;
calculateHeightInLines():number;
getScrollbarWidth():number;
setSoftWrap(softWrap:boolean):any;
setFontSize(fontSize:number):any;
getFontSize():number;
setFontFamily(fontFamily?:string):any;
getFontFamily():string;
setLineHeight(lineHeight:number):any;
redraw():any;
splitLeft():any;
splitRight():any;
splitUp():any;
splitDown():any;
getPane():any; // return type are PaneView
remove(selector:any, keepData:any):any;
beforeRemove():any;
getCursorView(index?:number):any; // return type are CursorView
getCursorViews():any[]; // return type are CursorView[]
addCursorView(cursor:any, options:any):any; // return type are CursorView
removeCursorView(cursorView:any):any;
getSelectionView(index?:number):any; // return type are SelectionView
getSelectionViews():any[]; // return type are SelectionView[]
addSelectionView(selection:any):any;
removeSelectionView(selectionView:any):any;
removeAllCursorAndSelectionViews():any[];
appendToLinesView(view:any):any;
scrollVertically(pixelPosition:any, _arg:any):any;
scrollHorizontally(pixelPosition:any):any;
calculateDimensions():number;
recalculateDimensions():any;
updateLayerDimensions():any;
isHidden():boolean;
clearRenderedLines():void;
resetDisplay():any;
requestDisplayUpdate():any;
updateDisplay(options?:any):any;
updateCursorViews():any;
shouldUpdateCursor(cursorView:any):any;
updateSelectionViews():any[];
shouldUpdateSelection(selectionView:any):any;
syncCursorAnimations():any[];
autoscroll(suppressAutoscroll?:any):any[];
updatePlaceholderText():any;
updateRenderedLines(scrollViewWidth:any):any;
computeSurroundingEmptyLineChanges(change:any):any;
computeIntactRanges(renderFrom:any, renderTo:any):any;
truncateIntactRanges(intactRanges:any, renderFrom:any, renderTo:any):any;
clearDirtyRanges(intactRanges:any):any;
clearLine(lineElement:any):any;
fillDirtyRanges(intactRanges:any, renderFrom:any, renderTo:any):any;
updatePaddingOfRenderedLines():any;
getFirstVisibleScreenRow():number;
getLastVisibleScreenRow():number;
isScreenRowVisible():boolean;
handleScreenLinesChange(change:any):any;
buildLineElementForScreenRow(screenRow:any):any;
buildLineElementsForScreenRows(startRow:any, endRow:any):any;
htmlForScreenRows(startRow:any, endRow:any):any;
htmlForScreenLine(screenLine:any, screenRow:any):any;
buildIndentation(screenRow:any, editor:any):any;
buildHtmlEndOfLineInvisibles(screenLine:any):any;
getEndOfLineInvisibles(screenLine:any):any;
lineElementForScreenRow(screenRow:any):any;
toggleLineCommentsInSelection():any;
pixelPositionForBufferPosition(position:any):any;
pixelPositionForScreenPosition(position:any):any;
positionLeftForLineAndColumn(lineElement:any, screenRow:any, screenColumn:any):any;
measureToColumn(lineElement:any, tokenizedLine:any, screenColumn:any):any;
getCharacterWidthCache(scopes:any, char:any):any;
setCharacterWidthCache(scopes:any, char:any, val:any):any;
clearCharacterWidthCache():any;
pixelOffsetForScreenPosition(position:any):any;
screenPositionFromMouseEvent(e:any):any;
highlightCursorLine():any;
copyPathToClipboard():any;
buildLineHtml(_arg:any):any;
updateScopeStack(line:any, scopeStack:any, desiredScopes:any):any;
pushScope(line:any, scopeStack:any, scope:any):any;
popScope(line:any, scopeStack:any):any;
buildEmptyLineHtml(showIndentGuide:any, eolInvisibles:any, htmlEolInvisibles:any, indentation:any, editor:any, mini:any):any;
replaceSelectedText(replaceFn:(str:string)=>string):any;
consolidateSelections(e:any):any;
logCursorScope():any;
logScreenLines(start:any, end:any):any;
logRenderedLines():any;
}
class ScrollView extends View {
// TBD
}
class SelectListView extends View {
// TBD
}
class WorkspaceView extends View {
// TBD
}
var Task:AtomCore.ITaskStatic;
var Workspace:AtomCore.IWorkspaceStatic;
}