diff --git a/src/Unused/Projection.hs b/src/Unused/Projection.hs
--- a/src/Unused/Projection.hs
+++ b/src/Unused/Projection.hs
@@ -31,13 +31,13 @@
     ParsedTransform <$> preTransformsParser <*> transformsParser <*> postTransformsParser
 
 preTransformsParser :: Parser Text
-preTransformsParser = T.pack <$> manyTill anyChar (char '{')
+preTransformsParser = T.pack <$> manyTill anySingle (char '{')
 
 transformsParser :: Parser [Transform]
 transformsParser = transformParser `sepBy` char '|' <* char '}'
 
 postTransformsParser :: Parser Text
-postTransformsParser = T.pack <$> many anyChar
+postTransformsParser = T.pack <$> many anySingle
 
 transformParser :: Parser Transform
 transformParser = do
diff --git a/unused.cabal b/unused.cabal
--- a/unused.cabal
+++ b/unused.cabal
@@ -1,127 +1,134 @@
-name:                unused
-version:             0.9.0.0
-synopsis:            A command line tool to identify unused code.
-description:         Please see README.md
-homepage:            https://github.com/joshuaclayton/unused#readme
-license:             MIT
-license-file:        LICENSE
-author:              Josh Clayton
-maintainer:          sayhi@joshuaclayton.me
-copyright:           2016-2018 Josh Clayton
-category:            CLI
-build-type:          Simple
--- extra-source-files:
-cabal-version:       >=1.10
-data-files:          data/config.yml
+cabal-version: >=1.10
+name: unused
+version: 0.10.0.0
+license: MIT
+license-file: LICENSE
+copyright: 2016-2018 Josh Clayton
+maintainer: sayhi@joshuaclayton.me
+author: Josh Clayton
+homepage: https://github.com/joshuaclayton/unused#readme
+synopsis: A command line tool to identify unused code.
+description:
+    Please see README.md
+category: CLI
+build-type: Simple
+data-files:
+    data/config.yml
 
+source-repository head
+    type: git
+    location: https://github.com/joshuaclayton/unused
+
 library
-  hs-source-dirs:      src
-  exposed-modules:     Unused.TermSearch
-                     , Unused.TermSearch.Types
-                     , Unused.TermSearch.Internal
-                     , Unused.Parser
-                     , Unused.Types
-                     , Unused.GitContext
-                     , Unused.Util
-                     , Unused.Regex
-                     , Unused.Aliases
-                     , Unused.Projection
-                     , Unused.Projection.Transform
-                     , Unused.ResponseFilter
-                     , Unused.ResultsClassifier
-                     , Unused.ResultsClassifier.Types
-                     , Unused.ResultsClassifier.Config
-                     , Unused.Grouping
-                     , Unused.Grouping.Internal
-                     , Unused.Grouping.Types
-                     , Unused.LikelihoodCalculator
-                     , Unused.Cache
-                     , Unused.Cache.DirectoryFingerprint
-                     , Unused.Cache.FindArgsFromIgnoredPaths
-                     , Unused.TagsSource
-                     , Unused.CLI
-                     , Unused.CLI.Search
-                     , Unused.CLI.GitContext
-                     , Unused.CLI.Util
-                     , Unused.CLI.Views
-                     , Unused.CLI.Views.Error
-                     , Unused.CLI.Views.NoResultsFound
-                     , Unused.CLI.Views.AnalysisHeader
-                     , Unused.CLI.Views.GitSHAsHeader
-                     , Unused.CLI.Views.MissingTagsFileError
-                     , Unused.CLI.Views.InvalidConfigError
-                     , Unused.CLI.Views.FingerprintError
-                     , Unused.CLI.Views.SearchResult
-                     , Unused.CLI.Views.SearchResult.ColumnFormatter
-                     , Unused.CLI.Views.SearchResult.Internal
-                     , Unused.CLI.Views.SearchResult.ListResult
-                     , Unused.CLI.Views.SearchResult.TableResult
-                     , Unused.CLI.Views.SearchResult.Types
-                     , Unused.CLI.ProgressIndicator
-                     , Unused.CLI.ProgressIndicator.Internal
-                     , Unused.CLI.ProgressIndicator.Types
-                     , Common
-  build-depends:       base >= 4.7 && < 5
-                     , process
-                     , containers
-                     , filepath
-                     , directory
-                     , regex-tdfa
-                     , terminal-progress-bar >= 0.1.1.1 && < 0.1.2
-                     , ansi-terminal
-                     , unix
-                     , parallel-io
-                     , yaml
-                     , bytestring
-                     , text
-                     , unordered-containers
-                     , cassava >= 0.5.1.0 && < 0.6
-                     , vector
-                     , mtl
-                     , transformers
-                     , megaparsec >= 6.5.0 && < 7
-                     , inflections >= 0.4.0.3 && < 0.5
-                     , file-embed
-  ghc-options:         -Wall
-  default-language:    Haskell2010
-  default-extensions:  OverloadedStrings
+    exposed-modules:
+        Unused.TermSearch
+        Unused.TermSearch.Types
+        Unused.TermSearch.Internal
+        Unused.Parser
+        Unused.Types
+        Unused.GitContext
+        Unused.Util
+        Unused.Regex
+        Unused.Aliases
+        Unused.Projection
+        Unused.Projection.Transform
+        Unused.ResponseFilter
+        Unused.ResultsClassifier
+        Unused.ResultsClassifier.Types
+        Unused.ResultsClassifier.Config
+        Unused.Grouping
+        Unused.Grouping.Internal
+        Unused.Grouping.Types
+        Unused.LikelihoodCalculator
+        Unused.Cache
+        Unused.Cache.DirectoryFingerprint
+        Unused.Cache.FindArgsFromIgnoredPaths
+        Unused.TagsSource
+        Unused.CLI
+        Unused.CLI.Search
+        Unused.CLI.GitContext
+        Unused.CLI.Util
+        Unused.CLI.Views
+        Unused.CLI.Views.Error
+        Unused.CLI.Views.NoResultsFound
+        Unused.CLI.Views.AnalysisHeader
+        Unused.CLI.Views.GitSHAsHeader
+        Unused.CLI.Views.MissingTagsFileError
+        Unused.CLI.Views.InvalidConfigError
+        Unused.CLI.Views.FingerprintError
+        Unused.CLI.Views.SearchResult
+        Unused.CLI.Views.SearchResult.ColumnFormatter
+        Unused.CLI.Views.SearchResult.Internal
+        Unused.CLI.Views.SearchResult.ListResult
+        Unused.CLI.Views.SearchResult.TableResult
+        Unused.CLI.Views.SearchResult.Types
+        Unused.CLI.ProgressIndicator
+        Unused.CLI.ProgressIndicator.Internal
+        Unused.CLI.ProgressIndicator.Types
+        Common
+    hs-source-dirs: src
+    default-language: Haskell2010
+    default-extensions: OverloadedStrings
+    ghc-options: -Wall
+    build-depends:
+        base >=4.7 && <5,
+        process >=1.6.5.0 && <1.7,
+        containers >=0.6.0.1 && <0.7,
+        filepath >=1.4.2.1 && <1.5,
+        directory >=1.3.3.0 && <1.4,
+        regex-tdfa >=1.2.3.2 && <1.3,
+        terminal-progress-bar >=0.1.1.1 && <0.1.2,
+        ansi-terminal >=0.9.1 && <0.10,
+        unix >=2.7.2.2 && <2.8,
+        parallel-io >=0.3.3 && <0.4,
+        yaml >=0.11.1.2 && <0.12,
+        bytestring >=0.10.8.2 && <0.11,
+        text >=1.2.3.1 && <1.3,
+        unordered-containers >=0.2.10.0 && <0.3,
+        cassava >=0.5.1.0 && <0.6,
+        vector >=0.12.0.3 && <0.13,
+        mtl >=2.2.2 && <2.3,
+        transformers >=0.5.6.2 && <0.6,
+        megaparsec >=7.0.5 && <8,
+        inflections >=0.4.0.3 && <0.5,
+        file-embed >=0.0.11 && <0.1
 
 executable unused
-  hs-source-dirs:      app
-  main-is:             Main.hs
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
-  build-depends:       base
-                     , unused
-                     , optparse-applicative
-                     , mtl
-                     , transformers
-  other-modules:       App
-                     , Types
-  default-language:    Haskell2010
+    main-is: Main.hs
+    hs-source-dirs: app
+    other-modules:
+        App
+        Types
+    default-language: Haskell2010
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+    build-depends:
+        base >=4.12.0.0 && <4.13,
+        unused -any,
+        optparse-applicative >=0.14.3.0 && <0.15,
+        mtl >=2.2.2 && <2.3,
+        transformers >=0.5.6.2 && <0.6
 
 test-suite unused-test
-  type:                exitcode-stdio-1.0
-  hs-source-dirs:      test
-  main-is:             Spec.hs
-  build-depends:       base
-                     , unused
-                     , hspec
-                     , containers
-                     , text
-  other-modules:       Unused.ParserSpec
-                     , Unused.ResponseFilterSpec
-                     , Unused.TypesSpec
-                     , Unused.LikelihoodCalculatorSpec
-                     , Unused.Grouping.InternalSpec
-                     , Unused.TermSearch.InternalSpec
-                     , Unused.UtilSpec
-                     , Unused.Cache.FindArgsFromIgnoredPathsSpec
-                     , Unused.AliasesSpec
-                     , Unused.ProjectionSpec
-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall
-  default-language:    Haskell2010
-  default-extensions:  OverloadedStrings
-
-source-repository head
-  type:     git
-  location: https://github.com/joshuaclayton/unused
+    type: exitcode-stdio-1.0
+    main-is: Spec.hs
+    hs-source-dirs: test
+    other-modules:
+        Unused.ParserSpec
+        Unused.ResponseFilterSpec
+        Unused.TypesSpec
+        Unused.LikelihoodCalculatorSpec
+        Unused.Grouping.InternalSpec
+        Unused.TermSearch.InternalSpec
+        Unused.UtilSpec
+        Unused.Cache.FindArgsFromIgnoredPathsSpec
+        Unused.AliasesSpec
+        Unused.ProjectionSpec
+    default-language: Haskell2010
+    default-extensions: OverloadedStrings
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+    build-depends:
+        base >=4.12.0.0 && <4.13,
+        unused -any,
+        hspec >=2.7.1 && <2.8,
+        containers >=0.6.0.1 && <0.7,
+        text >=1.2.3.1 && <1.3
