csr
let initial =
- { start = 0; stop = 0 }
+ { start = 0; stop = 1 }
let make buf idx =
{ start = 0; stop = (Rope.limit_index buf.rope idx) }
let prevln = move_to PrevLine
let bol = move_to StartOfLine
-
let pick_syntax path =
let name = Filename.basename path in
let ext = Filename.extension path in
let iter fn buf i =
iteri (fun i c -> (fn c)) buf i
-let cursor buf =
- buf.cursor
+let csrpos buf =
+ Cursor.stop buf.cursor
+
+let selected buf pos =
+ Cursor.selected buf.cursor pos
let make_lexer buf =
let pos = ref 0 in
let is_bol = is_at StartOfLine
let is_eol = is_at EndOfLine
*)
-
-
val length : t -> int
val iteri : (int -> int -> bool) -> t -> int -> unit
val iter : (int -> bool) -> t -> int -> unit
-val cursor : t -> Cursor.t
+val csrpos : t -> int
+val selected : t -> int -> bool
val make_lexer : t -> Colormap.lexer
+
val nextln : t -> int -> int
val prevln : t -> int -> int
val bol : t -> int -> int
let num = ref 0 and csr = (restart csr 2 0) in
let draw_rune c =
let pos = off + !num in
- if pos == (Buf.Cursor.stop (Buf.cursor buf)) then
+ if pos == (Buf.csrpos buf) then
draw_cursor csr;
draw_glyph csr c (Colormap.find pos clr);
num := !num + 1;