<commit_before>homepage: https://github.com/judah/haskeline
changelog-type: text
hash: 43de1a6d343fc0635726ae6fcf8d6f739b547476b698b6d416f04114a28ebef8
test-bench-deps: {}
maintainer: <NAME> <<EMAIL>>
synopsis: A command-line interface for user input, written in Haskell.
changelog: ! "Changed in version 0.7.4.3:\n   * Bump upper bounds on base, containers,
  stm and unix\n   * Fix redundant \"Category\" field in haskeline.cabal\n\nChanged
  in version 0.7.4.2:\n   * Clean up the rest of the references to trac.haskell.org\n\nChanged
  in version 0.7.4.1:\n   * Bump upper bound on base to support ghc-8.4\n   * Use
  `TChan` from `stm` rather than `Chan`\n   * Update the homepage since trac.haskell.org
  has shut down\n\nChanged in version 0.7.4.0:\n   * Properly process Unicode key
  events on Windows.\n   * Add an instance MonadExcept IdentityT.\n   * Remove custom
  Setup logic to support Cabal 2.0.\n\nChanged in version 0.7.3.1:\n   * Properly
  disable echoing in getPassword when running in MinTTY.\n   * Use `cast` from Data.Typeable
  instead of Data.Dynamic.\n\nChanged in version 0.7.3.0:\n   * Require ghc version
  of at least 7.4.1, and clean up obsolete code\n   * Add thread-safe (in terminal-style
  interaction) external print function\n   * Add a MonadFix instance for InputT\n
  \  * Bump upper bounds on `base` and `directory` to support ghc-8.0.2\n\nChanged
  in version 0.7.2.3:\n   * Fix hsc2hs-related warning on ghc-8\n   * Fix the behavior
  of ctrl-W in the emacs bindings\n   * Point to github instead of trac\n\nChanged
  in version 0.7.2.2:\n   * Fix Linux to Windows cross-compile\n   * Canonicalize
  AMP instances to make the code more future proof\n   * Generalize constraints for
  InputT instances\n   * Bump upper bounds on base and transformers\n   * Make Haskeline
  `-Wtabs` clean\n\nChanged in version 0.7.2.1:\n   * Fix build on Windows.\n\nChanged
  in version 0.7.2.0:\n   * Bump upper-bound on base and filepath libraries to accomodate
  GHC HEAD (7.10)\n   * Drop Cabal dependency to 1.10\n   * Use explicit forall syntax
  to avoid warning\n   * Support Applicative/Monad proposal in Win32/Draw backend\n
  \  * Add Eq/Ord instances to Completion\n   * Add a \"forall\" quantifier before
  rank-n types\n\nChanged in version 0.7.1.3:\n   * Add support for transformers-0.4.0.0.\n\nChanged
  in version 0.7.1.2:\n   * Require ghc>=7.0.1.\n   * Allow building with terminfo-0.4.\n\nChanged
  in version 0.7.1.1:\n   * Point to github for HEAD.\n\nChanged in version 0.7.1.0:\n
  \  * Fix build with ghc-7.8.\n   * Fix build with ghc-6.12.3.\n   * Fix build on
  Android.\n   * Fix build on Win64.\n   * Add 'catches' to System.Console.Haskeline.MonadException.\n\nChanged
  in version 0.7.0.3:\n   * Fix build with ghc>=7.6.1.\n\nChanged in version 0.7.0.2:\n
  \  * Fix build on Windows with ghc>=7.4.1.\n\nChanged in version 0.7.0.1:\n   *
  Fix GHC build by removing a Haskell comment on an #endif line\n\nChanged in version
  0.7.0.0:\n   API changes:\n   * Remove System.Console.Haskeline.Encoding\n   * Make
  the MonadException class more general (similar to monad-control)\n   * Don't make
  InputT an instance of MonadState/MonadReader\n   * #117: Implement mapInputT\n\n
  \  Internal changes:\n   * Bump dependencies and general compatibility for ghc-7.6.1\n
  \  * Depend on the transformers package instead of mtl\n   * Don't depend on the
  extensible-exceptions package\n   * Don't depend on the utf8-string package (except
  with ghc<7.4.1)\n   * Bump the minimum GHC version to 6.10.1\n   * Use ScopedTypeVariables
  instead of PatternSignatures\n\n   Internal fixes:\n   * Prevent crashes on Windows
  when writing too many characters at once\n     or ctrl-L on large window (GHC ticket
  #4415)\n   * Remember the user's history and kill ring state after ctrl-c\n   *
  Use ccall on Win64\n   * Fix terminfo's guess of the window size\n\nChanged in version
  0.6.4.7:\n   * Bump dependencies to allow mtl-2.1, containers-0.5 and bytestring-0.10.\n
  \  * Prefix C functions with \"haskeline_\" so we don't clash with other packages\n
  \  * Prevent cursor flicker when outputting in the terminfo backend\n\nChanged in
  version 0.6.4.6:\n   * Build with ghc-7.4.1.\n\nChanged in version 0.6.4.5:\n   *
  #116: Prevent hang on 64-bit systems when the prompt contains a control\n           character.\n\nChanged
  in version 0.6.4.4:\n   * #115: Fix the behavior of the 'f' and 't' commands when
  deleting text.\n   * #73: Fix regression: pasting multiple lines could drop some
  characters.\n   * Don't require NondecreasingIndentation.\n\nChanged in version
  0.6.4.3:\n   * Fix a bug on ghc-7.2.1 with tab-completion of Unicode filenames.\n\nChanged
  in version 0.6.4.2:\n   * Various updates for ghc-7.2.1.\n\nChanged in version 0.6.4:\n
  \  * Added new function getInputLineWithInitial.\n\nChanged in version 0.6.3.2:\n
  \  * Allow building with mtl-2.0.* .\n\nChanged in version 0.6.3.1:\n   * Updated
  contraints for ghc-7.0.1.\n\n   * Fix building on ghc-6.10.\n\nChanged in version
  0.6.3:\n   * #111: Correct width calculations when the prompt contains newlines.\n\n
  \  * #109: Add function completeWordWithPrev.\n\n   * #101, #44: Extend the API
  with Behaviors, which control the choice between\n     terminal-style and file-style
  interaction.\n\n   * #78: Correct width calculations for escape sequences (\"\\ESC...\\STX\")\n\n
  \  * Better warning message when -fterminfo doesn't work.\n\n   * Added getPassword
  as a new input function.\n\nChanged in version 0.6.2.4:\n   * Added back a MonadException
  instance for mtl's StateT.\n\nChanged in version 0.6.2.3:\n   * #110: Recognize
  the enter key in xterm.\n\n   * #108: Fix behavior after a paste of long, non-ASCII
  text.\n\n   * #106: Ignore input immediately following an unrecognized control sequence.\n\n
  \  * #104: In vi-mode, allow, e.g., \"d2w\" as well as \"2dw\"\n\n   * #103: Fix
  vi-mode 'c' command with movements.\n\n   * #81: Correctly handle characters with
  a width > 1.\n\n   * Compatibility updates from the GHC folks for Solaris and for
  ghc-6.14.\n\n   * Optimization: if several key presses are input all at once (e.g.
  from a\n     paste), only display the last change.  This can also make Haskeline
  more\n     responsive when editing long lines.\n\n   * Hard-code some defaults for
  ctrl-left and ctrl-right, and provide the\n     corresponding Emacs bindings to
  skip words.\n\nChanged in version 0.6.2.2:\n   * Raise dependency to utf8-string>=0.3.6
  (fixes a bug when decoding invalid\n     input)\n\nChanged in version 0.6.2.1:\n
  \ Internal/API changes:\n   * Make sure to always use binary mode when expecting
  Char-as-byte.\n\n   * Eliminate unused import warnings on ghc>=6.11\n\n   * Increase
  upper bound on some dependencies for ghc-6.12\n\nChanged in version 0.6.2:\n\n  User
  interface changes:\n   * A multitude of new emacs and vi commands\n\n   * New preference
  'historyDuplicates' to prevent storage of duplicate lines\n\n   * Support PageUp
  and PageDown keys\n\n   * Let ctrl-L (clear-screen) work during getInputChar\n\n
  \ Internal/API changes:\n   * Compatibility with ghc-6.12\n\n   * Calculate the
  correct width for Unicode combining characters\n\n   * Removed RankNTypes requirement;
  added Rank2Types and UndecidableInstances\n\n   * Use simpleUserHooks instead of
  autoconfUserHooks in the Setup script\n\n   * Internal refactoring to make command
  declaration more flexible\n\n   * Read the .haskeline file completely before starting
  the UI (laziness issue)\n"
basic-deps:
  bytestring: ! '>=0.9 && <0.11'
  unix: ! '>=2.0 && <2.9'
  stm: ! '>=2.4 && <2.6'
  base: ! '>=4.5 && <4.13'
  filepath: ! '>=1.2 && <1.5'
  process: ! '>=1.0 && <1.7'
  containers: ! '>=0.4 && <0.7'
  terminfo: ! '>=0.3.1.3 && <0.5'
  transformers: ! '>=0.2 && <0.6'
  directory: ! '>=1.1 && <1.4'
all-versions:
- '0.2'
- 0.2.1
- '0.3'
- 0.3.1
- 0.3.2
- '0.4'
- '0.5'
- 0.5.0.1
- '0.6'
- 0.6.0.1
- 0.6.1
- 0.6.1.1
- 0.6.1.2
- 0.6.1.3
- 0.6.1.5
- 0.6.1.6
- 0.6.2
- 0.6.2.1
- 0.6.2.2
- 0.6.2.3
- 0.6.2.4
- 0.6.3
- 0.6.3.1
- 0.6.3.2
- 0.6.4.0
- 0.6.4.1
- 0.6.4.2
- 0.6.4.3
- 0.6.4.4
- 0.6.4.5
- 0.6.4.6
- 0.6.4.7
- 0.7.0.0
- 0.7.0.1
- 0.7.0.2
- 0.7.0.3
- 0.7.1.0
- 0.7.1.1
- 0.7.1.2
- 0.7.1.3
- 0.7.2.0
- 0.7.2.1
- 0.7.2.2
- 0.7.2.3
- 0.7.3.0
- 0.7.3.1
- 0.7.4.0
- 0.7.4.1
- 0.7.4.2
- 0.7.4.3
author: <NAME>
latest: 0.7.4.3
description-type: haddock
description: ! 'Haskeline provides a user interface for line input in command-line

  programs.  This library is similar in purpose to readline, but since

  it is written in Haskell it is (hopefully) more easily used in other

  Haskell programs.


  Haskeline runs both on POSIX-compatible systems and on Windows.'
license-name: BSD-3-Clause<commit_msg>Update from Hackage at 2019-01-17T05:09:40Z<commit_after>homepage: https://github.com/judah/haskeline
changelog-type: text
hash: 85ca69b4e463c88d3c2be668e708898320dce9e36937e45d2a475e8c330765db
test-bench-deps: {}
maintainer: <NAME> <<EMAIL>>
synopsis: A command-line interface for user input, written in Haskell.
changelog: |
  Changed in version 0.7.5.0:
     * Add the new function `fallbackCompletion` to combine
       multiple `CompletionFunc`s
     * Fix warnings
     * Bump the lower bound to ghc-8.0

  Changed in version 0.7.4.3:
     * Bump upper bounds on base, containers, stm and unix
     * Fix redundant "Category" field in haskeline.cabal

  Changed in version 0.7.4.2:
     * Clean up the rest of the references to trac.haskell.org

  Changed in version 0.7.4.1:
     * Bump upper bound on base to support ghc-8.4
     * Use `TChan` from `stm` rather than `Chan`
     * Update the homepage since trac.haskell.org has shut down

  Changed in version 0.7.4.0:
     * Properly process Unicode key events on Windows.
     * Add an instance MonadExcept IdentityT.
     * Remove custom Setup logic to support Cabal 2.0.

  Changed in version 0.7.3.1:
     * Properly disable echoing in getPassword when running in MinTTY.
     * Use `cast` from Data.Typeable instead of Data.Dynamic.

  Changed in version 0.7.3.0:
     * Require ghc version of at least 7.4.1, and clean up obsolete code
     * Add thread-safe (in terminal-style interaction) external print function
     * Add a MonadFix instance for InputT
     * Bump upper bounds on `base` and `directory` to support ghc-8.0.2

  Changed in version 0.7.2.3:
     * Fix hsc2hs-related warning on ghc-8
     * Fix the behavior of ctrl-W in the emacs bindings
     * Point to github instead of trac

  Changed in version 0.7.2.2:
     * Fix Linux to Windows cross-compile
     * Canonicalize AMP instances to make the code more future proof
     * Generalize constraints for InputT instances
     * Bump upper bounds on base and transformers
     * Make Haskeline `-Wtabs` clean

  Changed in version 0.7.2.1:
     * Fix build on Windows.

  Changed in version 0.7.2.0:
     * Bump upper-bound on base and filepath libraries to accomodate GHC HEAD (7.10)
     * Drop Cabal dependency to 1.10
     * Use explicit forall syntax to avoid warning
     * Support Applicative/Monad proposal in Win32/Draw backend
     * Add Eq/Ord instances to Completion
     * Add a "forall" quantifier before rank-n types

  Changed in version 0.7.1.3:
     * Add support for transformers-0.4.0.0.

  Changed in version 0.7.1.2:
     * Require ghc>=7.0.1.
     * Allow building with terminfo-0.4.

  Changed in version 0.7.1.1:
     * Point to github for HEAD.

  Changed in version 0.7.1.0:
     * Fix build with ghc-7.8.
     * Fix build with ghc-6.12.3.
     * Fix build on Android.
     * Fix build on Win64.
     * Add 'catches' to System.Console.Haskeline.MonadException.

  Changed in version 0.7.0.3:
     * Fix build with ghc>=7.6.1.

  Changed in version 0.7.0.2:
     * Fix build on Windows with ghc>=7.4.1.

  Changed in version 0.7.0.1:
     * Fix GHC build by removing a Haskell comment on an #endif line

  Changed in version 0.7.0.0:
     API changes:
     * Remove System.Console.Haskeline.Encoding
     * Make the MonadException class more general (similar to monad-control)
     * Don't make InputT an instance of MonadState/MonadReader
     * #117: Implement mapInputT

     Internal changes:
     * Bump dependencies and general compatibility for ghc-7.6.1
     * Depend on the transformers package instead of mtl
     * Don't depend on the extensible-exceptions package
     * Don't depend on the utf8-string package (except with ghc<7.4.1)
     * Bump the minimum GHC version to 6.10.1
     * Use ScopedTypeVariables instead of PatternSignatures

     Internal fixes:
     * Prevent crashes on Windows when writing too many characters at once
       or ctrl-L on large window (GHC ticket #4415)
     * Remember the user's history and kill ring state after ctrl-c
     * Use ccall on Win64
     * Fix terminfo's guess of the window size

  Changed in version 0.6.4.7:
     * Bump dependencies to allow mtl-2.1, containers-0.5 and bytestring-0.10.
     * Prefix C functions with "haskeline_" so we don't clash with other packages
     * Prevent cursor flicker when outputting in the terminfo backend

  Changed in version 0.6.4.6:
     * Build with ghc-7.4.1.

  Changed in version 0.6.4.5:
     * #116: Prevent hang on 64-bit systems when the prompt contains a control
             character.

  Changed in version 0.6.4.4:
     * #115: Fix the behavior of the 'f' and 't' commands when deleting text.
     * #73: Fix regression: pasting multiple lines could drop some characters.
     * Don't require NondecreasingIndentation.

  Changed in version 0.6.4.3:
     * Fix a bug on ghc-7.2.1 with tab-completion of Unicode filenames.

  Changed in version 0.6.4.2:
     * Various updates for ghc-7.2.1.

  Changed in version 0.6.4:
     * Added new function getInputLineWithInitial.

  Changed in version 0.6.3.2:
     * Allow building with mtl-2.0.* .

  Changed in version 0.6.3.1:
     * Updated contraints for ghc-7.0.1.

     * Fix building on ghc-6.10.

  Changed in version 0.6.3:
     * #111: Correct width calculations when the prompt contains newlines.

     * #109: Add function completeWordWithPrev.

     * #101, #44: Extend the API with Behaviors, which control the choice between
       terminal-style and file-style interaction.

     * #78: Correct width calculations for escape sequences ("\ESC...\STX")

     * Better warning message when -fterminfo doesn't work.

     * Added getPassword as a new input function.

  Changed in version 0.6.2.4:
     * Added back a MonadException instance for mtl's StateT.

  Changed in version 0.6.2.3:
     * #110: Recognize the enter key in xterm.

     * #108: Fix behavior after a paste of long, non-ASCII text.

     * #106: Ignore input immediately following an unrecognized control sequence.

     * #104: In vi-mode, allow, e.g., "d2w" as well as "2dw"

     * #103: Fix vi-mode 'c' command with movements.

     * #81: Correctly handle characters with a width > 1.

     * Compatibility updates from the GHC folks for Solaris and for ghc-6.14.

     * Optimization: if several key presses are input all at once (e.g. from a
       paste), only display the last change.  This can also make Haskeline more
       responsive when editing long lines.

     * Hard-code some defaults for ctrl-left and ctrl-right, and provide the
       corresponding Emacs bindings to skip words.

  Changed in version 0.6.2.2:
     * Raise dependency to utf8-string>=0.3.6 (fixes a bug when decoding invalid
       input)

  Changed in version 0.6.2.1:
    Internal/API changes:
     * Make sure to always use binary mode when expecting Char-as-byte.

     * Eliminate unused import warnings on ghc>=6.11

     * Increase upper bound on some dependencies for ghc-6.12

  Changed in version 0.6.2:

    User interface changes:
     * A multitude of new emacs and vi commands

     * New preference 'historyDuplicates' to prevent storage of duplicate lines

     * Support PageUp and PageDown keys

     * Let ctrl-L (clear-screen) work during getInputChar

    Internal/API changes:
     * Compatibility with ghc-6.12

     * Calculate the correct width for Unicode combining characters

     * Removed RankNTypes requirement; added Rank2Types and UndecidableInstances

     * Use simpleUserHooks instead of autoconfUserHooks in the Setup script

     * Internal refactoring to make command declaration more flexible

     * Read the .haskeline file completely before starting the UI (laziness issue)
basic-deps:
  bytestring: ! '>=0.9 && <0.11'
  unix: ! '>=2.0 && <2.9'
  stm: ! '>=2.4 && <2.6'
  base: ! '>=4.9 && <4.13'
  filepath: ! '>=1.2 && <1.5'
  process: ! '>=1.0 && <1.7'
  containers: ! '>=0.4 && <0.7'
  terminfo: ! '>=0.3.1.3 && <0.5'
  transformers: ! '>=0.4 && <0.6'
  directory: ! '>=1.1 && <1.4'
all-versions:
- '0.2'
- 0.2.1
- '0.3'
- 0.3.1
- 0.3.2
- '0.4'
- '0.5'
- 0.5.0.1
- '0.6'
- 0.6.0.1
- 0.6.1
- 0.6.1.1
- 0.6.1.2
- 0.6.1.3
- 0.6.1.5
- 0.6.1.6
- 0.6.2
- 0.6.2.1
- 0.6.2.2
- 0.6.2.3
- 0.6.2.4
- 0.6.3
- 0.6.3.1
- 0.6.3.2
- 0.6.4.0
- 0.6.4.1
- 0.6.4.2
- 0.6.4.3
- 0.6.4.4
- 0.6.4.5
- 0.6.4.6
- 0.6.4.7
- 0.7.0.0
- 0.7.0.1
- 0.7.0.2
- 0.7.0.3
- 0.7.1.0
- 0.7.1.1
- 0.7.1.2
- 0.7.1.3
- 0.7.2.0
- 0.7.2.1
- 0.7.2.2
- 0.7.2.3
- 0.7.3.0
- 0.7.3.1
- 0.7.4.0
- 0.7.4.1
- 0.7.4.2
- 0.7.4.3
- 0.7.5.0
author: Judah Jacobson
latest: 0.7.5.0
description-type: haddock
description: |-
  Haskeline provides a user interface for line input in command-line
  programs.  This library is similar in purpose to readline, but since
  it is written in Haskell it is (hopefully) more easily used in other
  Haskell programs.

  Haskeline runs both on POSIX-compatible systems and on Windows.
license-name: BSD-3-Clause
{'fraction_non_alphanumeric': 0.11528271041208636, 'fraction_numerical': 0.06347595693105587, 'mean_word_length': 2.6137706253819517, 'pattern_counts': {'":': 0, '<': 32, '<?xml version=': 0, '>': 42, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 146, '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': '2614010', 'n_tokens_mistral': 6909, 'n_tokens_neox': 6365, 'n_words': 2105}