haskeline-0.8.3.0: haskeline.cabal
Name: haskeline
Cabal-Version: >=1.10
Version: 0.8.3.0
Category: User Interfaces
License: BSD3
License-File: LICENSE
Copyright: (c) Judah Jacobson
Author: Judah Jacobson
Maintainer: Troels Henriksen <athas@sigkill.dk>
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/haskell/haskeline
Bug-Reports: https://github.com/haskell/haskeline/issues
Stability: Stable
Build-Type: Simple
tested-with:
GHC == 9.10.1
GHC == 9.8.2
GHC == 9.6.5
GHC == 9.4.8
GHC == 9.2.8
GHC == 9.0.2
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
extra-source-files: examples/Test.hs Changelog includes/*.h
source-repository head
type: git
location: https://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
Build-depends:
base >= 4.9 && < 4.21
, containers >= 0.4 && < 0.8
, directory >= 1.1 && < 1.4
, bytestring >= 0.9 && < 0.13
, filepath >= 1.2 && < 1.6
, transformers >= 0.2 && < 0.7
, 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.1 && < 2.10 || >= 2.12
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:
-- shared dependencies with library
base >= 4.9 && < 4.21
, containers >= 0.4 && < 0.8
, bytestring >= 0.9 && < 0.13
, process >= 1.0 && < 1.7
-- dependencies for test-suite
, HUnit
, text
, unix >= 2.0 && < 2.9
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