Name: haskeline Cabal-Version: >=1.6 Version: 0.7.0.1 Category: User Interfaces License: BSD3 License-File: LICENSE Copyright: (c) Judah Jacobson Author: Judah Jacobson Maintainer: Judah Jacobson Category: User Interfaces Synopsis: A command-line interface for user input, written in Haskell. 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. Homepage: http://trac.haskell.org/haskeline Stability: Experimental Build-Type: Custom extra-source-files: examples/Test.hs CHANGES source-repository head type: darcs location: http://code.haskell.org/haskeline -- There are three main advantages to the terminfo backend over the portable, -- "dumb" alternative. First, it enables more efficient control sequences -- when redrawing the input. Second, and more importantly, it enables us -- to draw on multiple lines, so we can wrap long input strings. And third, -- the backend adds some extra key sequences such as forwards delete. -- -- (The "dumb" terminal also allows editing of long input strings, but is -- restricted to only one line and thus only shows part of the input at once.) flag terminfo Description: Use the terminfo package for POSIX consoles. Default: True -- Note that the Setup script checks whether -liconv is necessary. This flag -- lets us override that decision. When it is True, we use -liconv. When it -- is False, we run tests to decide. flag libiconv Description: Explicitly link against the libiconv library. Default: False flag legacy-encoding Description: Use the legacy iconv encoding for POSIX, even on ghc>=7.4.1. (Intended for testing only.) Default: False Library if impl(ghc>=6.11) { Build-depends: base >=4.1 && < 4.7, containers>=0.1 && < 0.6, directory>=1.0 && < 1.2, bytestring>=0.9 && < 0.11 } else { Build-depends: base>=3 && <4.1 , containers>=0.1 && < 0.3, directory==1.0.*, bytestring==0.9.* } Build-depends: filepath >= 1.1 && < 1.4, transformers >= 0.2 && < 0.4 Extensions: ForeignFunctionInterface, Rank2Types, FlexibleInstances, TypeSynonymInstances FlexibleContexts, ExistentialQuantification ScopedTypeVariables, GeneralizedNewtypeDeriving MultiParamTypeClasses, OverlappingInstances UndecidableInstances ScopedTypeVariables, CPP, DeriveDataTypeable, PatternGuards Exposed-Modules: System.Console.Haskeline System.Console.Haskeline.Completion System.Console.Haskeline.MonadException System.Console.Haskeline.History System.Console.Haskeline.IO Other-Modules: System.Console.Haskeline.Backend System.Console.Haskeline.Backend.WCWidth System.Console.Haskeline.Command System.Console.Haskeline.Command.Completion System.Console.Haskeline.Command.History System.Console.Haskeline.Command.KillRing System.Console.Haskeline.Directory System.Console.Haskeline.Emacs System.Console.Haskeline.InputT System.Console.Haskeline.Key System.Console.Haskeline.LineState System.Console.Haskeline.Monads System.Console.Haskeline.Prefs System.Console.Haskeline.RunCommand System.Console.Haskeline.Term System.Console.Haskeline.Command.Undo System.Console.Haskeline.Vi include-dirs: includes c-sources: cbits/h_wcwidth.c -- We require ghc>=7.4.1 to use the base library encodings, -- even though it was implemented in earlier releases, -- due to GHC bug #5436 which wasn't fixed until 7.4.1 if !flag(legacy-encoding) && impl(ghc>=7.4) { cpp-options: -DUSE_GHC_ENCODINGS } else { Build-depends: utf8-string==0.3.* && >=0.3.6 } if os(windows) { Build-depends: Win32>=2.0 Other-modules: System.Console.Haskeline.Backend.Win32 c-sources: cbits/win_console.c includes: win_console.h install-includes: win_console.h cpp-options: -DMINGW } else { Build-depends: unix>=2.0 && < 2.7 -- unix-2.3 doesn't build on ghc-6.8.1 or earlier -- Use manual encoding/decoding on ghc<7.4 if flag (legacy-encoding) || impl(ghc<7.4) { c-sources: cbits/h_iconv.c includes: h_iconv.h install-includes: h_iconv.h Other-modules: System.Console.Haskeline.Backend.Posix.IConv } else { Other-modules: System.Console.Haskeline.Backend.Posix.Recover } Other-modules: System.Console.Haskeline.Backend.Posix System.Console.Haskeline.Backend.Posix.Encoder System.Console.Haskeline.Backend.DumbTerm if flag(terminfo) { Build-depends: terminfo>=0.3.1.3 && <0.4 Other-modules: System.Console.Haskeline.Backend.Terminfo cpp-options: -DTERMINFO } if os(solaris) { cpp-options: -DUSE_TERMIOS_H } } ghc-options: -Wall