summaryrefslogtreecommitdiff
path: root/src/GF/Shell/Commands.hs
diff options
context:
space:
mode:
authoraarne <unknown>2005-08-17 13:43:50 +0000
committeraarne <unknown>2005-08-17 13:43:50 +0000
commitdfba9956ae4e0d1a485a165cc83bc382580a5513 (patch)
treec6f62e9f7d47edba132df9f2559b44f8c75b0c0e /src/GF/Shell/Commands.hs
parent73c6ae2a4c1536ce311ad113c20fedd197b3824f (diff)
edit command ct pos
Diffstat (limited to 'src/GF/Shell/Commands.hs')
-rw-r--r--src/GF/Shell/Commands.hs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/GF/Shell/Commands.hs b/src/GF/Shell/Commands.hs
index de2ff9a96..2bcf59dba 100644
--- a/src/GF/Shell/Commands.hs
+++ b/src/GF/Shell/Commands.hs
@@ -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)))