From 6359555db65ebc0b5e0d4db512539b1ef749f009 Mon Sep 17 00:00:00 2001 From: Joscha Date: Thu, 20 Feb 2020 00:39:53 +0000 Subject: [PATCH] [client] Add key bindings to help text --- src/Forest/Client/Options.hs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/Forest/Client/Options.hs b/src/Forest/Client/Options.hs index f5f1781..ead27bf 100644 --- a/src/Forest/Client/Options.hs +++ b/src/Forest/Client/Options.hs @@ -3,7 +3,9 @@ module Forest.Client.Options , clientOptionsParserInfo ) where +import Data.List import Options.Applicative +import Options.Applicative.Help.Pretty data ClientOptions = ClientOptions { clientHostName :: String @@ -40,5 +42,26 @@ parser = ClientOptions <> help "This flag disables ssl on outgoing websocket connections" ) +keyBindings :: String +keyBindings = intercalate "\n" + [ "Key bindings:" + , " exit q, esc" + , " move cursor up/down, j/k" + , " toggle fold tab" + , " edit node e" + , " delete node d" + , " new child (reply) r" + , " new sibling R" + , " perform action a, enter, space" + , "" + , "Editor key bindings:" + , " confirm edit enter" + , " abort edit esc" + , " insert newline ctrl+n" + ] + clientOptionsParserInfo :: ParserInfo ClientOptions -clientOptionsParserInfo = info (helper <*> parser) mempty +clientOptionsParserInfo = info (helper <*> parser) + ( fullDesc + <> footerDoc (Just $ string keyBindings) + )