packages feed

ghcitui-0.4.1.0: ghcitui.cabal

cabal-version:      2.4
name:               ghcitui
version:            0.4.1.0
synopsis:           A Terminal User Interface (TUI) for GHCi

description:
  A terminal user interface for GHCi debug mode.
  .
  Features:
  .
  * A source view window, with debug keybindings.
  .
  * Live variable bindings.
  .
  * Live loaded modules.
  .
  * Visible trace history.
  .
  * An GHCi session in the current context.

author:             Jordan 'Crystal' R AW
bug-reports:        https://github.com/CrystalSplitter/ghcitui/issues
category:           Debug
copyright:          Jordan 'Crystal' R AW
homepage:           https://github.com/CrystalSplitter/ghcitui
license-file:       LICENSE
license:            BSD-3-Clause
maintainer:         crystal@crystalwobsite.gay
stability:          experimental
tested-with:        GHC == 9.2.8
                    ||==9.4.7
                    ||==9.4.8
                    ||==9.8.1
                    ||==9.8.2

extra-source-files: LICENSE
                    , assets/splash.txt
                    , gen/MANUAL.txt
extra-doc-files: CHANGELOG.md
                 , MANUAL.rst
                 , README.md
                 , docs/assets/20240116_splash.png

source-repository head
    type:       git
    location:   https://github.com/CrystalSplitter/ghcitui

executable ghcitui
    main-is:            Main.hs
    build-depends:      base >= 4.16 && < 5
                        , ghcitui-brick
                        , optparse-applicative >= 0.17 && < 0.19
                        , ghcitui
                        , text
    hs-source-dirs:     app
    other-modules:      Paths_ghcitui
    autogen-modules:    Paths_ghcitui
    ghc-options:        -rtsopts
                        -threaded
                        -Wall
                        -Wcompat
                        -Wincomplete-record-updates
                        -Wpartial-fields
                        -Wredundant-constraints
    default-language:   Haskell2010
    default-extensions: MonoLocalBinds
                        OverloadedStrings
                        RecordWildCards

library
    hs-source-dirs:     lib/ghcitui-core
    build-depends:      base >= 4.16 && < 5
                        , array ^>= 0.5
                        , containers >= 0.6.8 && < 0.8
                        , errors >= 2.2 && < 2.4
                        -- Needed to limit ghcid compat.
                        , extra >= 1.7.14 && < 1.9
                        , ghcid >= 0.8.8 && < 0.9
                        , regex-base ^>= 0.94.0.2
                        , regex-tdfa >= 1.3.2 && < 1.4
                        , string-interpolate >= 0.3.2.1 && < 0.4
                        -- Pinned to less than 2.1.2, because it breaks
                        -- with FSNotify.
                        , text >= 2.0 && < 2.3
                        , fsnotify ^>= 0.4.1.0
                        , transformers ^>= 0.6.1.0
                        -- Needed to limit string-interpolate compat.
                        , utf8-string >= 1.0.2 && < 1.1
    exposed-modules:    Ghcitui.Ghcid.Daemon
                        , Ghcitui.Ghcid.LogConfig
                        , Ghcitui.Ghcid.ParseContext
                        , Ghcitui.Ghcid.ParseError
                        , Ghcitui.Ghcid.ParseTabCompletions
                        , Ghcitui.Loc
                        , Ghcitui.NameBinding
                        , Ghcitui.Util
    other-modules:      Ghcitui.Ghcid.StartupConfig
    ghc-options:        -Wall
                        -Wcompat
                        -Wincomplete-record-updates
                        -Wpartial-fields
                        -Wredundant-constraints
    default-language:   Haskell2010
    default-extensions: DuplicateRecordFields
                        MonoLocalBinds
                        NamedFieldPuns
                        OverloadedStrings
                        RecordWildCards
                        TupleSections

library ghcitui-brick
    hs-source-dirs:     lib/ghcitui-brick
    build-depends:      base >= 4.16 && < 5
                        , brick >= 2.2 && < 2.5
                        , containers
                        , errors
                        , file-embed ^>= 0.0.15
                        , ghcitui
                        , microlens >= 0.4.0.1 && < 0.5
                        , microlens-th ^>= 0.4
                        , text
                        , text-zipper ^>= 0.13
                        , vector >= 0.10 && < 0.14
                        , vty >= 5.38 && < 6.3
                        , word-wrap ^>= 0.5
    exposed-modules:    Ghcitui.Brick
    other-modules:      Ghcitui.Brick.AppConfig
                        , Ghcitui.Brick.AppInterpState
                        , Ghcitui.Brick.AppState
                        , Ghcitui.Brick.AppTopLevel
                        , Ghcitui.Brick.BrickUI
                        , Ghcitui.Brick.DrawSourceViewer
                        , Ghcitui.Brick.Events
                        , Ghcitui.Brick.EventUtils
                        , Ghcitui.Brick.HelpText
                        , Ghcitui.Brick.InterpWindowEvents
                        , Ghcitui.Brick.SourceWindow
                        , Ghcitui.Brick.SourceWindowEvents
                        , Ghcitui.Brick.SplashTextEmbed
    ghc-options:        -Wall
                        -Wcompat
                        -Wincomplete-record-updates
                        -Wpartial-fields
                        -Wredundant-constraints
    default-language:   Haskell2010
    default-extensions: DuplicateRecordFields
                        LambdaCase
                        MonoLocalBinds
                        NamedFieldPuns
                        OverloadedStrings
                        RecordWildCards
                        TupleSections


test-suite spec
    hs-source-dirs:     test
    main-is:            Spec.hs
    type:               exitcode-stdio-1.0
    build-depends:      base >= 4.16 && < 5
                        , text
                        , ghcitui
                        , hspec ^>= 2.11.5
    other-modules:      LocSpec
                        , ParseContextSpec
                        , UtilSpec
    default-language:   Haskell2010