From 8ebecf55e2d6145e37e786e3bb6c12377bf2168c Mon Sep 17 00:00:00 2001 From: malc Date: Sat, 28 Jul 2018 05:20:45 +0300 Subject: [PATCH] Implement and use Keys.to_string --- keys.ml | 20 ++++++++++++++++++++ main.ml | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/keys.ml b/keys.ml index 6448a56..b9f654f 100644 --- a/keys.ml +++ b/keys.ml @@ -3,3 +3,23 @@ type t = | Backspace | Delete | Escape | Insert | Enter | Up | Down | Left | Right | Next | Prior | Home | End ;; + +let to_string = function + | Ascii c -> Printf.sprintf "'%c'" c + | Code c -> string_of_int c + | Ctrl c -> Printf.sprintf "ctrl(%#x)" c + | Fn n -> "F" ^ string_of_int n + | Backspace -> "backspace" + | Delete -> "delete" + | Escape -> "escape" + | Insert -> "insert" + | Enter -> "enter" + | Up -> "up" + | Down -> "down" + | Left -> "left" + | Right -> "right" + | Next -> "next" + | Prior -> "prior" + | Home -> "home" + | End -> "end" +;; diff --git a/main.ml b/main.ml index 9ad515e..0445b50 100644 --- a/main.ml +++ b/main.ml @@ -1481,7 +1481,7 @@ let linknentry text key = match [@warning "-4"] key with linknact (fun under -> state.text <- undertext under) text; TEcont text | _ -> - state.text <- "invalid key"; + state.text <- Printf.sprintf "invalid key %s" @@ Keys.to_string key; TEcont text ;; -- 2.11.4.GIT