ghcitui/ghcitui.cabal
CrystalSplitter 13b8ad8b38 Entirely rework the source viewer for more performance
This is a massive fundamental TUI change. Because Brick Viewports
are too slow to render large source files with tens of thousands
of widgets, we need to use a slice-able data structure to contain
this info.

This is where SourceWindow comes in, which efficiently displays
the source code as a custom widget. This is based on Brick.List,
though slightly different because Brick.List also doesn't
meet our needs.
2024-01-15 02:12:47 -08:00

123 lines
4.4 KiB
Plaintext

cabal-version: 2.4
name: ghcitui
version: 0.1.0.0
synopsis: A Terminal User Interface (TUI) for GHCi
description:
A visual interface for GHCi debug mode inside the terminal.
Features:
* A source view window, with debug keybindings.
* Live variable bindings.
* Live loaded modules.
* Visible trace history.
* An GHCi session in the current context.
bug-reports: https://github.com/CrystalSplitter/ghcitui
license: BSD-3-Clause
license-file: LICENSE
author: Jordan 'CrystalSplitter' R AW
maintainer: crystal@crystalwobsite.gay
copyright: Jordan R AW
category: Debug
extra-source-files: CHANGELOG.md
, LICENSE
, MANUAL.rst
, README.md
source-repository head
type: git
location: https://github.com/CrystalSplitter/ghcitui
executable ghcitui
main-is: Main.hs
build-depends: base >= 4.17 && < 5
, brick
, containers >= 0.6.7 && < 0.8
, errors ^>= 2.3.0
, ghcitui-lib
, microlens ^>= 0.4.13.1
, microlens-th ^>= 0.4.3.14
, optparse-applicative ^>= 0.18.1.0
, safe ^>= 0.3.19
, text ^>= 2.0.2
, text-zipper ^>= 0.13
, vty ^>= 5.38
, word-wrap ^>= 0.5
, vector ^>= 0.13.1.0
hs-source-dirs: app
other-modules: BrickUI
, AppState
, AppTopLevel
, Util
, AppInterpState
, AppConfig
, DrawSourceViewer
, Events
, HelpText
-- Cabal autogen module for package version info.
, Paths_ghcitui
, SourceWindow
ghc-options: -rtsopts
-threaded
-Wall
-Wcompat
-Wincomplete-record-updates
-Wpartial-fields
-Wredundant-constraints
default-language: Haskell2010
default-extensions: DuplicateRecordFields
LambdaCase
OverloadedRecordDot
OverloadedStrings
RecordWildCards
TupleSections
MonoLocalBinds
NamedFieldPuns
library ghcitui-lib
hs-source-dirs: lib
build-depends: base >= 4.17 && < 5
, array ^>= 0.5.4.0
, containers >= 0.6.7 && < 0.8
, errors ^>= 2.3.0
, ghcid ^>= 0.8.8
, regex-base ^>= 0.94.0.2
, regex-tdfa ^>= 1.3.2.1
, safe ^>= 0.3.19
, string-interpolate ^>= 0.3.2.1
, text ^>= 2.0.2
, transformers ^>= 0.6.1.0
exposed-modules: Ghcitui.Ghcid.Daemon
, Ghcitui.Ghcid.ParseContext
, Ghcitui.Ghcid.LogConfig
, Ghcitui.Loc
, Ghcitui.Util
, Ghcitui.NameBinding
other-modules: Ghcitui.Ghcid.StartupConfig
ghc-options: -Wall
-Wcompat
-Wincomplete-record-updates
-Wpartial-fields
-Wredundant-constraints
default-language: Haskell2010
default-extensions: OverloadedRecordDot
DuplicateRecordFields
OverloadedStrings
RecordWildCards
TupleSections
MonoLocalBinds
NamedFieldPuns
test-suite spec
hs-source-dirs: test
main-is: Spec.hs
type: exitcode-stdio-1.0
build-depends: base >= 4.17 && < 5
, hspec ^>= 2.11.5
, ghcitui-lib
other-modules: LocSpec
, UtilSpec
default-language: Haskell2010