forked from GitHub/gf-core
edit command ct pos
This commit is contained in:
@@ -5,9 +5,9 @@
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/06/11 20:27:05 $
|
||||
-- > CVS $Date: 2005/08/17 14:43:50 $
|
||||
-- > CVS $Author: aarne $
|
||||
-- > CVS $Revision: 1.19 $
|
||||
-- > CVS $Revision: 1.20 $
|
||||
--
|
||||
-- (Description of the module)
|
||||
-----------------------------------------------------------------------------
|
||||
@@ -110,6 +110,7 @@ pCommandMsg s = (m,pCommandWords $ words c) where
|
||||
"'" : _ -> CTop
|
||||
"+" : _ -> CLast
|
||||
"mp" : p -> CMovePosition (readIntList (unwords p))
|
||||
"ct" : p -> CCopyPosition (readIntList (unwords p))
|
||||
"r" : f : _ -> CRefineWithAtom f
|
||||
"w" : f:i : _ -> CWrapWithFun (f, readIntArg i)
|
||||
"ch": f : _ -> CChangeHead f
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
-- Stability : (stable)
|
||||
-- Portability : (portable)
|
||||
--
|
||||
-- > CVS $Date: 2005/06/11 20:27:05 $
|
||||
-- > CVS $Date: 2005/08/17 14:43:50 $
|
||||
-- > CVS $Author: aarne $
|
||||
-- > CVS $Revision: 1.39 $
|
||||
-- > CVS $Revision: 1.40 $
|
||||
--
|
||||
-- temporary hacks for GF 2.0
|
||||
--
|
||||
@@ -76,6 +76,7 @@ data Command =
|
||||
| CTop
|
||||
| CLast
|
||||
| CMovePosition [Int]
|
||||
| CCopyPosition [Int]
|
||||
| CRefineWithTree String
|
||||
| CRefineWithClip Int
|
||||
| CRefineWithAtom String
|
||||
@@ -256,6 +257,13 @@ execECommand env c = case c of
|
||||
in (case et of
|
||||
Ok t -> refineByTrees der cgr [t] s
|
||||
Bad m -> changeMsg [m] s)
|
||||
CCopyPosition p -> action2command $ \s -> do
|
||||
s1 <- goPosition p s
|
||||
let t = actTree s1
|
||||
let compat = actVal s1 == actVal s
|
||||
if compat
|
||||
then refineWithTree der cgr t s
|
||||
else return s
|
||||
|
||||
CRefineParse str -> \s ->
|
||||
let cat = cat2CFCat (qualifTop sgr (actCat (stateSState s)))
|
||||
|
||||
Reference in New Issue
Block a user