name: svfactor version: 0.1 license: BSD3 license-file: LICENCE author: George Wilson maintainer: george@qfpl.io copyright: Copyright (c) 2018, Commonwealth Scientific and Industrial Research Organisation (CSIRO) ABN 41 687 119 230. category: CSV, Text, Web synopsis: Syntax-preserving CSV manipulation description: <> . svfactor is a library for parsing, manipulating, and printing CSV and similar formats (such as PSV, TSV, and many more). . svfactor retains all syntactic information including newlines, and provides lenses, prisms, and traversals to query and manipulate this structure. This should make it useful for writing custom CSV transformations and sanitisation tools. For example, one could easily use it to rewrite all CRLF newlines to LF. It also extends RFC4180 by allowing optional spacing surrounding fields. . svfactor's parser is exposed so you can use it independently and printing is similarly standalone. . Please note that there are __known performance problems with svfactor__. . Examples: . * Handling multiple logical documents in one file: * Fixing inconsistent formatting with lenses: homepage: https://github.com/qfpl/svfactor bug-reports: https://github.com/qfpl/svfactor/issues build-type: Simple extra-source-files: changelog.md cabal-version: >=1.10 tested-with: GHC == 7.8.4 , GHC == 7.10.3 , GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.3 source-repository head type: git location: git@github.com/qfpl/svfactor.git library exposed-modules: Data.Svfactor , Data.Svfactor.Parse , Data.Svfactor.Parse.Internal , Data.Svfactor.Parse.Options , Data.Svfactor.Print , Data.Svfactor.Print.Internal , Data.Svfactor.Print.Options , Data.Svfactor.Syntax , Data.Svfactor.Syntax.Field , Data.Svfactor.Syntax.Record , Data.Svfactor.Syntax.Sv , Data.Svfactor.Text.Escape , Data.Svfactor.Text.Newline , Data.Svfactor.Text.Space , Data.Svfactor.Text.Quote , Data.Svfactor.Text.Separator , Data.Svfactor.Structure.Headedness , Data.Svfactor.Vector.NonEmpty -- other-modules: -- other-extensions: build-depends: attoparsec >= 0.12.1.4 && < 0.14 , base >=4.7 && <5 , bifunctors >= 5.1 && < 6 , bytestring >= 0.9.1.10 && < 0.11 , charset >=0.3 && <=0.4 , deepseq >= 1.1 && < 1.5 , lens >= 4 && < 5 , parsec >= 3.1 && < 3.2 , parsers >=0.12 && <0.13 , semigroupoids >= 5 && <6 , semigroups >= 0.18 && < 0.19 , text >= 1.0 && < 1.3 , transformers >= 0.2 && < 0.6 , trifecta >= 1.5 && < 2.1 , utf8-string >= 1 && < 1.1 , vector >= 0.10 && < 0.13 hs-source-dirs: src default-language: Haskell2010 ghc-options: -Wall -O2 test-suite tasty type: exitcode-stdio-1.0 main-is: tasty.hs other-modules: Data.Svfactor.Generators , Data.Svfactor.ParseTest , Data.Svfactor.PrintTest , Data.Svfactor.RoundTripsParsePrint default-language: Haskell2010 build-depends: base >=4.7 && <5 , bytestring >= 0.9.1.10 && < 0.11 , hedgehog >= 0.5 && < 0.7 , lens >= 4 && < 5 , parsers >=0.12 && <0.13 , semigroups >= 0.18 && < 0.19 , svfactor , tasty >= 0.11 && < 1.2 , tasty-hedgehog >= 0.1 && < 0.3 , tasty-hunit >= 0.9 && < 0.11 , text >= 1.0 && < 1.3 , trifecta >= 1.5 && < 2.1 , utf8-string >= 1 && < 1.1 , vector >= 0.10 && < 0.13 ghc-options: -Wall hs-source-dirs: test