type buffer
val vimInit : unit -> unit
val vimInput : string -> unit
val vimCommand : string -> unit
val vimGetMode : unit -> Vim__.Types.mode
val vimBufferOpen : string -> buffer
val vimBufferGetId : buffer -> int
val vimBufferGetById : int -> buffer option
val vimBufferGetCurrent : unit -> buffer
val vimBufferGetFilename : buffer -> string option
val vimBufferGetFiletype : buffer -> string option
val vimBufferGetLine : buffer -> int -> string
val vimBufferGetLineCount : buffer -> int
val vimBufferGetModified : buffer -> bool
val vimBufferGetChangedTick : buffer -> int
val vimBufferSetCurrent : buffer -> unit
val vimCursorGetLine : unit -> int
val vimCursorGetColumn : unit -> int
val vimSearchGetMatchingPair : unit -> (int * int) option
val vimSearchGetHighlights : int -> int -> (int * int * int * int) array
val vimVisualGetRange : unit -> int * int * int * int
type bufferUpdateCallback
= buffer -> int -> int -> int -> unit