diff options
| author | aarne <unknown> | 2005-10-06 13:21:33 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2005-10-06 13:21:33 +0000 |
| commit | bf2fdeb22ef950f7f5f375a3f4cf5f90abf87fd8 (patch) | |
| tree | 89b99ebe943973d9fc03eb8c14dc69533615d958 /src/GF/Shell | |
| parent | c2aeb9ae16c344c354194ec2efac773bbb7ce5d1 (diff) | |
eqStr ; pipe to system
Diffstat (limited to 'src/GF/Shell')
| -rw-r--r-- | src/GF/Shell/HelpFile.hs | 23 | ||||
| -rw-r--r-- | src/GF/Shell/PShell.hs | 7 |
2 files changed, 20 insertions, 10 deletions
diff --git a/src/GF/Shell/HelpFile.hs b/src/GF/Shell/HelpFile.hs index 3e41e0745..b6c1c9a5e 100644 --- a/src/GF/Shell/HelpFile.hs +++ b/src/GF/Shell/HelpFile.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/10/06 10:02:34 $ +-- > CVS $Date: 2005/10/06 14:21:34 $ -- > CVS $Author: aarne $ --- > CVS $Revision: 1.15 $ +-- > CVS $Revision: 1.16 $ -- -- Help on shell commands. Generated from HelpFile by 'make help'. -- PLEASE DON'T EDIT THIS FILE. @@ -93,16 +93,19 @@ txtHelpFile = "\ndc, define_command Name Anything" ++ "\n Add a new defined command. The Name must star with '%'. Later," ++ "\n if 'Name X' is used, it is replaced by Anything where #1 is replaced" ++ - "\n by X. Currently at most one argument is possible. To see" ++ - "\n definitions in scope, use help -defs." ++ + "\n by X. " ++ + "\n Restrictions: Currently at most one argument is possible, and a defined" ++ + "\n command cannot appear in a pipe. " ++ + "\n To see what definitions are in scope, use help -defs." ++ "\n examples:" ++ "\n dc %tnp p -cat=NP -lang=Eng #1 | l -lang=Swe -- translate NPs" ++ - "\n %tnp \"this man\" | p -lang=Swe -- translate and parse" ++ + "\n %tnp \"this man\" -- translate and parse" ++ "\n" ++ "\ndt, define_term Name Tree" ++ "\n Add a constant for a tree. The constant can later be called by" ++ - "\n prefixing it with '$'. It is not yet usable as a subterm. To see" ++ - "\n definitions in scope, use help -defs." ++ + "\n prefixing it with '$'. " ++ + "\n Restriction: These terms are not yet usable as a subterm. " ++ + "\n To see what definitions are in scope, use help -defs." ++ "\n examples:" ++ "\n p -cat=NP \"this man\" | dt tm -- define tm as parse result" ++ "\n l -all $tm -- linearize tm in all forms" ++ @@ -476,6 +479,12 @@ txtHelpFile = "\n example:" ++ "\n ! ls" ++ "\n" ++ + "\n?, system_command: ? String" ++ + "\n Issues a system command that receives its arguments from GF pipe" ++ + "\n and returns a value to GF." ++ + "\n example:" ++ + "\n h | ? 'wc -l' | p -cat=Num" ++ + "\n" ++ "\n" ++ "\n-- Flags. The availability of flags is defined separately for each command." ++ "\n" ++ diff --git a/src/GF/Shell/PShell.hs b/src/GF/Shell/PShell.hs index aefd066d5..0649fe7a8 100644 --- a/src/GF/Shell/PShell.hs +++ b/src/GF/Shell/PShell.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/10/06 10:02:34 $ +-- > CVS $Date: 2005/10/06 14:21:34 $ -- > CVS $Author: aarne $ --- > CVS $Revision: 1.27 $ +-- > CVS $Revision: 1.28 $ -- -- parsing GF shell commands. AR 11\/11\/2001 ----------------------------------------------------------------------------- @@ -62,6 +62,7 @@ unquote (x:xs@(_:_)) | x `elem` "\"'" && x == last xs = init xs unquote s = s pCommandLine :: HState -> [String] -> CommandLine +pCommandLine st (c@('%':_):args) = pCommandLine st $ resolveShMacro st c args pCommandLine st (dc:c:def) | abbrevCommand dc == "dc" = ((CDefineCommand c def, noOptions),AUnit,[]) pCommandLine st s = pFirst (chks s) where pFirst cos = case cos of @@ -73,7 +74,6 @@ pCommandLine st s = pFirst (chks s) where chks = map (pCommandOpt st) . chunks "|" pCommandOpt :: HState -> [String] -> (Command, Options, [CommandArg]) -pCommandOpt st (c@('%':_):args) = pCommandOpt st $ resolveShMacro st c args pCommandOpt _ (w:ws) = let (os, co) = getOptions "-" ws (comm, args) = pCommand (abbrevCommand w:co) @@ -136,6 +136,7 @@ pCommand ws = case ws of "ps" : s -> aString CPutString s "st" : s -> aTerm CShowTerm s "!" : s -> aUnit (CSystemCommand (unwords s)) + "?" : s : x -> aString (CSystemCommand (unquote s)) x "sc" : s -> aUnit (CSystemCommand (unwords s)) "g" : f : s -> aString (CGrep (unquote f)) s |
