added command ps -stringop, with stringop being (un)lexer defined in Lexing

This commit is contained in:
aarne
2008-06-12 14:36:03 +00:00
parent e969ea61af
commit e783a894bf
3 changed files with 89 additions and 0 deletions

View File

@@ -46,3 +46,8 @@ valOpts flag def opts = case lookup flag flags of
isOpt :: String -> [Option] -> Bool
isOpt o opts = elem o [x | OOpt x <- opts]
prOpt :: Option -> String
prOpt (OOpt i) = i ----

View File

@@ -20,6 +20,7 @@ import GF.Infra.UseIO
import GF.Data.ErrM ----
import PGF.ExprSyntax (readExp)
import GF.Command.Abstract
import GF.Text.Lexing
import Data.Maybe
import qualified Data.Map as Map
@@ -196,6 +197,13 @@ allCommands pgf = Map.fromList [
"example:\n"++
" ph | wf foo.hist -- save the history into a file"
}),
("ps", emptyCommandInfo {
longname = "put_string",
synopsis = "return a string, possibly processed with a function",
exec = \opts ->
return . fromString . maybe id id (stringOp (concatMap prOpt opts)) . toString,
flags = ["cat","lang"]
}),
("q", emptyCommandInfo {
longname = "quit",
synopsis = "exit GF interpreter"