1
0
forked from GitHub/gf-core

GF shell: source commands (cc, sd, so, ss & dg) can now be used in pipes

These commands are now implemented as regular commands (i.e. using the
CommandInfo data type) in the new module GF.Command.SourceCommands.

The list of commands exported from GF.Command.Commmands now called pgfCommands
instead of allCommands.

The list allCommands of all commands is now assembled
from sourceCommands, pgfCommands, commonCommands and helpCommand in
GF.Interactive.
This commit is contained in:
hallgren
2015-08-12 11:05:08 +00:00
parent 063912c386
commit 6fff2def39
6 changed files with 299 additions and 262 deletions

View File

@@ -43,14 +43,20 @@ valIntOpts flag def opts =
valStrOpts :: String -> String -> [Option] -> String
valStrOpts flag def opts =
case [v | OFlag f v <- opts, f == flag] of
(VStr v:_) -> v
(VId v:_) -> v
(VInt v:_) -> show v
_ -> def
case listFlags flag opts of
v:_ -> valueString v
_ -> def
listFlags flag opts = [v | OFlag f v <- opts, f == flag]
valueString v =
case v of
VStr v -> v
VId v -> v
VInt v -> show v
isOpt :: String -> [Option] -> Bool
isOpt o opts = elem o [x | OOpt x <- opts]
isOpt o opts = elem (OOpt o) opts
isFlag :: String -> [Option] -> Bool
isFlag o opts = elem o [x | OFlag x _ <- opts]