<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -29,10 +29,10 @@ import System.Environment (getArgs)
 import Control.Monad.State
 import System.Exit
 import Data.Char (toUpper, toLower)
-import Data.List (isSuffixOf)
+import Data.List (isSuffixOf, intercalate)
 import System.Console.ParseArgs
 import Data.Maybe (fromJust, fromMaybe)
-import System.FilePath.Posix (takeDirectory)
+import System.FilePath.Posix (takeDirectory, takeBaseName, splitDirectories)
 import qualified Data.Map as Map
 
 translateFile :: String -&gt; StateT Conf IO ()
@@ -40,8 +40,13 @@ translateFile filename = do
     conf &lt;- get
     let outdir = confOutput conf
     let dir = takeDirectory filename
-    dirExists &lt;- liftIO $ doesDirectoryExist (outdir ++ dir) 
+    dirExists &lt;- liftIO $ doesDirectoryExist (outdir ++ dir) -- check if dir exists
+    -- create dir
     liftIO $ unless dirExists (createDirectoryIfMissing True (outdir++dir) &gt;&gt; putStrLn (&quot;Created &quot; ++ outdir++dir))
+    -- add path to imports
+    unless dirExists (put conf{ imports = (Map.insert dir [] $ imports conf) })
+    -- add class to imports
+    put conf{imports = (Map.insertWith (\x y -&gt; x ++ y) dir [takeBaseName $ (toUpper $ head filename):(tail filename)] $ imports conf) }
     liftIO $ putStrLn $ &quot;Translating &quot; ++ filename
     contents &lt;- liftIO $ readFile filename
     let updated_contents = if gotArg (confArgs conf) NoCarriage
@@ -84,9 +89,18 @@ main = do args &lt;- parseArgsIO ArgsTrailing clargs
           let input = fromJust $ getArgString args Input 
           let outdir = fromMaybe &quot;hx_output/&quot; $ getArgString args OutputDir 
           let conf = Conf{ confArgs = args , confInput = input, confOutput = outdir, imports = Map.empty}
-          if isSuffixOf &quot;.as&quot; input
-              then do
-                      dirExists &lt;- doesDirectoryExist outdir
-                      unless dirExists ((createDirectoryIfMissing True outdir) &gt;&gt; putStrLn (&quot;Created &quot; ++ outdir))
-                      runStateT (translateFile input) conf
-              else runStateT (translateDir input) conf
+          (_, updated_conf) &lt;- if isSuffixOf &quot;.as&quot; input
+                              then do dirExists &lt;- doesDirectoryExist outdir
+                                      unless dirExists ((createDirectoryIfMissing True outdir) &gt;&gt; putStrLn (&quot;Created &quot; ++ outdir))
+                                      runStateT (translateFile input) conf
+                              else runStateT (translateDir input) conf
+          if gotArg (confArgs updated_conf) CreateImports
+              then do putStrLn $ &quot;Creating import files in &quot;++outdir
+                      mapM_ (\(k, v)-&gt; createImport outdir k $ reverse v) $ Map.toList $ imports updated_conf
+              else return () 
+
+createImport outdir packagePath packageList = do let importFileName = intercalate &quot;_&quot; (&quot;Import&quot;:(splitDirectories packagePath))
+                                                 writeFile (outdir ++ importFileName++&quot;.hx&quot;) $ packageContent packagePath packageList
+    where packageContent path list = foldl (\content klass -&gt; content++ &quot;typedef &quot;++klass++&quot; = &quot;++ppath++klass++&quot;\n&quot;) &quot;&quot; list
+                                         where ppath = (intercalate &quot;.&quot; $ splitDirectories path)++&quot;.&quot;
+                                         </diff>
      <filename>as3tohaxe.hs</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8731e2791d86b0d3c00b5cd7a35c4e5fc794b458</id>
    </parent>
  </parents>
  <author>
    <name>Don-Duong Quach</name>
    <email>geekrelief@gmail.com</email>
  </author>
  <url>http://github.com/geekrelief/as3tohaxe/commit/ed17affe8151c7e4b8adeed833e44a01cebf4ac3</url>
  <id>ed17affe8151c7e4b8adeed833e44a01cebf4ac3</id>
  <committed-date>2009-01-18T15:47:39-08:00</committed-date>
  <authored-date>2009-01-18T15:47:39-08:00</authored-date>
  <message>added creation of import files to as3tohaxe.hs</message>
  <tree>8a6dfbcb948d6707b20cdb455c1fcd0d99365e8a</tree>
  <committer>
    <name>Don-Duong Quach</name>
    <email>geekrelief@gmail.com</email>
  </committer>
</commit>
