From 4a3925d6a998caf5397c819ef052d62414ca1c27 Mon Sep 17 00:00:00 2001 From: vvakame Date: Sat, 10 May 2014 00:10:31 +0900 Subject: [PATCH 01/12] improve atom/atom.d.ts and emissary/emissary.d.ts --- atom/atom.d.ts | 108 ++++++++++++++++++++++++++++++++--------- emissary/emissary.d.ts | 18 +++++-- 2 files changed, 100 insertions(+), 26 deletions(-) diff --git a/atom/atom.d.ts b/atom/atom.d.ts index 1dd2694df..ad767f34d 100644 --- a/atom/atom.d.ts +++ b/atom/atom.d.ts @@ -23,23 +23,83 @@ interface Window { 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; + interface IWorkspaceViewStatic { + new ():IWorkspaceView; - command: Function; + version: number; + configDefaults:any; + content():any; + } + + interface IWorkspaceView extends View { + // Delegator.includeInto(WorkspaceView); + + // delegate to model property's property + fullScreen:boolean; + + // delegate to model property's method + open(uri:string, options:any):Q.Promise; + openSync(uri:string, options:any):any; + saveActivePaneItem():any; + saveActivePaneItemAs():any; + saveAll():void; + destroyActivePaneItem():any; + destroyActivePane():any; + increaseFontSize():void; + decreaseFontSize():void; + + // own property & methods + initialize(model:IWorkspace):any; + initialize(view:View, args:any):void; // do not use + model:IWorkspace; + panes: IPaneContainerView; + getModel():IWorkspace; + installShellCommands():any; + handleFocus():any; + afterAttach(onDom?:any):any; + confirmClose():boolean; + updateTitle():any; + setTitle(title:string):any; + getEditorViews():any[]; // atom.EditorView + prependToTop(element:any):any; + appendToTop(element:any):any; + prependToBottom(element:any):any; + appendToBottom(element:any):any; + prependToLeft(element:any):any; + appendToLeft(element:any):any; + prependToRight(element:any):any; + appendToRight(element:any):any; + getActivePaneView():IPaneView; + getActiveView():View; + focusPreviousPaneView():any; + focusNextPaneView():any; + focusPaneViewAbove():any; + focusPaneViewBelow():any; + focusPaneViewOnLeft():any; + focusPaneViewOnRight():any; + eachPaneView(callback:(paneView:IPaneView)=>any):{ off():any; }; + getPaneViews():IPaneView[]; + eachEditorView(callback:(editorView:any /* EditorView */)=>any):{ off():any; }; + beforeRemove():any; + + command(eventName:string, handler:Function):any; + command(eventName:string, selector:Function, handler:Function):any; + command(eventName:string, options:any, handler:Function):any; + command(eventName:string, selector:Function, options:any, handler:Function):any; } interface IPanes { // TBD } + interface IPaneView { + // TBD + } + + interface IPaneContainerView { + // TBD + } + interface ITreeView { // TBD } @@ -74,7 +134,7 @@ declare module AtomCore { screenLines:ITokenizedLine[]; rowMap:any; // return type are RowMap longestScreenRow:number; - subscriptions:ISubscription[]; + subscriptions:Emissary.ISubscription[]; subscriptionsByObject:any; // return type are WeakMap behaviors:any; subscriptionCounts:any; @@ -335,10 +395,6 @@ declare module AtomCore { screenRangeChanged():any; } - interface ISubscription { - // TBD - } - interface IEditor { // Serializable.includeInto(Editor); // Delegator.includeInto(Editor); @@ -362,7 +418,7 @@ declare module AtomCore { lastOpened: number; subscriptionCounts: any; subscriptionsByObject: any; /* WeakMap */ - subscriptions: ISubscription[]; + subscriptions: Emissary.ISubscription[]; serializeParams():{id:number; softTabs:boolean; scrollTop:number; scrollLeft:number; displayBuffer:any;}; deserializeParams(params:any):any; @@ -568,7 +624,7 @@ declare module AtomCore { expandSelectionsBackward(fn:(selection:ISelection)=>any):ISelection[]; finalizeSelections():boolean[]; mergeIntersectingSelections():any; - preserveCursorPositionOnBufferReload():ISubscription; + preserveCursorPositionOnBufferReload():Emissary.ISubscription; getGrammar(): IGrammar; setGrammar(grammer:IGrammar):void; reloadGrammar():any; @@ -1134,7 +1190,7 @@ declare module AtomCore { globalPauseCount:number; globalQueuedEvents:any; - subscriptions:ISubscription[]; + subscriptions:Emissary.ISubscription[]; subscriptionsByObject:any; // WeakMap copy(attributes?:any /* maybe IMarker */):IDisplayBufferMarker; @@ -1246,6 +1302,16 @@ declare module "atom" { id:number; + gutter:any/* GutterView */; + overlayer:JQuery; + scrollView:JQuery; + renderedLines:JQuery; + underlayer:JQuery; + hiddenInput:JQuery; + verticalScrollbar:JQuery; + verticalScrollbarContent:JQuery; + + constructor(editor:AtomCore.IEditor); initialize(editorOrOptions:AtomCore.IEditor):void; // return type are same as editor method. initialize(editorOrOptions?:{editor: AtomCore.IEditor; mini:any; placeholderText:any}):void; @@ -1284,7 +1350,7 @@ declare module "atom" { checkoutHead():boolean; - configure():AtomCore.ISubscription; + configure():Emissary.ISubscription; handleEvents():void; @@ -1511,9 +1577,7 @@ declare module "atom" { // TBD } - class WorkspaceView extends View { - // TBD - } + var WorkspaceView:AtomCore.IWorkspaceViewStatic; var Task:AtomCore.ITaskStatic; var Workspace:AtomCore.IWorkspaceStatic; diff --git a/emissary/emissary.d.ts b/emissary/emissary.d.ts index 4c98193e0..cbc484a3d 100644 --- a/emissary/emissary.d.ts +++ b/emissary/emissary.d.ts @@ -30,16 +30,26 @@ declare module Emissary { } interface ISubscriber { - subscribeWith(eventEmitter:any, methodName:string, args:any):any; + subscribeWith(eventEmitter:any, methodName:string, args:any):ISubscription; - addSubscription(subscription:any):any; + addSubscription(subscription:any):ISubscription; - subscribe(eventEmitterOrSubscription:any, ...args:any[]):any; + subscribe(eventEmitterOrSubscription:any, ...args:any[]):ISubscription; - subscribeToCommand(eventEmitter:any, ...args:any[]):any; + subscribeToCommand(eventEmitter:any, ...args:any[]):ISubscription; unsubscribe(object?:any):any; } + + interface ISubscriptionStatic { + new (emitter: any, eventNames:string, handler:Function):ISubscription; + } + + interface ISubscription extends IEmitter { + cancelled:boolean; + + off():any; + } } declare module "emissary" { From 8e50f42c64ac6ffa9726f9522521152b487565fe Mon Sep 17 00:00:00 2001 From: vvakame Date: Sat, 10 May 2014 13:26:12 +0900 Subject: [PATCH 02/12] improve atom/atom.d.ts and add text-buffer/text-buffer.d.ts --- CONTRIBUTORS.md | 1 + atom/atom.d.ts | 372 +++++++++++-------------------- text-buffer/text-buffer-tests.ts | 19 ++ text-buffer/text-buffer.d.ts | 298 +++++++++++++++++++++++++ 4 files changed, 445 insertions(+), 245 deletions(-) create mode 100644 text-buffer/text-buffer-tests.ts create mode 100644 text-buffer/text-buffer.d.ts diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 426449ac0..f17b7788d 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -281,6 +281,7 @@ All definitions files include a header with the author and editors, so at some p * [TV4](https://github.com/geraintluff/tv4) (by [Bart van der Schoor](https://github.com/Bartvds)) * [Tags Manager](http://welldonethings.com/tags/manager) (by [Vincent Bortone](https://github.com/vbortone)) * [Teechart](http://www.steema.com) (by [Steema](http://www.steema.com)) +* [text-buffer](https://github.com/atom/text-buffer) (by [vvakame](https://github.com/vvakame)) * [three.js](http://mrdoob.github.com/three.js/) (by [Kon](http://phyzkit.net/)) * [Toastr](https://github.com/CodeSeven/toastr) (by [Boris Yankov](https://github.com/borisyankov)) * [trunk8](https://github.com/rviscomi/trunk8) (by [Blake Niemyjski](https://github.com/niemyjski)) diff --git a/atom/atom.d.ts b/atom/atom.d.ts index ad767f34d..7fead9efd 100644 --- a/atom/atom.d.ts +++ b/atom/atom.d.ts @@ -7,6 +7,7 @@ /// /// /// +/// // 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"). @@ -104,11 +105,42 @@ declare module AtomCore { // TBD } - interface ICommandPanel { - // TBD + interface IGutterViewStatic { + new(): IGutterView; + content():any; } - interface ITextBuffer { + interface IGutterView extends View { + firstScreenRow:any; + lastScreenRow:any; + initialize():void; + initialize(view:View, args:any):void; // do not use + afterAttach(onDom?:any):any; + beforeRemove():any; + handleMouseEvents(e:JQueryMouseEventObject):any; + getEditorView():any /* EditorView */ + ; + getEditor():IEditor; + getLineNumberElements():HTMLCollection; + getLineNumberElementsForClass(klass:string):NodeList; + getLineNumberElement(bufferRow:number):NodeList; + addClassToAllLines(klass:string):boolean; + removeClassFromAllLines(klass:string):boolean; + addClassToLine(bufferRow:number, klass:string):boolean; + removeClassFromLine(bufferRow:number, klass:string):boolean; + updateLineNumbers(changes:any[], startScreenRow?:number, endScreenRow?:number):any; + prependLineElements(lineElements:any):void; + appendLineElements(lineElements:any):void; + removeLineElements(numberOfElements:number):void; + buildLineElements(startScreenRow:any, endScreenRow:any):any; + buildLineElementsHtml(startScreenRow:any, endScreenRow:any):any; + updateFoldableClasses(changes:any[]):any; + removeLineHighlights():void; + addLineHighlight(row:number, emptySelection?:boolean):any; + highlightLines():boolean; + } + + interface ICommandPanel { // TBD } @@ -126,7 +158,7 @@ declare module AtomCore { declaredPropertyValues:any; tokenizedBuffer: ITokenizedBuffer; - buffer: ITextBuffer; + buffer: TextBuffer.ITextBuffer; charWidthsByScope:any; markers:{ [index:number]:IDisplayBufferMarker; }; foldsByMarkerId:any; @@ -183,7 +215,7 @@ declare module AtomCore { scrollToScreenRange(screenRange:any):any; scrollToScreenPosition(screenPosition:any):any; scrollToBufferPosition(bufferPosition:any):any; - pixelRectForScreenRange(screenRange:IRange):any; + pixelRectForScreenRange(screenRange:TextBuffer.IRange):any; getTabLength():number; setTabLength(tabLength:number):any; setSoftWrap(softWrap:boolean):boolean; @@ -211,59 +243,59 @@ declare module AtomCore { lastScreenRowForBufferRow(bufferRow:number):number; bufferRowForScreenRow(screenRow:number):number; - screenRangeForBufferRange(bufferRange:IPoint[]):IRange; + screenRangeForBufferRange(bufferRange:TextBuffer.IPoint[]):TextBuffer.IRange; - screenRangeForBufferRange(bufferRange:IRange):IRange; + screenRangeForBufferRange(bufferRange:TextBuffer.IRange):TextBuffer.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: TextBuffer.IPoint; end: TextBuffer.IPoint}):TextBuffer.IRange; + screenRangeForBufferRange(bufferRange:{start: number[]; end: TextBuffer.IPoint}):TextBuffer.IRange; + screenRangeForBufferRange(bufferRange:{start: {row:number; col:number;}; end: TextBuffer.IPoint}):TextBuffer.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: TextBuffer.IPoint; end: number[]}):TextBuffer.IRange; + screenRangeForBufferRange(bufferRange:{start: number[]; end: number[]}):TextBuffer.IRange; + screenRangeForBufferRange(bufferRange:{start: {row:number; col:number;}; end: number[]}):TextBuffer.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; + screenRangeForBufferRange(bufferRange:{start: TextBuffer.IPoint; end: {row:number; col:number;}}):TextBuffer.IRange; + screenRangeForBufferRange(bufferRange:{start: number[]; end: {row:number; col:number;}}):TextBuffer.IRange; + screenRangeForBufferRange(bufferRange:{start: {row:number; col:number;}; end: {row:number; col:number;}}):TextBuffer.IRange; - bufferRangeForScreenRange(screenRange:IPoint[]):IRange; + bufferRangeForScreenRange(screenRange:TextBuffer.IPoint[]):TextBuffer.IRange; - bufferRangeForScreenRange(screenRange:IRange):IRange; + bufferRangeForScreenRange(screenRange:TextBuffer.IRange):TextBuffer.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: TextBuffer.IPoint; end: TextBuffer.IPoint}):TextBuffer.IRange; + bufferRangeForScreenRange(screenRange:{start: number[]; end: TextBuffer.IPoint}):TextBuffer.IRange; + bufferRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: TextBuffer.IPoint}):TextBuffer.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: TextBuffer.IPoint; end: number[]}):TextBuffer.IRange; + bufferRangeForScreenRange(screenRange:{start: number[]; end: number[]}):TextBuffer.IRange; + bufferRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: number[]}):TextBuffer.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; + bufferRangeForScreenRange(screenRange:{start: TextBuffer.IPoint; end: {row:number; col:number;}}):TextBuffer.IRange; + bufferRangeForScreenRange(screenRange:{start: number[]; end: {row:number; col:number;}}):TextBuffer.IRange; + bufferRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: {row:number; col:number;}}):TextBuffer.IRange; - pixelRangeForScreenRange(screenRange:IPoint[], clip?:boolean):IRange; + pixelRangeForScreenRange(screenRange:TextBuffer.IPoint[], clip?:boolean):TextBuffer.IRange; - pixelRangeForScreenRange(screenRange:IRange, clip?:boolean):IRange; + pixelRangeForScreenRange(screenRange:TextBuffer.IRange, clip?:boolean):TextBuffer.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: TextBuffer.IPoint; end: TextBuffer.IPoint}, clip?:boolean):TextBuffer.IRange; + pixelRangeForScreenRange(screenRange:{start: number[]; end: TextBuffer.IPoint}, clip?:boolean):TextBuffer.IRange; + pixelRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: TextBuffer.IPoint}, clip?:boolean):TextBuffer.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: TextBuffer.IPoint; end: number[]}, clip?:boolean):TextBuffer.IRange; + pixelRangeForScreenRange(screenRange:{start: number[]; end: number[]}, clip?:boolean):TextBuffer.IRange; + pixelRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: number[]}, clip?:boolean):TextBuffer.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; + pixelRangeForScreenRange(screenRange:{start: TextBuffer.IPoint; end: {row:number; col:number;}}, clip?:boolean):TextBuffer.IRange; + pixelRangeForScreenRange(screenRange:{start: number[]; end: {row:number; col:number;}}, clip?:boolean):TextBuffer.IRange; + pixelRangeForScreenRange(screenRange:{start: {row:number; col:number;}; end: {row:number; col:number;}}, clip?:boolean):TextBuffer.IRange; - pixelPositionForScreenPosition(screenPosition:IPoint, clip?:boolean):IPoint; - pixelPositionForScreenPosition(screenPosition:number[], clip?:boolean):IPoint; - pixelPositionForScreenPosition(screenPosition:{row:number; col:number;}, clip?:boolean):IPoint; + pixelPositionForScreenPosition(screenPosition:TextBuffer.IPoint, clip?:boolean):TextBuffer.IPoint; + pixelPositionForScreenPosition(screenPosition:number[], clip?:boolean):TextBuffer.IPoint; + pixelPositionForScreenPosition(screenPosition:{row:number; col:number;}, clip?:boolean):TextBuffer.IPoint; - screenPositionForPixelPosition(pixelPosition:any):IPoint; + screenPositionForPixelPosition(pixelPosition:any):TextBuffer.IPoint; pixelPositionForBufferPosition(bufferPosition:any):any; getLineCount():number; @@ -279,14 +311,14 @@ declare module AtomCore { reloadGrammar():any; clipScreenPosition(screenPosition:any, options:any):any; findWrapColumn(line:any, softWrapColumn:any):any; - rangeForAllLines():IRange; + rangeForAllLines():TextBuffer.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; + markScreenRange(range:TextBuffer.IRange, ...args:any[]):IDisplayBufferMarker; + markBufferRange(range:TextBuffer.IRange, options?:any):IDisplayBufferMarker; + markScreenPosition(screenPosition:TextBuffer.IPoint, options?:any):IDisplayBufferMarker; + markBufferPosition(bufferPosition:TextBuffer.IPoint, options?:any):IDisplayBufferMarker; destroyMarker(id:number):any; findMarker(params?:any):IDisplayBufferMarker; findMarkers(params?:any):IDisplayBufferMarker[]; @@ -333,17 +365,17 @@ declare module AtomCore { isEmpty():boolean; isReversed():boolean; isSingleScreenLine():boolean; - getScreenRange():IRange; + getScreenRange():TextBuffer.IRange; setScreenRange(screenRange:any, options:any):any; - getBufferRange():IRange; + getBufferRange():TextBuffer.IRange; setBufferRange(bufferRange:any, options:any):any; getBufferRowRange():number[]; autoscroll():void; getText():string; clear():boolean; - selectWord():IRange; + selectWord():TextBuffer.IRange; expandOverWord():any; - selectLine(row?:any):IRange; + selectLine(row?:any):TextBuffer.IRange; expandOverLine():boolean; selectToScreenPosition(position:any):any; selectToBufferPosition(position:any):any; @@ -368,7 +400,7 @@ declare module AtomCore { insertText(text:string, options?:any):any; normalizeIndents(text:string, indentBasis:number):any; indent(_arg?:any):any; - indentSelectedRows():IRange[]; + indentSelectedRows():TextBuffer.IRange[]; setIndentationForLine(line:string, indentLevel:number):any; backspace():any; backspaceToBeginningOfWord():any; @@ -402,7 +434,7 @@ declare module AtomCore { deserializing:boolean; callDisplayBufferCreatedHook:boolean; registerEditor:boolean; - buffer:ITextBuffer; + buffer:TextBuffer.ITextBuffer; languageMode: ILanguageMode; cursors:ICursor[]; selections: ISelection[]; @@ -456,14 +488,14 @@ declare module AtomCore { setText(text:any):void; getTextInRange(range:any):any; getLineCount():number; - getBuffer():ITextBuffer; + getBuffer():TextBuffer.ITextBuffer; getUri():string; isBufferRowBlank(bufferRow:any):boolean; isBufferRowCommented(bufferRow:any):void; nextNonBlankBufferRow(bufferRow:any):void; - getEofBufferPosition():IPoint; + getEofBufferPosition():TextBuffer.IPoint; getLastBufferRow():number; - bufferRangeForBufferRow(row:any, options:any):IRange; + bufferRangeForBufferRow(row:any, options:any):TextBuffer.IRange; lineForBufferRow(row:number):string; lineLengthForBufferRow(row:number):number; scan():any; @@ -471,11 +503,11 @@ declare module AtomCore { 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; + screenPositionForBufferPosition(bufferPosition:any, options?:any):TextBuffer.IPoint; + bufferPositionForScreenPosition(screenPosition:any, options?:any):TextBuffer.IPoint; + screenRangeForBufferRange(bufferRange:any):TextBuffer.IRange; + bufferRangeForScreenRange(screenRange:any):TextBuffer.IRange; + clipScreenPosition(screenPosition:any, options:any):TextBuffer.IRange; lineForScreenRow(row:any):ITokenizedLine; linesForScreenRows(start?:any, end?:any):ITokenizedLine[]; getScreenLineCount():number; @@ -487,9 +519,9 @@ declare module AtomCore { bufferRangeForScopeAtCursor(selector:string):any; tokenForBufferPosition(bufferPosition:any):IToken; getCursorScopes():string[]; - insertText(text:string, options?:any):IRange[]; - insertNewline():IRange[]; - insertNewlineBelow():IRange[]; + insertText(text:string, options?:any):TextBuffer.IRange[]; + insertNewline():TextBuffer.IRange[]; + insertNewlineBelow():TextBuffer.IRange[]; insertNewlineAbove():any; indent(options?:any):any; backspace():any[]; @@ -497,16 +529,16 @@ declare module AtomCore { backspaceToBeginningOfLine():any[]; delete():any[]; deleteToEndOfWord():any[]; - deleteLine():IRange[]; - indentSelectedRows():IRange[][]; - outdentSelectedRows():IRange[][]; - toggleLineCommentsInSelection():IRange[]; - autoIndentSelectedRows():IRange[][]; + deleteLine():TextBuffer.IRange[]; + indentSelectedRows():TextBuffer.IRange[][]; + outdentSelectedRows():TextBuffer.IRange[][]; + toggleLineCommentsInSelection():TextBuffer.IRange[]; + autoIndentSelectedRows():TextBuffer.IRange[][]; normalizeTabsInBufferRange(bufferRange:any):any; cutToEndOfLine():boolean[]; cutSelectedText():boolean[]; copySelectedText():boolean[]; - pasteText(options?:any):IRange[]; + pasteText(options?:any):TextBuffer.IRange[]; undo():any[]; redo():any[]; foldCurrentRow():any; @@ -564,17 +596,17 @@ declare module AtomCore { getLastSelectionInBuffer():ISelection; selectionIntersectsBufferRange(bufferRange:any):any; setCursorScreenPosition(position:any, options:any):any; - getCursorScreenPosition():IPoint; + getCursorScreenPosition():TextBuffer.IPoint; getCursorScreenRow():number; setCursorBufferPosition(position:any, options:any):any; - getCursorBufferPosition():IPoint; - getSelectedScreenRange():IRange; - getSelectedBufferRange():IRange; - getSelectedBufferRanges():IRange[]; + getCursorBufferPosition():TextBuffer.IPoint; + getSelectedScreenRange():TextBuffer.IRange; + getSelectedBufferRange():TextBuffer.IRange; + getSelectedBufferRanges():TextBuffer.IRange[]; getSelectedText():string; - getTextInBufferRange(range:IRange):string; - setTextInBufferRange(range:IRange, text:string):any; - getCurrentParagraphBufferRange():IRange; + getTextInBufferRange(range:TextBuffer.IRange):string; + setTextInBufferRange(range:TextBuffer.IRange, text:string):any; + getCurrentParagraphBufferRange():TextBuffer.IRange; getWordUnderCursor(options?:any):string; moveCursorUp(lineCount?:number):void; moveCursorDown(lineCount?:number):void; @@ -593,7 +625,7 @@ declare module AtomCore { moveCursorToPreviousWordBoundary():void; moveCursorToNextWordBoundary():void; moveCursors(fn:(cursor:ICursor)=>any):any; - selectToScreenPosition(position:IPoint):any; + selectToScreenPosition(position:TextBuffer.IPoint):any; selectRight():ISelection[]; selectLeft():ISelection[]; selectUp(rowCount?:number):ISelection[]; @@ -610,7 +642,7 @@ declare module AtomCore { addSelectionBelow():ISelection[]; addSelectionAbove():ISelection[]; splitSelectionsIntoLines():any[]; - transpose():IRange[]; + transpose():TextBuffer.IRange[]; upperCase():boolean[]; lowerCase():boolean[]; joinLines():any[]; @@ -993,157 +1025,6 @@ declare module AtomCore { 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 } @@ -1179,10 +1060,10 @@ declare module AtomCore { id: number; bufferMarkerSubscription:any; - oldHeadBufferPosition:IPoint; - oldHeadScreenPosition:IPoint; - oldTailBufferPosition:IPoint; - oldTailScreenPosition:IPoint; + oldHeadBufferPosition:TextBuffer.IPoint; + oldHeadScreenPosition:TextBuffer.IPoint; + oldTailBufferPosition:TextBuffer.IPoint; + oldTailScreenPosition:TextBuffer.IPoint; wasValid:boolean; bufferMarker: IMarker; @@ -1194,18 +1075,18 @@ declare module AtomCore { subscriptionsByObject:any; // WeakMap copy(attributes?:any /* maybe IMarker */):IDisplayBufferMarker; - getScreenRange():IRange; + getScreenRange():TextBuffer.IRange; setScreenRange(screenRange:any, options:any):any; - getBufferRange():IRange; + getBufferRange():TextBuffer.IRange; setBufferRange(bufferRange:any, options:any):any; getPixelRange():any; - getHeadScreenPosition():IPoint; + getHeadScreenPosition():TextBuffer.IPoint; setHeadScreenPosition(screenPosition:any, options:any):any; - getHeadBufferPosition():IPoint; + getHeadBufferPosition():TextBuffer.IPoint; setHeadBufferPosition(bufferPosition:any):any; - getTailScreenPosition():IPoint; + getTailScreenPosition():TextBuffer.IPoint; setTailScreenPosition(screenPosition:any, options:any):any; - getTailBufferPosition():IPoint; + getTailBufferPosition():TextBuffer.IPoint; setTailBufferPosition(bufferPosition:any):any; plantTail():boolean; clearTail():boolean; @@ -1255,8 +1136,8 @@ declare module "atom" { var BufferedNodeProcess:AtomCore.IBufferedNodeProcessStatic; var BufferedProcess:AtomCore.IBufferedProcessStatic; var Git:AtomCore.IGitStatic; - var Point:AtomCore.IPointStatic; - var Range:AtomCore.IRangeStatic; + var Point:TextBuffer.IPointStatic; + var Range:TextBuffer.IRangeStatic; class View extends spacePen.View implements Emissary.ISubscriber { // Subscriber.includeInto(spacePen.View); @@ -1299,10 +1180,11 @@ declare module "atom" { newSelections:any[]; redrawOnReattach:any; bottomPaddingInLines:number; + active:boolean; id:number; - gutter:any/* GutterView */; + gutter:AtomCore.IGutterView; overlayer:JQuery; scrollView:JQuery; renderedLines:JQuery; @@ -1326,7 +1208,7 @@ declare module "atom" { setText(text:string):void; - insertText(text:string, options?:any):AtomCore.IRange[]; + insertText(text:string, options?:any):TextBuffer.IRange[]; setHeightInLines(heightInLines:number):number; diff --git a/text-buffer/text-buffer-tests.ts b/text-buffer/text-buffer-tests.ts new file mode 100644 index 000000000..075851a3b --- /dev/null +++ b/text-buffer/text-buffer-tests.ts @@ -0,0 +1,19 @@ +/// + +declare var Point: TextBuffer.IPointStatic; + +var pointA = new Point(1, 2); +pointA.row; +pointA.column; + +var pointB = Point.fromObject({row: 2, col: 3}); +var pointC = Point.min(pointA, pointB); + +declare var TRange: TextBuffer.IRangeStatic; + +var rangeA = new TRange(pointA, pointB); + +declare var TextBufferStatic: TextBuffer.ITextBufferStatic; + +var textBuffer = new TextBufferStatic("Hello, world!"); +textBuffer.getLineCount(); diff --git a/text-buffer/text-buffer.d.ts b/text-buffer/text-buffer.d.ts new file mode 100644 index 000000000..7fd28b904 --- /dev/null +++ b/text-buffer/text-buffer.d.ts @@ -0,0 +1,298 @@ +// Type definitions for Atom +// Project: https://github.com/atom/text-buffer +// Definitions by: vvakame +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// +/// +/// + + +declare module TextBuffer { + + 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 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; + 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; + 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; + } +} From a4ebf8730940860b3ef2209e55aa9373f9bb9440 Mon Sep 17 00:00:00 2001 From: vvakame Date: Sat, 10 May 2014 13:31:10 +0900 Subject: [PATCH 03/12] fix travis ci failed --- text-buffer/text-buffer.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text-buffer/text-buffer.d.ts b/text-buffer/text-buffer.d.ts index 7fd28b904..b631618ca 100644 --- a/text-buffer/text-buffer.d.ts +++ b/text-buffer/text-buffer.d.ts @@ -5,7 +5,7 @@ /// /// -/// +/// declare module TextBuffer { From 2975295f9c1e9edd14dd91a86895756ca2fe9826 Mon Sep 17 00:00:00 2001 From: vvakame Date: Sat, 10 May 2014 19:31:25 +0900 Subject: [PATCH 04/12] improve atom/atom.d.ts and text-buffer/text-buffer.d.ts --- atom/atom.d.ts | 86 +++++++++++++++++++++++++++++++----- text-buffer/text-buffer.d.ts | 67 +++++++++++++++------------- 2 files changed, 112 insertions(+), 41 deletions(-) diff --git a/atom/atom.d.ts b/atom/atom.d.ts index 7fead9efd..b2399515a 100644 --- a/atom/atom.d.ts +++ b/atom/atom.d.ts @@ -118,8 +118,7 @@ declare module AtomCore { afterAttach(onDom?:any):any; beforeRemove():any; handleMouseEvents(e:JQueryMouseEventObject):any; - getEditorView():any /* EditorView */ - ; + getEditorView():any; /* EditorView */ getEditor():IEditor; getLineNumberElements():HTMLCollection; getLineNumberElementsForClass(klass:string):NodeList; @@ -341,8 +340,75 @@ declare module AtomCore { foldForMarker(marker:any):any; } - interface ICursor { - // TBD + interface ICursorStatic { + new (arg:{editor:IEditor; marker:IDisplayBufferMarker; id: number;}):ICursor; + } + + interface ICursor /* extends Theorist.Model */ { + screenPosition:any; + bufferPosition:any; + goalColumn:any; + visible:boolean; + needsAutoscroll:boolean; + + editor:IEditor; + marker:IDisplayBufferMarker; + id: number; + + destroy():any; + changePosition(options:any, fn:Function):any; + getPixelRect():any; + setScreenPosition(screenPosition:any, options?:any):any; + getScreenPosition():TextBuffer.IPoint; + getScreenRange():TextBuffer.IRange; + setBufferPosition(bufferPosition:any, options?:any):any; + getBufferPosition():TextBuffer.IPoint; + autoscroll():any; + updateVisibility():any; + setVisible(visible:boolean):any; + isVisible():boolean; + wordRegExp(arg?:any):any; + isLastCursor():boolean; + isSurroundedByWhitespace():boolean; + isBetweenWordAndNonWord():boolean; + isInsideWord():boolean; + clearAutoscroll():void; + clearSelection():void; + getScreenRow():number; + getScreenColumn():number; + getBufferRow():number; + getBufferColumn():number; + getCurrentBufferLine():string; + moveUp(rowCount:number, arg?:any):any; + moveDown(rowCount:number, arg?:any):any; + moveLeft(arg?:any):any; + moveRight(arg?:any):any; + moveToTop():any; + moveToBottom():void; + moveToBeginningOfScreenLine():void; + moveToBeginningOfLine():void; + moveToFirstCharacterOfLine():void; + moveToEndOfScreenLine():void; + moveToEndOfLine():void; + moveToBeginningOfWord():void; + moveToEndOfWord():void; + moveToBeginningOfNextWord():void; + moveToPreviousWordBoundary():void; + moveToNextWordBoundary():void; + getBeginningOfCurrentWordBufferPosition(options?:any):TextBuffer.IPoint; + getPreviousWordBoundaryBufferPosition(options?:any):TextBuffer.IPoint; + getMoveNextWordBoundaryBufferPosition(options?:any):TextBuffer.IPoint; + getEndOfCurrentWordBufferPosition(options?:any):TextBuffer.IPoint; + getBeginningOfNextWordBufferPosition(options?:any):TextBuffer.IPoint; + getCurrentWordBufferRange(options?:any):TextBuffer.IPoint; + getCurrentLineBufferRange(options?:any):TextBuffer.IPoint; + getCurrentParagraphBufferRange():any; + getCurrentWordPrefix():string; + isAtBeginningOfLine():boolean; + getIndentLevel():number; + isAtEndOfLine():boolean; + getScopes():string[]; + hasPrecedingCharactersOnLine():boolean; } interface ILanguageMode { @@ -568,12 +634,12 @@ declare module AtomCore { 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; + findMarkers(...args:any[]):IDisplayBufferMarker[]; + markScreenRange(...args:any[]):IDisplayBufferMarker; + markBufferRange(...args:any[]):IDisplayBufferMarker; + markScreenPosition(...args:any[]):IDisplayBufferMarker; + markBufferPosition(...args:any[]):IDisplayBufferMarker; + destroyMarker(...args:any[]):boolean; getMarkerCount():number; hasMultipleCursors():boolean; getCursors():ICursor[]; diff --git a/text-buffer/text-buffer.d.ts b/text-buffer/text-buffer.d.ts index b631618ca..09066e61d 100644 --- a/text-buffer/text-buffer.d.ts +++ b/text-buffer/text-buffer.d.ts @@ -15,19 +15,19 @@ declare module TextBuffer { fromObject(point:IPoint, copy?:boolean):IPoint; fromObject(object:number[]):IPoint; - fromObject(object:{row:number; col: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; col: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; col:number;}, point2:number[]):IPoint; + min(point1:{row:number; column: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; + 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 { @@ -41,11 +41,11 @@ declare module TextBuffer { translate(delta:IPoint):IPoint; translate(delta:number[]):IPoint; - translate(delta:{row:number; col:number;}):IPoint; + translate(delta:{row:number; column:number;}):IPoint; add(other:IPoint):IPoint; add(other:number[]):IPoint; - add(other:{row:number; col:number;}):IPoint; + add(other:{row:number; column:number;}):IPoint; splitAt(column:number):IPoint[]; compare(other:IPoint):number; @@ -67,36 +67,36 @@ declare module TextBuffer { 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: {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; col:number;}; end: number[]}):IRange; + fromObject(object:{start: {row:number; column: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; + 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; col: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; col: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; col: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; col:number;}, point2:number[]):IRange; + new(point1:{row:number; column: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; + 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 { @@ -115,15 +115,15 @@ declare module TextBuffer { 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: {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; col:number;}; end: number[]}):number; + compare(object:{start: {row:number; column: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; + 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; @@ -132,15 +132,15 @@ declare module TextBuffer { 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: {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; col:number;}; end: number[]}):IRange; + add(object:{start: {row:number; column: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; + 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; @@ -150,7 +150,7 @@ declare module TextBuffer { containsPoint(point:IPoint, exclusive:boolean):boolean; containsPoint(point:number[], exclusive:boolean):boolean; - containsPoint(point:{row:number; col:number;}, exclusive:boolean):boolean; + containsPoint(point:{row:number; column:number;}, exclusive:boolean):boolean; intersectsRow(row:number):boolean; intersectsRowRange(startRow:number, endRow:number):boolean; @@ -296,3 +296,8 @@ declare module TextBuffer { getMarkerCount():number; } } + +declare module "text-buffer" { + var _: TextBuffer.ITextBufferStatic; + export = _; +} \ No newline at end of file From 34d745c531e51ddf43c9d24fa580b28097ba0877 Mon Sep 17 00:00:00 2001 From: vvakame Date: Sat, 10 May 2014 19:34:25 +0900 Subject: [PATCH 05/12] fix travis-ci --- text-buffer/text-buffer-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/text-buffer/text-buffer-tests.ts b/text-buffer/text-buffer-tests.ts index 075851a3b..8621c3091 100644 --- a/text-buffer/text-buffer-tests.ts +++ b/text-buffer/text-buffer-tests.ts @@ -6,7 +6,7 @@ var pointA = new Point(1, 2); pointA.row; pointA.column; -var pointB = Point.fromObject({row: 2, col: 3}); +var pointB = Point.fromObject({row: 2, column: 3}); var pointC = Point.min(pointA, pointB); declare var TRange: TextBuffer.IRangeStatic; From 1a9fbf4e1e8484ab0d2cce398ae8eff7f1e598c2 Mon Sep 17 00:00:00 2001 From: vvakame Date: Sat, 10 May 2014 22:56:58 +0900 Subject: [PATCH 06/12] improve atom/atom.d.ts and others. add status-bar/status-bar.d.ts. --- CONTRIBUTORS.md | 1 + atom/atom.d.ts | 5 ++++- space-pen/space-pen.d.ts | 6 +++++- status-bar/status-bar-tests.ts | 8 ++++++++ status-bar/status-bar.d.ts | 32 ++++++++++++++++++++++++++++++++ text-buffer/text-buffer.d.ts | 2 +- 6 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 status-bar/status-bar-tests.ts create mode 100644 status-bar/status-bar.d.ts diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index f17b7788d..a9e9e23e1 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -272,6 +272,7 @@ All definitions files include a header with the author and editors, so at some p * [SockJS](https://github.com/sockjs/sockjs-client) (by [Emil Ivanov](https://github.com/vladev)) * [SoundJS](http://www.createjs.com/#!/SoundJS) (by [Pedro Ferreira](https://bitbucket.org/drk4)) * [Spin](http://fgnass.github.com/spin.js/) (by [Boris Yankov](https://github.com/borisyankov)) +* [status-bar](https://github.com/atom/status-bar) (by [vvakame](https://github.com/vvakame)) * [stripe](https://stripe.com/) (by [Eric J. Smith](https://github.com/ejsmith/)) * [Store.js](https://github.com/marcuswestin/store.js/) (by [Vincent Bortone](https://github.com/vbortone)) * [Sugar](http://sugarjs.com/) (by [Josh Baldwin](https://github.com/jbaldwin/)) diff --git a/atom/atom.d.ts b/atom/atom.d.ts index b2399515a..43a682a79 100644 --- a/atom/atom.d.ts +++ b/atom/atom.d.ts @@ -8,6 +8,7 @@ /// /// /// +/// // 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"). @@ -87,6 +88,8 @@ declare module AtomCore { command(eventName:string, selector:Function, handler:Function):any; command(eventName:string, options:any, handler:Function):any; command(eventName:string, selector:Function, options:any, handler:Function):any; + + statusBar:StatusBar.IStatusBarView; } interface IPanes { @@ -661,7 +664,7 @@ declare module AtomCore { getSelectionsOrderedByBufferPosition():ISelection[]; getLastSelectionInBuffer():ISelection; selectionIntersectsBufferRange(bufferRange:any):any; - setCursorScreenPosition(position:any, options:any):any; + setCursorScreenPosition(position:any, options?:any):any; getCursorScreenPosition():TextBuffer.IPoint; getCursorScreenRow():number; setCursorBufferPosition(position:any, options:any):any; diff --git a/space-pen/space-pen.d.ts b/space-pen/space-pen.d.ts index 6921786f0..4e283456b 100644 --- a/space-pen/space-pen.d.ts +++ b/space-pen/space-pen.d.ts @@ -586,7 +586,11 @@ declare module "space-pen" { end():any; - command(commandName:any, selector:any, options:any, handler:any):any; + command(eventName:string, handler:any):any; + + command(eventName:string, selector:any, handler:any):any; + + command(eventName:string, selector:any, options:any, handler:any):any; preempt(eventName:any, handler:any):any; } diff --git a/status-bar/status-bar-tests.ts b/status-bar/status-bar-tests.ts new file mode 100644 index 000000000..13e1941b6 --- /dev/null +++ b/status-bar/status-bar-tests.ts @@ -0,0 +1,8 @@ +/// + +declare var StatusBarView:StatusBar.IStatusBarViewStatic; + +StatusBarView.content(); + +var statusBar = new StatusBarView(); +statusBar.appendLeft(new View()); diff --git a/status-bar/status-bar.d.ts b/status-bar/status-bar.d.ts new file mode 100644 index 000000000..6c6788720 --- /dev/null +++ b/status-bar/status-bar.d.ts @@ -0,0 +1,32 @@ +// Type definitions for status-bar +// Project: https://github.com/atom/status-bar +// Definitions by: vvakame +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// +/// + +declare module StatusBar { + interface IStatusBarViewStatic { + content():any; + + new(...args:any[]):IStatusBarView; + } + + interface IStatusBarView extends View { + + initialize():any; + attach():any; + destroy():any; + appendLeft(view:View):any; + prependLeft(view:View):any; + appendRight(view:View):any; + prependRight(view:View):any; + getActiveBuffer():TextBuffer.ITextBuffer; + getActiveItem():any; + storeActiveBuffer():TextBuffer.ITextBuffer; + subscribeToBuffer(event:string, callback:Function):any; + subscribeAllToBuffer():any[]; + unsubscribeAllFromBuffer():any[]; + } +} diff --git a/text-buffer/text-buffer.d.ts b/text-buffer/text-buffer.d.ts index 09066e61d..9296e7c7c 100644 --- a/text-buffer/text-buffer.d.ts +++ b/text-buffer/text-buffer.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Atom +// Type definitions for text-buffer // Project: https://github.com/atom/text-buffer // Definitions by: vvakame // Definitions: https://github.com/borisyankov/DefinitelyTyped From 8ef3356a35dbfd24b3212ca71275b3bb30fc8432 Mon Sep 17 00:00:00 2001 From: vvakame Date: Sun, 11 May 2014 01:32:28 +0900 Subject: [PATCH 07/12] improve atom/atom.d.ts and pathwatcher/pathwatcher.d.ts --- atom/atom.d.ts | 45 +++++++++++++++++++++++++++++++++--- pathwatcher/pathwatcher.d.ts | 44 ++++++++++++++++++----------------- 2 files changed, 65 insertions(+), 24 deletions(-) diff --git a/atom/atom.d.ts b/atom/atom.d.ts index 43a682a79..80388ad07 100644 --- a/atom/atom.d.ts +++ b/atom/atom.d.ts @@ -7,6 +7,7 @@ /// /// /// +/// /// /// @@ -41,7 +42,7 @@ declare module AtomCore { // delegate to model property's method open(uri:string, options:any):Q.Promise; - openSync(uri:string, options:any):any; + openSync(uri:string, options?:any):any; saveActivePaneItem():any; saveActivePaneItemAs():any; saveAll():void; @@ -823,8 +824,46 @@ declare module AtomCore { height:number; } - interface IProject { - // TBD + interface IProjectStatic { + pathForRepositoryUrl(repoUrl:string):string; + + new (arg?:{path:any; buffers:any[];}):IProject; + } + + interface IProject /* extends Theorist.Model */ { + // Serializable.includeInto(Project); + + path:string; + rootDirectory:PathWatcher.IDirectory; + + serializeParams():any; + deserializeParams(params:any):any; + destroyed():any; + destroyRepo():any; + destroyUnretainedBuffers():any; + getRepo():IGit; + getPath():string; + setPath(projectPath:string):any; + getRootDirectory():PathWatcher.IDirectory; + resolve(uri:string):string; + relativize(fullPath:string):string; + contains(pathToCheck:string):boolean; + open(filePath:string, options?:any):Q.Promise; + openSync(filePath:string, options?:any):IEditor; + getBuffers():TextBuffer.ITextBuffer; + isPathModified(filePath:string):boolean; + findBufferForPath(filePath:string):TextBuffer.ITextBuffer; + bufferForPathSync(filePath:string):TextBuffer.ITextBuffer; + bufferForPath(filePath:string):Q.Promise; + bufferForId(id:any):TextBuffer.ITextBuffer; + buildBufferSync(absoluteFilePath:string):TextBuffer.ITextBuffer; + buildBuffer(absoluteFilePath:string):Q.Promise; + addBuffer(buffer:TextBuffer.ITextBuffer, options?:any):any; + addBufferAtIndex(buffer:TextBuffer.ITextBuffer, index:number, options?:any):any; + scan(regex:any, options:any, iterator:any):Q.Promise; + replace(regex:any, replacementText:any, filePaths:any, iterator:any):Q.Promise; + buildEditorForBuffer(buffer:any, editorOptions:any):IEditor; + eachBuffer(...args:any[]):any; } interface IWorkspaceStatic { diff --git a/pathwatcher/pathwatcher.d.ts b/pathwatcher/pathwatcher.d.ts index 1f481979b..a4570e1cb 100644 --- a/pathwatcher/pathwatcher.d.ts +++ b/pathwatcher/pathwatcher.d.ts @@ -6,25 +6,7 @@ /// /// -declare module "pathwatcher" { - - import events = require("events"); - - interface IHandleWatcher extends events.EventEmitter { - onEvent(event:any, filePath:any, oldFilePath:any):any; - start():void; - closeIfNoListener():void; - close():void; - } - - interface IPathWatcher { - isWatchingParent:boolean; - path:any; - handleWatcher:IHandleWatcher; - - close():void; - } - +declare module PathWatcher { interface IFileStatic { new (path:string, symlink?:boolean):IFile; } @@ -75,6 +57,26 @@ declare module "pathwatcher" { unsubscribeFromNativeChangeEvents():void; isPathPrefixOf(prefix:string, fullPath:string):boolean; } +} + +declare module "pathwatcher" { + + import events = require("events"); + + interface IHandleWatcher extends events.EventEmitter { + onEvent(event:any, filePath:any, oldFilePath:any):any; + start():void; + closeIfNoListener():void; + close():void; + } + + interface IPathWatcher { + isWatchingParent:boolean; + path:any; + handleWatcher:IHandleWatcher; + + close():void; + } function watch(path:string, callback:Function):IPathWatcher; @@ -82,6 +84,6 @@ declare module "pathwatcher" { function getWatchedPaths():string[]; - var File:IFileStatic; - var Directory:IDirectoryStatic; + var File:PathWatcher.IFileStatic; + var Directory:PathWatcher.IDirectoryStatic; } From 012f7d06f64ba6e5c1c5a5590403a14a2d91d1e5 Mon Sep 17 00:00:00 2001 From: vvakame Date: Sun, 11 May 2014 01:35:09 +0900 Subject: [PATCH 08/12] fix travis-ci --- atom/atom-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atom/atom-tests.ts b/atom/atom-tests.ts index 505973c9a..a033203e1 100644 --- a/atom/atom-tests.ts +++ b/atom/atom-tests.ts @@ -11,7 +11,7 @@ var File = pathwatcher.File; class SampleView extends _atom.ScrollView { editorId:string; - file:pathwatcher.IFile; + file:PathWather.IFile; editor:AtomCore.IEditor; static deserialize(state:any):SampleView { From 4a1304479ba53f5b46eef9ed0e8b1d7f43a26d9e Mon Sep 17 00:00:00 2001 From: vvakame Date: Sun, 11 May 2014 01:39:03 +0900 Subject: [PATCH 09/12] fix travis-ci --- atom/atom-tests.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atom/atom-tests.ts b/atom/atom-tests.ts index a033203e1..29dde2d89 100644 --- a/atom/atom-tests.ts +++ b/atom/atom-tests.ts @@ -11,7 +11,7 @@ var File = pathwatcher.File; class SampleView extends _atom.ScrollView { editorId:string; - file:PathWather.IFile; + file:PathWatcher.IFile; editor:AtomCore.IEditor; static deserialize(state:any):SampleView { From a5dbc7ec5406c4c3be93b25e0c3edd099ba14af3 Mon Sep 17 00:00:00 2001 From: vvakame Date: Sun, 11 May 2014 11:22:03 +0900 Subject: [PATCH 10/12] remove not required .tscparams --- backbone/backbone-tests.ts.tscparams | 1 - chai-jquery/chai-jquery.d.ts.tscparams | 1 - chai/chai.d.ts.tscparams | 1 - d3/plugins/d3.superformula.d.ts.tscparams | 1 - nomnom/nomnom-tests.ts.tscparams | 1 - sinon-chai/sinon-chai.d.ts.tscparams | 1 - 6 files changed, 6 deletions(-) delete mode 100644 backbone/backbone-tests.ts.tscparams delete mode 100644 chai-jquery/chai-jquery.d.ts.tscparams delete mode 100644 chai/chai.d.ts.tscparams delete mode 100644 d3/plugins/d3.superformula.d.ts.tscparams delete mode 100644 nomnom/nomnom-tests.ts.tscparams delete mode 100644 sinon-chai/sinon-chai.d.ts.tscparams diff --git a/backbone/backbone-tests.ts.tscparams b/backbone/backbone-tests.ts.tscparams deleted file mode 100644 index e16c76dff..000000000 --- a/backbone/backbone-tests.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ -"" diff --git a/chai-jquery/chai-jquery.d.ts.tscparams b/chai-jquery/chai-jquery.d.ts.tscparams deleted file mode 100644 index e16c76dff..000000000 --- a/chai-jquery/chai-jquery.d.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ -"" diff --git a/chai/chai.d.ts.tscparams b/chai/chai.d.ts.tscparams deleted file mode 100644 index e16c76dff..000000000 --- a/chai/chai.d.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ -"" diff --git a/d3/plugins/d3.superformula.d.ts.tscparams b/d3/plugins/d3.superformula.d.ts.tscparams deleted file mode 100644 index e16c76dff..000000000 --- a/d3/plugins/d3.superformula.d.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ -"" diff --git a/nomnom/nomnom-tests.ts.tscparams b/nomnom/nomnom-tests.ts.tscparams deleted file mode 100644 index e16c76dff..000000000 --- a/nomnom/nomnom-tests.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ -"" diff --git a/sinon-chai/sinon-chai.d.ts.tscparams b/sinon-chai/sinon-chai.d.ts.tscparams deleted file mode 100644 index e16c76dff..000000000 --- a/sinon-chai/sinon-chai.d.ts.tscparams +++ /dev/null @@ -1 +0,0 @@ -"" From 8eed68184240c65f67bf79e83ca8fce8cabfe4d9 Mon Sep 17 00:00:00 2001 From: vvakame Date: Mon, 12 May 2014 02:30:58 +0900 Subject: [PATCH 11/12] improve atom/atom.d.ts and space-pen/space-pen.d.ts --- atom/atom.d.ts | 69 ++++++++++++++++++++++++++++++++++++++-- space-pen/space-pen.d.ts | 4 +-- 2 files changed, 68 insertions(+), 5 deletions(-) diff --git a/atom/atom.d.ts b/atom/atom.d.ts index 80388ad07..8cbde4d55 100644 --- a/atom/atom.d.ts +++ b/atom/atom.d.ts @@ -665,10 +665,10 @@ declare module AtomCore { getSelectionsOrderedByBufferPosition():ISelection[]; getLastSelectionInBuffer():ISelection; selectionIntersectsBufferRange(bufferRange:any):any; - setCursorScreenPosition(position:any, options?:any):any; + setCursorScreenPosition(position:TextBuffer.IPoint, options?:any):any; getCursorScreenPosition():TextBuffer.IPoint; getCursorScreenRow():number; - setCursorBufferPosition(position:any, options:any):any; + setCursorBufferPosition(position:any, options?:any):any; getCursorBufferPosition():TextBuffer.IPoint; getSelectedScreenRange():TextBuffer.IRange; getSelectedBufferRange():TextBuffer.IRange; @@ -1239,6 +1239,7 @@ declare module "atom" { import spacePen = require("space-pen"); var $:typeof spacePen.$; + var $$:typeof spacePen.$$; var $$$:typeof spacePen.$$$; var BufferedNodeProcess:AtomCore.IBufferedNodeProcessStatic; @@ -1563,8 +1564,70 @@ declare module "atom" { // TBD } + interface ISelectListItem { + /** e.g. application:about */ + eventName:string; + /** e.g. Application: About */ + eventDescription:string; + } + class SelectListView extends View { - // TBD + static content():any; + + maxItems:number; + scheduleTimeout:any; + inputThrottle:number; + cancelling:boolean; + items:any[]; + list:JQuery; + + previouslyFocusedElement:JQuery; + + initialize():any; + + schedulePopulateList():number; + + setItems(items:any[]):any; + + setError(message?:string):any; + + setLoading(message?:string):any; + + getFilterQuery():string; + + populateList():any; + + getEmptyMessage(itemCount?:any, filteredItemCount?:any):string; + + setMaxItems(maxItems:number):void; + + selectPreviousItemView():any; + + selectNextItemView():any; + + selectItemView(view:any):any; + + scrollToItemView(view:any):any; + + getSelectedItemView():any; + + getSelectedItem():any; + + confirmSelection():any; + + viewForItem(item:any):JQuery; // You must override this method! + confirmed(item:any):any; // You must override this method! + getFilterKey():any; + + focusFilterEditor():any; + + storeFocusedElement():any; + + restoreFocus():any; + + cancelled():any; + + cancel():any; } var WorkspaceView:AtomCore.IWorkspaceViewStatic; diff --git a/space-pen/space-pen.d.ts b/space-pen/space-pen.d.ts index 4e283456b..eb884e289 100644 --- a/space-pen/space-pen.d.ts +++ b/space-pen/space-pen.d.ts @@ -65,7 +65,7 @@ declare class View /* implements JQuery */ { static popBuilder():Builder; - static buildHtml(fn:()=>void):any[]; + static buildHtml(fn:()=>void):string[]; static render(fn:()=>void):JQuery; @@ -348,7 +348,7 @@ declare module "space-pen" { static popBuilder():Builder; - static buildHtml(fn:()=>void):any[]; + static buildHtml(fn:()=>void):string[]; static render(fn:()=>void):JQuery; From 99b55633ae192de4ada0992687d74cd910b54990 Mon Sep 17 00:00:00 2001 From: AdaskoTheBeAsT Date: Sun, 11 May 2014 21:10:25 +0200 Subject: [PATCH 12/12] Fixed encoding and destroy function Fixed encoding of file and destroy function in JSTree --- jstree/jstree.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jstree/jstree.d.ts b/jstree/jstree.d.ts index d5641c8ba..7d8561ed4 100644 --- a/jstree/jstree.d.ts +++ b/jstree/jstree.d.ts @@ -1,6 +1,6 @@ -// Type definitions for jsTree v3.0.0 +ï»ż// Type definitions for jsTree v3.0.0 // Project: http://www.jstree.com/ -// Definitions by: Adam Pluciński +// Definitions by: Adam PluciƄski // Definitions: https://github.com/borisyankov/DefinitelyTyped /// @@ -508,7 +508,7 @@ interface JSTree extends JQuery { * @name destroy() * @param {Boolean} keep_html if not set to `true` the container will be emptied, otherwise the current DOM elements will be kept intact */ - destroy: (keep_html: boolean) => void; + destroy: (keep_html?: boolean) => void; /** * returns the jQuery extended instance container * @name get_container()