1
0
forked from GitHub/gf-core
This commit is contained in:
aarne
2004-09-23 14:41:42 +00:00
parent d5b4230d6d
commit 2c60a2d82a
31 changed files with 434 additions and 211 deletions

View File

@@ -4,6 +4,7 @@ import Operations
import UseIO
import CMacros
import Values (Tree)
import GetTree
import ShellState
@@ -13,6 +14,7 @@ import Commands
import Char
import List (intersperse)
import Monad (foldM)
import UTF8
@@ -39,6 +41,23 @@ editLoop env state resume = do
editLoop env' state' resume
-- execute a command script and return a tree
execCommandHistory :: CEnv -> String -> IO (CEnv,Tree)
execCommandHistory env s = do
let env' = startEditEnv env
let state = initSStateEnv env'
(env',state') <- foldM exec (env,state) $ lines s
return $ (env',treeSState state')
where
exec (env,state) l = do
let c = pCommand l
execCommand env c state
getCommand :: IO Command
getCommand = do
s <- getLine
@@ -101,6 +120,7 @@ pCommand = pCommandWords . words where
"off":lang: _ -> CCEnvOff lang
"pfile" :f:_ -> CCEnvRefineParse f
"tfile" :f:_ -> CCEnvRefineWithTree f
"save":l:f:_ -> CCEnvSave l f
-- openstring file
-- pfile file