summaryrefslogtreecommitdiff
path: root/otherlibs/labltk/builtin/builtini_text.ml
blob: 1c7e2d7c09d63e253b16fd4962c399176aa5d9cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
let cCAMLtoTKtextMark  x =  TkToken x
let cTKtoCAMLtextMark x = x

let cCAMLtoTKtextTag  x =  TkToken x
let cTKtoCAMLtextTag x = x

(* TextModifiers are never returned by Tk *)
let ppTextModifier = function
   `Char n -> 
      if n > 0 then "+" ^ (string_of_int n) ^ "chars"
      else if n = 0 then ""
      else (string_of_int n) ^ "chars"
 | `Line n -> 
      if n > 0 then "+" ^ (string_of_int n) ^ "lines"
      else if n = 0 then ""
      else (string_of_int n) ^ "lines"
 | `Linestart -> " linestart"
 | `Lineend -> " lineend"
 | `Wordstart -> " wordstart"
 | `Wordend -> " wordend"

(*
let ppTextIndex = function
   `None -> ""
 | `Index (base, ml) -> 
     let (TkToken ppbase) = cCAMLtoTKtext_index base in 
       catenate_sep "" (ppbase :: List.map fun:ppTextModifier ml)
*)

let ppTextIndex = function
  (base, ml) -> 
     let (TkToken ppbase) = cCAMLtoTKtext_index base in 
       catenate_sep "" (ppbase :: List.map fun:ppTextModifier ml)

let cCAMLtoTKtextIndex : textIndex -> tkArgs = function i -> 
  TkToken (ppTextIndex i)