packages feed

ansido-1.0.0: ansido.cabal

cabal-version:      2.4
name:               ansido
version:            1.0.0
synopsis:           A terminal task manager built with Ansiform.
description:
  A small task manager for the terminal. It keeps categories and tasks in a
  plain text file and draws a single task table with title, note and status
  using the Ansiform formatting library.
homepage:           https://github.com/Tralen/ansido#readme
bug-reports:        https://github.com/Tralen/ansido/issues
license:            MIT
license-file:       LICENSE
author:             Tunai Raiol
maintainer:         Tralen <dev@tralen.cc>
copyright:          2026 Tunai Raiol
category:           User Interfaces
build-type:         Simple
tested-with:        GHC == 9.2.8 || == 9.14.1
extra-doc-files:
  CHANGELOG.md
  README.md
  docs/*.md
extra-source-files: fourmolu.yaml

-- Unconditional -Werror makes cabal check fail and Hackage reject the package,
-- because future GHC releases add warnings. Keep this flag off by default and
-- enable it with -fwerror in development, CI, release and Hackage workflows.
flag werror
  description: Treat GHC warnings as errors in development and CI.
  default:     False
  manual:      True

source-repository head
  type:     git
  location: https://github.com/Tralen/ansido

common commons
  default-language: Haskell2010
  ghc-options:
    -Wall
    -Wcompat
    -Wincomplete-patterns
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns
  if flag(werror)
    ghc-options: -Werror

library
  import:           commons
  hs-source-dirs:   src
  exposed-modules:
    Ansido.App.Command
    Ansido.App.Run
    Ansido.App.State
    Ansido.App.Update
    Ansido.Domain
    Ansido.Persistence
    Ansido.Ui.Components
    Ansido.Ui.Page
    Ansido.Ui.Theme
    Ansido.Version
  autogen-modules:  Paths_ansido
  other-modules:    Paths_ansido
  build-depends:
    ansiform  >= 1.0    && < 1.1,
    base      >= 4.16   && < 5,
    directory >= 1.3    && < 1.4,
    filepath  >= 1.4    && < 1.6

executable ansido
  import:           commons
  hs-source-dirs:   app
  main-is:          Main.hs
  build-depends:
    ansido,
    base >= 4.16 && < 5

test-suite ansido-test
  import:           commons
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  main-is:          Main.hs
  build-depends:
    QuickCheck >= 2.14 && < 2.20,
    ansido,
    ansiform >= 1.0 && < 1.1,
    base     >= 4.16 && < 5