diff --git a/dead-code-detection.cabal b/dead-code-detection.cabal
--- a/dead-code-detection.cabal
+++ b/dead-code-detection.cabal
@@ -1,9 +1,9 @@
--- This file has been generated from package.yaml by hpack version 0.10.0.
+-- This file has been generated from package.yaml by hpack version 0.13.0.
 --
 -- see: https://github.com/sol/hpack
 
 name:           dead-code-detection
-version:        0.6
+version:        0.7
 synopsis:       detect dead code in haskell projects
 description:    detect dead code in haskell projects
 category:       Development
diff --git a/src/Run.hs b/src/Run.hs
--- a/src/Run.hs
+++ b/src/Run.hs
@@ -24,6 +24,7 @@
 data Options
   = Options {
     sourceDirs :: [FilePath],
+    ignore :: [FilePath],
     root :: [String],
     version :: Bool,
     includeUnderscoreNames :: Bool
@@ -34,14 +35,16 @@
 
 run :: IO ()
 run = do
-  let mods = [AddShortOption "sourceDirs" 'i']
+  let mods = [AddShortOption "sourceDirs" 'i',
+              AddShortOption "ignore" 'e']
   withCliModified mods $ \ options -> do
     when (version options) $ do
       putStrLn versionOutput
       throwIO ExitSuccess
     when (null $ root options) $
       die "missing option: --root=STRING"
-    files <- findHaskellFiles (sourceDirs options)
+    files <- filter (`notElem` ignore options) <$>
+      findHaskellFiles (sourceDirs options)
     deadNames <- deadNamesFromFiles
       files
       (map mkModuleName (root options))
diff --git a/test/RunSpec.hs b/test/RunSpec.hs
--- a/test/RunSpec.hs
+++ b/test/RunSpec.hs
@@ -57,6 +57,17 @@
         withArgs ["--version"] run
       output `shouldContain` "version: "
 
+    it "ignores files if told to do so" $ do
+      let main = ("Main", [i|
+            module Main where
+            main = return ()
+          |])
+          b = ("B", [i|
+            This is some arbitrary text that is not Haskell.
+            |])
+          run' = withArgs (words "-i. -e./B.hs --root Main") run
+      withModules [main, b] $ run' `shouldReturn` ()
+
   describe "deadNamesFromFiles" $ do
     it "should clearly mark ghc's output as such" $ do
       let a = ("A", [i|
