import System(getArgs) import Control.Monad(when) import Data.Maybe(fromJust, isNothing) import Clang.TranslationUnit(withCreateIndex, withParse, TranslationUnitFlags(..)) import qualified Clang.Source as Clang import Clang.Traversal import Clang.File(getFileName) printInclusions :: InclusionVisitor Int printInclusions f sls d = do let name = getFileName f putStrLn $ "Included:" ++ name return d test tu = getInclusions tu printInclusions Nothing main = do (arg:args) <- getArgs withCreateIndex False False $ \index -> withParse index (Just arg) args [] [TranslationUnit_None] test (error "No TXUnit!")