run: support --man, --info, --tldr
This commit is contained in:
parent
7fdb2f7fe6
commit
758335daf0
@ -33,11 +33,13 @@ import Control.Monad.IO.Class (liftIO)
|
|||||||
import Control.Monad.Extra (concatMapM)
|
import Control.Monad.Extra (concatMapM)
|
||||||
|
|
||||||
import System.Exit (ExitCode)
|
import System.Exit (ExitCode)
|
||||||
|
import System.Console.CmdArgs.Explicit (expandArgsAt, modeNames)
|
||||||
import System.IO (stdin, hIsTerminalDevice, hIsOpen)
|
import System.IO (stdin, hIsTerminalDevice, hIsOpen)
|
||||||
import System.IO.Unsafe (unsafePerformIO)
|
import System.IO.Unsafe (unsafePerformIO)
|
||||||
import System.Console.Haskeline
|
import System.Console.Haskeline
|
||||||
|
|
||||||
import Safe (headMay)
|
import Safe (headMay)
|
||||||
|
import Hledger.Cli.DocFiles (runTldrForPage, runInfoForTopic, runManForTopic)
|
||||||
import Hledger.Cli.Utils (journalTransform)
|
import Hledger.Cli.Utils (journalTransform)
|
||||||
|
|
||||||
-- | Command line options for this command.
|
-- | Command line options for this command.
|
||||||
@ -139,6 +141,19 @@ runCommand defaultJournalOverride findBuiltinCommand cmdline = do
|
|||||||
args' <- replaceNumericFlags <$> expandArgsAt args
|
args' <- replaceNumericFlags <$> expandArgsAt args
|
||||||
dbg1IO "runCommand final args" (cmdname,args')
|
dbg1IO "runCommand final args" (cmdname,args')
|
||||||
opts <- getHledgerCliOpts' cmdmode args'
|
opts <- getHledgerCliOpts' cmdmode args'
|
||||||
|
let
|
||||||
|
rawopts = rawopts_ opts
|
||||||
|
mmodecmdname = headMay $ modeNames cmdmode
|
||||||
|
helpFlag = boolopt "help" rawopts
|
||||||
|
tldrFlag = boolopt "tldr" rawopts
|
||||||
|
infoFlag = boolopt "info" rawopts
|
||||||
|
manFlag = boolopt "man" rawopts
|
||||||
|
if
|
||||||
|
| helpFlag -> runPager $ showModeUsage cmdmode ++ "\n"
|
||||||
|
| tldrFlag -> runTldrForPage $ maybe "hledger" (("hledger-"<>)) mmodecmdname
|
||||||
|
| infoFlag -> runInfoForTopic "hledger" mmodecmdname
|
||||||
|
| manFlag -> runManForTopic "hledger" mmodecmdname
|
||||||
|
| otherwise -> do
|
||||||
withJournalCached (Just defaultJournalOverride) opts $ \(j,key) -> do
|
withJournalCached (Just defaultJournalOverride) opts $ \(j,key) -> do
|
||||||
if cmdname == "run" -- allow "run" to call "run"
|
if cmdname == "run" -- allow "run" to call "run"
|
||||||
then run (Just key) findBuiltinCommand opts
|
then run (Just key) findBuiltinCommand opts
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user