name: diagnose version: 1.5.0 github: "mesabloo/diagnose" license: BSD3 author: "Mesabloo" copyright: "2020 Mesabloo" dependencies: - base >= 4.7 && < 5 - prettyprinter == 1.7.0 - prettyprinter-ansi-terminal == 1.1.2 - unordered-containers == 0.2.14.0 - hashable == 1.3.0.0 - data-default == 0.7.1.1 - bytestring == 0.10.12.0 - text == 1.2.4.1 default-extensions: - OverloadedStrings - LambdaCase - BlockArguments library: source-dirs: src exposed-modules: - Error.Diagnose - Error.Diagnose.Diagnostic - Error.Diagnose.Position - Error.Diagnose.Pretty - Error.Diagnose.Report when: - condition: flag(megaparsec-compat) exposed-modules: - Error.Diagnose.Compat.Megaparsec - condition: flag(parsec-compat) exposed-modules: - Error.Diagnose.Compat.Parsec flags: json: description: "Allows exporting diagnostics as JSON. This is disabled by default as this relies on the very heavy dependency Aeson." manual: true default: false megaparsec-compat: description: "Includes a small compatibility layer (in the module Error.Diagnose.Compat.Megaparsec) to transform megaparsec errors into reports for this library." manual: true default: false parsec-compat: description: "Includes a small compatibility layer (in the module Error.Diagnose.Compat.Parsec) to transform parsec errors into reports for this library." manual: true default: false # do the same for other parsing libraries like parsec or attoparsec when: - condition: flag(json) dependencies: - aeson == 1.5.6.0 cpp-options: - -DUSE_AESON - condition: flag(megaparsec-compat) dependencies: - megaparsec >= 9.0.0 - containers == 0.6.2.1 - condition: flag(parsec-compat) dependencies: - parsec >= 3.1.14 ghc-options: - -Wall - -Wextra # - -Wmissing-local-signatures # - -Wmonomorphism-restriction tests: diagnose-rendering-tests: main: Spec.hs source-dirs: test/rendering ghc-options: - -threaded - -rtsopts - -with-rtsopts=-N - -O0 - -g dependencies: - diagnose diagnose-megaparsec-tests: main: Spec.hs source-dirs: test/megaparsec ghc-options: - -threaded - -rtsopts - -with-rtsopts=-N - -O0 - -g dependencies: - diagnose when: - condition: ! '!(flag(megaparsec-compat))' buildable: false diagnose-parsec-tests: main: Spec.hs source-dirs: test/parsec ghc-options: - -threaded - -rtsopts - -with-rtsopts=-N - -O0 - -g dependencies: - diagnose when: - condition: ! '!(flag(parsec-compat))' buildable: false