From dc71ffcf5bae1f2b91467de273c71e7c3294acb3 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 24 Mar 2004 15:09:06 +0000 Subject: Restoring old functionality --- src/GF/Shell/PShell.hs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/GF/Shell/PShell.hs') diff --git a/src/GF/Shell/PShell.hs b/src/GF/Shell/PShell.hs index 666b5b681..f890a8dcf 100644 --- a/src/GF/Shell/PShell.hs +++ b/src/GF/Shell/PShell.hs @@ -35,7 +35,7 @@ pCommandLine s = pFirst (chks s) where pCommandOpt :: [String] -> (Command, Options, [CommandArg]) pCommandOpt (w:ws) = let (os, co) = getOptions "-" ws - (comm, args) = pCommand (w:co) + (comm, args) = pCommand (abbrevCommand w:co) in (comm, os, args) pCommandOpt s = (CVoid, noOptions, [AError "no parse"]) @@ -45,6 +45,15 @@ pInputString s = case s of ('"':_:_) -> [AString (init (tail s))] _ -> [AError "illegal string"] +-- command rl can be written remove_language etc. + +abbrevCommand :: String -> String +abbrevCommand = hds . words . map u2sp where + u2sp c = if c=='_' then ' ' else c + hds s = case s of + [w@[_,_]] -> w + _ -> map head s + pCommand :: [String] -> (Command, [CommandArg]) pCommand ws = case ws of @@ -81,6 +90,7 @@ pCommand ws = case ws of "ps" : s -> aString CPutString s "st" : s -> aTerm CShowTerm s "!" : s -> aUnit (CSystemCommand (unwords s)) + "sc" : s -> aUnit (CSystemCommand (unwords s)) "sf" : l : [] -> aUnit (CSetLocalFlag (language l)) "sf" : [] -> aUnit CSetFlag -- cgit v1.2.3