haskeline-0.8.2: haskeline.cabal
Name: haskeline
Cabal-Version: >=1.10
Version: 0.8.2
Category: User Interfaces
License: BSD3
License-File: LICENSE
Copyright: (c) Judah Jacobson
Author: Judah Jacobson
Maintainer: Judah Jacobson <judah.jacobson@gmail.com>
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: https://github.com/judah/haskeline
Bug-Reports: https://github.com/judah/haskeline/issues
Stability: Stable
Build-Type: Simple
extra-source-files: examples/Test.hs Changelog includes/*.h
source-repository head
type: git
location: git://github.com/judah/haskeline.git
-- 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
Manual: True
-- Help the GHC build by making it possible to disable the extra binary.
-- TODO: Make GHC handle packages with both a library and an executable.
flag examples
Description: Enable executable components used for tests.
Default: True
Manual: True
Library
-- We require ghc>=7.4.1 (base>=4.5) 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
Build-depends: base >=4.9 && < 4.17, containers>=0.4 && < 0.7,
directory>=1.1 && < 1.4, bytestring>=0.9 && < 0.12,
filepath >= 1.2 && < 1.5, transformers >= 0.2 && < 0.6,
process >= 1.0 && < 1.7, stm >= 2.4 && < 2.6,
exceptions == 0.10.*
Default-Language: Haskell98
Default-Extensions:
ForeignFunctionInterface, Rank2Types, FlexibleInstances,
TypeSynonymInstances
FlexibleContexts, ExistentialQuantification
ScopedTypeVariables, GeneralizedNewtypeDeriving
StandaloneDeriving
MultiParamTypeClasses,
UndecidableInstances
ScopedTypeVariables, CPP, DeriveDataTypeable,
PatternGuards
Exposed-Modules:
System.Console.Haskeline
System.Console.Haskeline.Completion
System.Console.Haskeline.History
System.Console.Haskeline.IO
System.Console.Haskeline.Internal
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.Recover
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
if os(windows) {
Build-depends: Win32>=2.0
Other-modules: System.Console.Haskeline.Backend.Win32
System.Console.Haskeline.Backend.Win32.Echo
c-sources: cbits/win_console.c
includes: win_console.h, windows_cconv.h
install-includes: win_console.h
cpp-options: -DMINGW
} else {
Build-depends: unix>=2.0 && < 2.9
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.5
Other-modules: System.Console.Haskeline.Backend.Terminfo
cpp-options: -DTERMINFO
}
if os(solaris) {
cpp-options: -DUSE_TERMIOS_H
}
}
ghc-options: -Wall -Wcompat
test-suite haskeline-tests
type: exitcode-stdio-1.0
hs-source-dirs: tests
Default-Language: Haskell98
if os(windows) {
buildable: False
}
if !flag(examples) {
buildable: False
}
Main-Is: Unit.hs
Build-depends: base, containers, text, bytestring, HUnit, process, unix
Other-Modules: RunTTY, Pty
build-tool-depends: haskeline:haskeline-examples-Test
-- The following program is used by unit tests in `tests` executable
Executable haskeline-examples-Test
if !flag(examples) {
buildable: False
}
Build-depends: base, containers, haskeline
Default-Language: Haskell2010
hs-source-dirs: examples
Main-Is: Test.hs