<commit_before>homepage: ''
changelog-type: markdown
hash: de8fcef46e417145749c7772d8e2b6923a7500af1f157321afbd15dd4bfeba02
test-bench-deps: {}
maintainer: <EMAIL>
synopsis: Library and utility for processing cabal's plan.json file
changelog: |
  # Revision history for `cabal-plan`

  ## 0.6.1.0

  ### `lib:cabal-plan` Library

  No changes

  ### `exe:cabal-plan` Executable

  * `dot` command got new options
      * `--root` to limit graph to specific roots
      * `--output` to write directly to some file
      * `--run-dot-png` and `--run-dot-pdf` to run `dot` for you

  * `cabal-plan` executable depends on `optics-core` instead of `lens`.
    Therefore is buildable only with GHC-8.0+

  ## 0.6.0.0

  ### `lib:cabal-plan` Library

  * `ExactPath` constructor to skip `find` in `findAndDecodePlanJson`.
    (Note: see also `decodePlanJson`)


  ### `exe:cabal-plan` Executable

  * `--plan-json` for exact `plan.json` location
  * `--relative` search for project root relative to that directory
  * `--colors=auto|never|always` flag
  * `tred` command to print transtive reduction of dependency graph
  * `diff` command to compare two plans
  * `list-bins` prints full selector "pkg:type:name", i.e. includes package name

  ## 0.5.0.0

  ### `lib:cabal-plan` Library

  * New `dispCompNameTarget` function for pretty-printing `CompName`s in cabal's target-selector syntax.
  * Add support for cabal 2.4's `pkg-src` package provenience metadata.
  * Add support for cabal 2.4.1's `pkg-cabal-sha256` package description checksum field.

  ### `exe:cabal-plan` Executable

  * Add support for including package description checksums in `fingerprint` output
  * Add support for printing flag selection in `topo` output
  * Fail gracefully in `license-report` when metadata cannot be found in index

  ## 0.4.0.0

  ### `lib:cabal-plan` Library

  * New `SearchPlanJson` type to specify strategy for locating `plan.json`
  * Add `SearchPlanJson` parameter to `findAndDecodePlanJson` function and change return type
  * Expose separate `findProjectRoot` operation

  ### `exe:cabal-plan` Executable

  * New command `license-report` (requires Cabal flag `license-report` to be active)

  ## 0.3.0.0

  ### `lib:cabal-plan` Library

  * Add support for foreign-lib components.
  * Add support for `dist-dir` `plan.json` field.
  * Make `Sha256` type abstract and add new `sha256{To,From}ByteString`
    conversion functions, as well as the new `parseSha256` function.
  * Introduce `FlagName` newtype.
  * Add `FromJSONKey`/`ToJSONKey` instances for `UnitId`, `PackageName`, and `PkgId`.

  ### `exe:cabal-plan` Executable

  * smart completer for list-bin/list-bins pattern
  * new command `topo` (printing out topographic sorting of install-plan)
  * `dot` prints component dependency graph. New options:
      - `--tred` transitive reduction
      - `--tred-weights` Adjust edge thickness during transitive reduction
      - `--path-from pkgA --path-from pkgB` Highlight dependency paths from *pkgA* to *pkgB*
      - `--revdep pkg` highlight reverse dependencies of pkg in the install plan

  ## 0.2.0.0

  * Add an optional `--builddir` argument to all commands and to `findAndDecodePlanJson` function.
  * Add experimental support for underlining.
  * Reimplement CLI with `optparse-applicative`.
  * Add new sub-command `list-bins` and change semantics of existing `list-bin` sub-cmd.

  ### 0.1.1.0

  * Add `cabal-plan fingerprint` command for printing
    sha256 sums of source tarballs.

  ## 0.1.0.0

  * First version. Released on an unsuspecting world.
basic-deps:
  optics-core: ^>=0.1
  singleton-bool: ^>=0.1.4
  semialign: ^>=1 || ^>=1.1
  bytestring: ! '>=0.10.0 && <0.11'
  these: ^>=1
  process-extras: ^>=0.7.4
  base: ! '>=4.6 && <4.14'
  text: ! '>=1.2.2 && <1.3'
  filepath: ^>=1.3.0 || ^>=1.4.0
  parsec: ^>=3.1.11
  containers: ! '>=0.5.0 && <0.6 || >=0.6.0.1 && <0.7'
  ansi-terminal: ^>=0.9 || ^>=0.10
  base-compat: ^>=0.10.5 || ^>=0.11
  mtl: ^>=2.2.1
  topograph: ^>=1
  base16-bytestring: ^>=0.1.1<commit_msg>Update from Hackage at 2019-10-22T14:12:45Z<commit_after>homepage: ''
changelog-type: markdown
hash: a16fef2f72537214871cbdf4a4148542951318651e5d76e4f50293b522c0790a
test-bench-deps: {}
maintainer: <EMAIL>
synopsis: Library and utility for processing cabal's plan.json file
changelog: |
  # Revision history for `cabal-plan`

  ## 0.6.1.0

  ### `lib:cabal-plan` Library

  No changes

  ### `exe:cabal-plan` Executable

  * `dot` command got new options
      * `--root` to limit graph to specific roots
      * `--output` to write directly to some file
      * `--run-dot-png` and `--run-dot-pdf` to run `dot` for you

  * `cabal-plan` executable depends on `optics-core` instead of `lens`.
    Therefore is buildable only with GHC-8.0+

  ## 0.6.0.0

  ### `lib:cabal-plan` Library

  * `ExactPath` constructor to skip `find` in `findAndDecodePlanJson`.
    (Note: see also `decodePlanJson`)


  ### `exe:cabal-plan` Executable

  * `--plan-json` for exact `plan.json` location
  * `--relative` search for project root relative to that directory
  * `--colors=auto|never|always` flag
  * `tred` command to print transtive reduction of dependency graph
  * `diff` command to compare two plans
  * `list-bins` prints full selector "pkg:type:name", i.e. includes package name

  ## 0.5.0.0

  ### `lib:cabal-plan` Library

  * New `dispCompNameTarget` function for pretty-printing `CompName`s in cabal's target-selector syntax.
  * Add support for cabal 2.4's `pkg-src` package provenience metadata.
  * Add support for cabal 2.4.1's `pkg-cabal-sha256` package description checksum field.

  ### `exe:cabal-plan` Executable

  * Add support for including package description checksums in `fingerprint` output
  * Add support for printing flag selection in `topo` output
  * Fail gracefully in `license-report` when metadata cannot be found in index

  ## 0.4.0.0

  ### `lib:cabal-plan` Library

  * New `SearchPlanJson` type to specify strategy for locating `plan.json`
  * Add `SearchPlanJson` parameter to `findAndDecodePlanJson` function and change return type
  * Expose separate `findProjectRoot` operation

  ### `exe:cabal-plan` Executable

  * New command `license-report` (requires Cabal flag `license-report` to be active)

  ## 0.3.0.0

  ### `lib:cabal-plan` Library

  * Add support for foreign-lib components.
  * Add support for `dist-dir` `plan.json` field.
  * Make `Sha256` type abstract and add new `sha256{To,From}ByteString`
    conversion functions, as well as the new `parseSha256` function.
  * Introduce `FlagName` newtype.
  * Add `FromJSONKey`/`ToJSONKey` instances for `UnitId`, `PackageName`, and `PkgId`.

  ### `exe:cabal-plan` Executable

  * smart completer for list-bin/list-bins pattern
  * new command `topo` (printing out topographic sorting of install-plan)
  * `dot` prints component dependency graph. New options:
      - `--tred` transitive reduction
      - `--tred-weights` Adjust edge thickness during transitive reduction
      - `--path-from pkgA --path-from pkgB` Highlight dependency paths from *pkgA* to *pkgB*
      - `--revdep pkg` highlight reverse dependencies of pkg in the install plan

  ## 0.2.0.0

  * Add an optional `--builddir` argument to all commands and to `findAndDecodePlanJson` function.
  * Add experimental support for underlining.
  * Reimplement CLI with `optparse-applicative`.
  * Add new sub-command `list-bins` and change semantics of existing `list-bin` sub-cmd.

  ### 0.1.1.0

  * Add `cabal-plan fingerprint` command for printing
    sha256 sums of source tarballs.

  ## 0.1.0.0

  * First version. Released on an unsuspecting world.
basic-deps:
  optics-core: ^>=0.1 || ^>=0.2
  singleton-bool: ^>=0.1.4
  semialign: ^>=1 || ^>=1.1
  bytestring: ! '>=0.10.0 && <0.11'
  these: ^>=1
  process-extras: ^>=0.7.4
  base: ! '>=4.6 && <4.14'
  text: ! '>=1.2.2 && <1.3'
  filepath: ^>=1.3.0 || ^>=1.4.0
  parsec: ^>=3.1.11
  containers: ! '>=0.5.0 && <0.6 || >=0.6.0.1 && <0.7'
  ansi-terminal: ^>=0.9 || ^>=0.10
  base-compat: ^>=0.10.5 || ^>=0.11
  mtl: ^>=2.2.1
  topograph: ^>=1
  base16-bytestring: ^>=0.1.1
{'fraction_non_alphanumeric': 0.13938053097345132, 'fraction_numerical': 0.04314159292035398, 'mean_word_length': 3.5105321507760534, 'pattern_counts': {'":': 0, '<': 15, '<?xml version=': 0, '>': 48, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 18, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1178776', 'n_tokens_mistral': 3068, 'n_tokens_neox': 2827, 'n_words': 848}