summaryrefslogtreecommitdiffstats
path: root/otherlibs/labltk/builtin/builtini_text.ml
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/labltk/builtin/builtini_text.ml')
-rw-r--r--otherlibs/labltk/builtin/builtini_text.ml37
1 files changed, 37 insertions, 0 deletions
diff --git a/otherlibs/labltk/builtin/builtini_text.ml b/otherlibs/labltk/builtin/builtini_text.ml
new file mode 100644
index 000000000..1c7e2d7c0
--- /dev/null
+++ b/otherlibs/labltk/builtin/builtini_text.ml
@@ -0,0 +1,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)
+