summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Command
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/GF/Command')
-rw-r--r--src/compiler/GF/Command/CommonCommands.hs11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/compiler/GF/Command/CommonCommands.hs b/src/compiler/GF/Command/CommonCommands.hs
index 4099d042f..e835d78d7 100644
--- a/src/compiler/GF/Command/CommonCommands.hs
+++ b/src/compiler/GF/Command/CommonCommands.hs
@@ -7,6 +7,8 @@ import GF.Command.CommandInfo
import qualified Data.Map as Map
import GF.Infra.SIO
import GF.Infra.UseIO(writeUTF8File)
+import GF.Infra.Option(renameEncoding)
+import GF.System.Console(changeConsoleEncoding)
import GF.System.Process
import GF.Command.Abstract --(isOpt,valStrOpts,prOpt)
import GF.Text.Pretty
@@ -135,7 +137,14 @@ commonCommands = Map.fromList [
examples = [
mkEx "se cp1251 -- set encoding to cp1521",
mkEx "se utf8 -- set encoding to utf8 (default)"
- ]
+ ],
+ needsTypeCheck = False,
+ exec = \ _ opts ts ->
+ case words (toString ts) of
+ [c] -> do let cod = renameEncoding c
+ restricted $ changeConsoleEncoding cod
+ return void
+ _ -> return (pipeMessage "se command not parsed")
}),
("sp", emptyCommandInfo {
longname = "system_pipe",