@@ -3,7 +3,7 @@ export namespace Ace {
33 export type NewLineMode = 'auto' | 'unix' | 'windows' ;
44
55 export interface Anchor extends EventEmitter {
6- getPosition ( ) : Point ;
6+ getPosition ( ) : Position ;
77 getDocument ( ) : Document ;
88 setPosition ( row : number , column : number , noClip ?: boolean ) : void ;
99 detach ( ) : void ;
@@ -24,25 +24,26 @@ export namespace Ace {
2424 getLength ( ) : number ;
2525 getTextRange ( range : Range ) : string ;
2626 getLinesForRange ( range : Range ) : string [ ] ;
27- insert ( position : Point , text : string ) : Point ;
28- insertInLine ( position : Point , text : string ) : Point ;
27+ insert ( position : Position , text : string ) : Position ;
28+ insert ( position : { row : number , column : number } , text : string ) : Position ;
29+ insertInLine ( position : Position , text : string ) : Position ;
2930 insertNewLine ( position : Point ) : Point ;
3031 clippedPos ( row : number , column : number ) : Point ;
3132 clonePos ( pos : Point ) : Point ;
3233 pos ( row : number , column : number ) : Point ;
3334 insertFullLines ( row : number , lines : string [ ] ) : void ;
34- insertMergedLines ( position : Point , lines : string [ ] ) : Point ;
35- remove ( range : Range ) : Point ;
36- removeInLine ( row : number , startColumn : number , endColumn : number ) : Point ;
35+ insertMergedLines ( position : Position , lines : string [ ] ) : Point ;
36+ remove ( range : Range ) : Position ;
37+ removeInLine ( row : number , startColumn : number , endColumn : number ) : Position ;
3738 removeFullLines ( firstRow : number , lastRow : number ) : string [ ] ;
3839 removeNewLine ( row : number ) : void ;
39- replace ( range : Range , text : string ) : Point ;
40+ replace ( range : Range , text : string ) : Position ;
4041 applyDeltas ( deltas : Delta [ ] ) : void ;
4142 revertDeltas ( deltas : Delta [ ] ) : void ;
4243 applyDelta ( delta : Delta , doNotValidate ?: boolean ) : void ;
4344 revertDelta ( delta : Delta ) : void ;
44- indexToPosition ( index : number , startRow : number ) : Point ;
45- positionToIndex ( pos : Point , startRow ?: number ) : number ;
45+ indexToPosition ( index : number , startRow : number ) : Position ;
46+ positionToIndex ( pos : Position , startRow ?: number ) : number ;
4647 }
4748
4849 export interface FoldLine {
@@ -398,21 +399,29 @@ export namespace Ace {
398399 isAtBookmark ( ) : boolean ;
399400 }
400401
401- export interface EditSession extends EventEmitter , OptionsProvider , Folding {
402+ export interface Position {
403+ row : number ,
404+ column : number
405+ }
406+
407+ export interface EditSession extends EventEmitter , OptionsProvider {
402408 selection : Selection ;
403409
404410 // TODO: define BackgroundTokenizer
405411
406412 on ( name : 'changeFold' ,
407- callback : ( obj : { data : Fold , action : string } ) => void ) : Function ;
413+ callback : ( obj : { data : Fold , action : string } ) => void ) : Function ;
408414 on ( name : 'changeScrollLeft' , callback : ( scrollLeft : number ) => void ) : Function ;
409415 on ( name : 'changeScrollTop' , callback : ( scrollTop : number ) => void ) : Function ;
410416 on ( name : 'tokenizerUpdate' ,
411- callback : ( obj : { data : { first : number , last : number } } ) => void ) : Function ;
417+ callback : ( obj : { data : { first : number , last : number } } ) => void ) : Function ;
418+ on ( name : 'change' , callback : ( ) => void ) : Function ;
412419
413420
414421 setOption < T extends keyof EditSessionOptions > ( name : T , value : EditSessionOptions [ T ] ) : void ;
415422 getOption < T extends keyof EditSessionOptions > ( name : T ) : EditSessionOptions [ T ] ;
423+
424+ readonly doc : Document ;
416425
417426 setDocument ( doc : Document ) : void ;
418427 getDocument ( ) : Document ;
@@ -431,7 +440,7 @@ export namespace Ace {
431440 getUseSoftTabs ( ) : boolean ;
432441 setTabSize ( tabSize : number ) : void ;
433442 getTabSize ( ) : number ;
434- isTabStop ( position : Point ) : boolean ;
443+ isTabStop ( position : Position ) : boolean ;
435444 setNavigateWithinSoftTabs ( navigateWithinSoftTabs : boolean ) : void ;
436445 getNavigateWithinSoftTabs ( ) : boolean ;
437446 setOverwrite ( overwrite : boolean ) : void ;
@@ -445,17 +454,17 @@ export namespace Ace {
445454 setBreakpoint ( row : number , className : string ) : void ;
446455 clearBreakpoint ( row : number ) : void ;
447456 addMarker ( range : Range ,
448- className : string ,
449- type : "fullLine" | "screenLine" | "text" | MarkerRenderer ,
450- inFront ? : boolean ) : number ;
457+ clazz : string ,
458+ type : MarkerRenderer | string ,
459+ inFront : boolean ) : number ;
451460 addDynamicMarker ( marker : MarkerLike , inFront : boolean ) : MarkerLike ;
452461 removeMarker ( markerId : number ) : void ;
453462 getMarkers ( inFront ?: boolean ) : MarkerLike [ ] ;
454463 highlight ( re : RegExp ) : void ;
455464 highlightLines ( startRow : number ,
456- endRow : number ,
457- className : string ,
458- inFront ?: boolean ) : Range ;
465+ endRow : number ,
466+ clazz : string ,
467+ inFront ?: boolean ) : Range ;
459468 setAnnotations ( annotations : Annotation [ ] ) : void ;
460469 getAnnotations ( ) : Annotation [ ] ;
461470 clearAnnotations ( ) : void ;
@@ -477,14 +486,14 @@ export namespace Ace {
477486 getLines ( firstRow : number , lastRow : number ) : string [ ] ;
478487 getLength ( ) : number ;
479488 getTextRange ( range : Range ) : string ;
480- insert ( position : Point , text : string ) : void ;
489+ insert ( position : Position , text : string ) : void ;
481490 remove ( range : Range ) : void ;
482491 removeFullLines ( firstRow : number , lastRow : number ) : void ;
483492 undoChanges ( deltas : Delta [ ] , dontSelect ?: boolean ) : void ;
484493 redoChanges ( deltas : Delta [ ] , dontSelect ?: boolean ) : void ;
485494 setUndoSelect ( enable : boolean ) : void ;
486495 replace ( range : Range , text : string ) : void ;
487- moveText ( fromRange : Range , toPosition : Point , copy ?: boolean ) : void ;
496+ moveText ( fromRange : Range , toPosition : Position , copy ?: boolean ) : void ;
488497 indentRows ( startRow : number , endRow : number , indentString : string ) : void ;
489498 outdentRows ( range : Range ) : void ;
490499 moveLinesUp ( firstRow : number , lastRow : number ) : void ;
@@ -501,16 +510,16 @@ export namespace Ace {
501510 getRowWrapIndent ( screenRow : number ) : number ;
502511 getScreenLastRowColumn ( screenRow : number ) : number ;
503512 getDocumentLastRowColumn ( docRow : number , docColumn : number ) : number ;
504- getdocumentLastRowColumnPosition ( docRow : number , docColumn : number ) : Point ;
513+ getdocumentLastRowColumnPosition ( docRow : number , docColumn : number ) : Position ;
505514 getRowSplitData ( row : number ) : string | undefined ;
506515 getScreenTabSize ( screenColumn : number ) : number ;
507516 screenToDocumentRow ( screenRow : number , screenColumn : number ) : number ;
508517 screenToDocumentColumn ( screenRow : number , screenColumn : number ) : number ;
509518 screenToDocumentPosition ( screenRow : number ,
510519 screenColumn : number ,
511- offsetX ?: number ) : Point ;
512- documentToScreenPosition ( docRow : number , docColumn : number ) : Point ;
513- documentToScreenPosition ( position : Point ) : Point ;
520+ offsetX ?: number ) : Position ;
521+ documentToScreenPosition ( docRow : number , docColumn : number ) : Position ;
522+ documentToScreenPosition ( position : Position ) : Position ;
514523 documentToScreenColumn ( row : number , docColumn : number ) : number ;
515524 documentToScreenRow ( docRow : number , docColumn : number ) : number ;
516525 getScreenLength ( ) : number ;
@@ -520,7 +529,7 @@ export namespace Ace {
520529 export interface KeyBinding {
521530 setDefaultHandler ( handler : KeyboardHandler ) : void ;
522531 setKeyboardHandler ( handler : KeyboardHandler ) : void ;
523- addKeyboardHandler ( handler : KeyboardHandler , pos : number ) : void ;
532+ addKeyboardHandler ( handler : KeyboardHandler , pos ? : number ) : void ;
524533 removeKeyboardHandler ( handler : KeyboardHandler ) : boolean ;
525534 getKeyboardHandler ( ) : KeyboardHandler ;
526535 getStatusText ( ) : string ;
@@ -546,7 +555,7 @@ export namespace Ace {
546555 once ( name : string , callback : Function ) : void ;
547556 setDefaultHandler ( name : string , callback : Function ) : void ;
548557 removeDefaultHandler ( name : string , callback : Function ) : void ;
549- on ( name : string , callback : Function , capturing ?: boolean ) : Function ;
558+ on ( name : string , callback : Function , capturing ?: boolean ) : void ;
550559 addEventListener ( name : string , callback : Function , capturing ?: boolean ) : void ;
551560 off ( name : string , callback : Function ) : void ;
552561 removeListener ( name : string , callback : Function ) : void ;
@@ -559,9 +568,9 @@ export namespace Ace {
559568 addCommands ( command : Command [ ] ) : void ;
560569 removeCommand ( command : Command | string , keepCommand ?: boolean ) : void ;
561570 removeCommands ( command : Command [ ] ) : void ;
562- bindKey ( key : string | { mac ?: string , win ?: string } ,
563- command : CommandLike ,
564- position ?: number ) : void ;
571+ bindKey ( key : string | { mac ?: string , win ?: string } ,
572+ command : CommandLike ,
573+ position ?: number ) : void ;
565574 bindKeys ( keys : { [ s : string ] : Function } ) : void ;
566575 parseKeys ( keyPart : string ) : { key : string , hashId : number } ;
567576 findKeyCommand ( hashId : number , keyString : string ) : string | undefined ;
@@ -570,7 +579,14 @@ export namespace Ace {
570579 }
571580
572581 export interface VirtualRenderer extends OptionsProvider , EventEmitter {
573- container : HTMLElement ;
582+ readonly container : HTMLElement ;
583+ readonly scroller : HTMLElement ;
584+ readonly content : HTMLElement ;
585+ readonly characterWidth : number ;
586+ readonly lineHeight : number ;
587+ readonly scrollLeft : number ;
588+ readonly scrollTop : number ;
589+ readonly $padding : number ;
574590
575591 setOption < T extends keyof VirtualRendererOptions > ( name : T , value : VirtualRendererOptions [ T ] ) : void ;
576592 getOption < T extends keyof VirtualRendererOptions > ( name : T ) : VirtualRendererOptions [ T ] ;
@@ -622,16 +638,16 @@ export namespace Ace {
622638 updateCursor ( ) : void ;
623639 hideCursor ( ) : void ;
624640 showCursor ( ) : void ;
625- scrollSelectionIntoView ( anchor : Point ,
626- lead : Point ,
641+ scrollSelectionIntoView ( anchor : Position ,
642+ lead : Position ,
627643 offset ?: number ) : void ;
628- scrollCursorIntoView ( cursor : Point , offset ?: number ) : void ;
644+ scrollCursorIntoView ( cursor : Position , offset ?: number ) : void ;
629645 getScrollTop ( ) : number ;
630646 getScrollLeft ( ) : number ;
631647 getScrollTopRow ( ) : number ;
632648 getScrollBottomRow ( ) : number ;
633649 scrollToRow ( row : number ) : void ;
634- alignCursor ( cursor : Point | number , alignment : number ) : number ;
650+ alignCursor ( cursor : Position | number , alignment : number ) : number ;
635651 scrollToLine ( line : number ,
636652 center : boolean ,
637653 animate : boolean ,
@@ -642,7 +658,8 @@ export namespace Ace {
642658 scrollTo ( x : number , y : number ) : void ;
643659 scrollBy ( deltaX : number , deltaY : number ) : void ;
644660 isScrollableBy ( deltaX : number , deltaY : number ) : boolean ;
645- textToScreenCoordinates ( row : number , column : number ) : { pageX : number , pageY : number } ;
661+ textToScreenCoordinates ( row : number , column : number ) : { pageX : number , pageY : number } ;
662+ pixelToScreenCoordinates ( x : number , y : number ) : { row : number , column : number , side : 1 | - 1 , offsetX : number } ;
646663 visualizeFocus ( ) : void ;
647664 visualizeBlur ( ) : void ;
648665 showComposition ( position : number ) : void ;
@@ -670,8 +687,8 @@ export namespace Ace {
670687 isMultiLine ( ) : boolean ;
671688 setCursor ( row : number , column : number ) : void ;
672689 setAnchor ( row : number , column : number ) : void ;
673- getAnchor ( ) : Point ;
674- getCursor ( ) : Point ;
690+ getAnchor ( ) : Position ;
691+ getCursor ( ) : Position ;
675692 isBackwards ( ) : boolean ;
676693 getRange ( ) : Range ;
677694 clearSelection ( ) : void ;
@@ -721,6 +738,10 @@ export namespace Ace {
721738 new ( session : EditSession ) : Selection ;
722739 }
723740
741+ export interface TextInput {
742+ resetSelection ( ) : void ;
743+ }
744+
724745 export interface Editor extends OptionsProvider , EventEmitter {
725746 container : HTMLElement ;
726747 renderer : VirtualRenderer ;
@@ -729,22 +750,28 @@ export namespace Ace {
729750 keyBinding : KeyBinding ;
730751 session : EditSession ;
731752 selection : Selection ;
753+ textInput : TextInput ;
732754
733- on ( name : 'blur' , callback : ( e : Event ) => void ) : Function ;
734- on ( name : 'input' , callback : ( ) => void ) : Function ;
735- on ( name : 'change' , callback : ( delta : Delta ) => void ) : Function ;
736- on ( name : 'changeSelectionStyle' , callback : ( obj : { data : string } ) => void ) : Function ;
755+ on ( name : 'blur' , callback : ( e : Event ) => void ) : void ;
756+ on ( name : 'change' , callback : ( delta : Delta ) => void ) : void ;
757+ on ( name : 'changeSelectionStyle' , callback : ( obj : { data : string } ) => void ) : void ;
737758 on ( name : 'changeSession' ,
738- callback : ( obj : { session : EditSession , oldSession : EditSession } ) => void
739- ) : Function ;
740- on ( name : 'copy' , callback : ( obj : { text : string } ) => void ) : Function ;
741- on ( name : 'focus' , callback : ( e : Event ) => void ) : Function ;
742- on ( name : 'paste' , callback : ( obj : { text : string } ) => void ) : Function ;
759+ callback : ( obj : { session : EditSession , oldSession : EditSession } ) => void ) : void ;
760+ on ( name : 'copy' , callback : ( obj : { text : string } ) => void ) : void ;
761+ on ( name : 'focus' , callback : ( e : Event ) => void ) : void ;
762+ on ( name : 'paste' , callback : ( obj : { text : string } ) => void ) : void ;
763+ on ( name : 'mousemove' , callback : ( e : any ) => void ) : void ;
764+ on ( name : 'mouseup' , callback : ( e : any ) => void ) : void ;
765+ on ( name : 'mousewheel' , callback : ( e : any ) => void ) : void ;
766+ on ( name : 'click' , callback : ( e : any ) => void ) : void ;
767+
768+ onPaste ( text : string , event : any ) : void ;
743769
744770 setOption < T extends keyof EditorOptions > ( name : T , value : EditorOptions [ T ] ) : void ;
745771 getOption < T extends keyof EditorOptions > ( name : T ) : EditorOptions [ T ] ;
746772
747773 setKeyboardHandler ( keyboardHandler : string , callback ?: ( ) => void ) : void ;
774+ setKeyboardHandler ( keyboardHandler : KeyboardHandler ) : void ;
748775 getKeyboardHandler ( ) : string ;
749776 setSession ( session : EditSession ) : void ;
750777 getSession ( ) : EditSession ;
@@ -900,4 +927,4 @@ export const Range: {
900927 new ( startRow : number , startColumn : number , endRow : number , endColumn : number ) : Ace . Range ;
901928 fromPoints ( start : Ace . Point , end : Ace . Point ) : Ace . Range ;
902929 comparePoints ( p1 : Ace . Point , p2 : Ace . Point ) : number ;
903- } ;
930+ } ;
0 commit comments