mirror of
https://github.com/CrystalSplitter/ghcitui.git
synced 2024-11-22 06:32:37 +03:00
Update cabal file with more correct version bounds
This uses the --prefer-oldest flag to find what the correct bottom bounds should be for some package versions.
This commit is contained in:
parent
fd38a5d7f8
commit
160f704353
@ -21,9 +21,9 @@ description:
|
||||
bug-reports: https://github.com/CrystalSplitter/ghcitui
|
||||
license: BSD-3-Clause
|
||||
license-file: LICENSE
|
||||
author: Jordan 'CrystalSplitter' R AW
|
||||
author: Jordan 'Crystal' R AW
|
||||
maintainer: crystal@crystalwobsite.gay
|
||||
copyright: Jordan R AW
|
||||
copyright: Jordan 'Crystal' R AW
|
||||
category: Debug
|
||||
extra-source-files: LICENSE
|
||||
, assets/splash.txt
|
||||
@ -39,11 +39,11 @@ source-repository head
|
||||
|
||||
executable ghcitui
|
||||
main-is: Main.hs
|
||||
build-depends: base
|
||||
build-depends: base >= 4.16 && < 5
|
||||
, ghcitui-brick
|
||||
, optparse-applicative ^>= 0.18.1.0
|
||||
, optparse-applicative >= 0.17 && < 0.19
|
||||
, ghcitui
|
||||
, text
|
||||
, text >= 2.0 && < 2.2
|
||||
hs-source-dirs: app
|
||||
other-modules: Paths_ghcitui
|
||||
autogen-modules: Paths_ghcitui
|
||||
@ -61,17 +61,20 @@ executable ghcitui
|
||||
|
||||
library
|
||||
hs-source-dirs: lib/ghcitui-core
|
||||
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
|
||||
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.8
|
||||
, ghcid >= 0.8.8 && < 0.9
|
||||
, regex-base ^>= 0.94.0.2
|
||||
, regex-tdfa ^>= 1.3.2.1
|
||||
, safe ^>= 0.3.19
|
||||
, regex-tdfa >= 1.3.2 && < 1.4
|
||||
, string-interpolate ^>= 0.3.2.1
|
||||
, text ^>= 2.0.2
|
||||
, text >= 2.0 && < 2.2
|
||||
, 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
|
||||
@ -88,25 +91,23 @@ library
|
||||
default-extensions: DuplicateRecordFields
|
||||
MonoLocalBinds
|
||||
NamedFieldPuns
|
||||
OverloadedRecordDot
|
||||
OverloadedStrings
|
||||
RecordWildCards
|
||||
TupleSections
|
||||
|
||||
library ghcitui-brick
|
||||
hs-source-dirs: lib/ghcitui-brick
|
||||
build-depends: base >= 4.17 && < 5
|
||||
build-depends: base >= 4.15 && < 5
|
||||
, brick >= 2.2 && < 2.4
|
||||
, containers >= 0.6.7 && < 0.8
|
||||
, errors ^>= 2.3.0
|
||||
, containers >= 0.6.8 && < 0.8
|
||||
, errors >= 2.0 && < 2.4
|
||||
, file-embed ^>= 0.0.15
|
||||
, ghcitui
|
||||
, microlens ^>= 0.4.13.1
|
||||
, microlens-th ^>= 0.4.3.14
|
||||
, safe ^>= 0.3.19
|
||||
, text ^>= 2.0.2
|
||||
, microlens >= 0.4.0.1 && < 0.5
|
||||
, microlens-th ^>= 0.4
|
||||
, text >= 2.0 && < 2.2
|
||||
, text-zipper ^>= 0.13
|
||||
, vector ^>= 0.13.1.0
|
||||
, vector >= 0.10 && < 0.14
|
||||
, vty >= 5.38 && < 6.1
|
||||
, word-wrap ^>= 0.5
|
||||
exposed-modules: Ghcitui.Brick
|
||||
@ -130,7 +131,6 @@ library ghcitui-brick
|
||||
LambdaCase
|
||||
MonoLocalBinds
|
||||
NamedFieldPuns
|
||||
OverloadedRecordDot
|
||||
OverloadedStrings
|
||||
RecordWildCards
|
||||
TupleSections
|
||||
@ -140,7 +140,7 @@ test-suite spec
|
||||
hs-source-dirs: test
|
||||
main-is: Spec.hs
|
||||
type: exitcode-stdio-1.0
|
||||
build-depends: base >= 4.17 && < 5
|
||||
build-depends: base >= 4.16 && < 5
|
||||
, ghcitui
|
||||
, hspec ^>= 2.11.5
|
||||
other-modules: LocSpec
|
||||
|
@ -1,3 +1,4 @@
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
{-# LANGUAGE RecordWildCards #-}
|
||||
|
||||
module Ghcitui.Brick.AppInterpState
|
||||
|
@ -1,4 +1,5 @@
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
|
||||
module Ghcitui.Brick.AppState
|
||||
( ActiveWindow (..)
|
||||
|
@ -1,5 +1,7 @@
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
|
||||
module Ghcitui.Brick.BrickUI
|
||||
( launchBrick
|
||||
, AppState (..)
|
||||
@ -133,7 +135,7 @@ drawBaseLayer s =
|
||||
lastCmdWidget =
|
||||
B.padRight
|
||||
B.Max
|
||||
( case headMay s.interpState.execHist of
|
||||
( case headMay (Daemon.execHist (AppState.interpState s)) of
|
||||
Just h -> B.txt h
|
||||
_ -> B.txt " "
|
||||
)
|
||||
@ -158,7 +160,7 @@ drawBaseLayer s =
|
||||
$ s.interpLogs
|
||||
promptLine :: B.Widget AppName
|
||||
promptLine =
|
||||
B.txt s.appConfig.getInterpreterPrompt
|
||||
B.txt (AppConfig.getInterpreterPrompt . AppState.appConfig $ s)
|
||||
<+> BE.renderEditor displayF enableCursor (s ^. liveEditor)
|
||||
where
|
||||
displayF :: [T.Text] -> B.Widget AppName
|
||||
|
@ -39,7 +39,7 @@ drawSourceViewer s
|
||||
B.padTop (B.Pad 3)
|
||||
. B.hCenter
|
||||
$ B.withAttr (B.attrName "styled") w
|
||||
splashWidget = maybe (B.txt "No splash file loaded.") B.txt s.splashContents
|
||||
splashWidget = B.txt $ fromMaybe "No splash file loaded." (AppState.splashContents s)
|
||||
|
||||
-- -------------------------------------------------------------------------------------------------
|
||||
-- Source Viewer Drawing Details
|
||||
@ -143,7 +143,7 @@ drawSourceViewer' s sourceWindow = composedTogether
|
||||
gutterInfoForLine lineno =
|
||||
GutterInfo
|
||||
{ isStoppedHere =
|
||||
s.interpState.pauseLoc
|
||||
Daemon.pauseLoc (AppState.interpState s)
|
||||
<&> Loc.sourceRange
|
||||
<&> (`Loc.isLineInside` lineno)
|
||||
& fromMaybe False
|
||||
@ -162,7 +162,7 @@ drawSourceViewer' s sourceWindow = composedTogether
|
||||
|
||||
originalLookupLineNo :: Int
|
||||
originalLookupLineNo =
|
||||
s.interpState.pauseLoc
|
||||
Daemon.pauseLoc (AppState.interpState s)
|
||||
>>= Loc.startLine . Loc.sourceRange
|
||||
& fromMaybe 0
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
{-# LANGUAGE BlockArguments #-}
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
|
||||
module Ghcitui.Brick.Events (handleEvent, handleCursorPosition) where
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
|
||||
module Ghcitui.Ghcid.Daemon
|
||||
|
@ -1,4 +1,5 @@
|
||||
{-# LANGUAGE NamedFieldPuns #-}
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
|
||||
module Ghcitui.Ghcid.ParseContext
|
||||
@ -23,7 +24,6 @@ import Control.Error
|
||||
import Data.Array ((!))
|
||||
import Data.String.Interpolate (i)
|
||||
import qualified Data.Text as T
|
||||
import Safe (readNote)
|
||||
import Text.Regex.TDFA (MatchResult (..), (=~~))
|
||||
import qualified Text.Regex.TDFA as Regex
|
||||
|
||||
@ -182,7 +182,7 @@ parseShowBreaks t
|
||||
parseEach mr =
|
||||
let
|
||||
-- Don't need to use readMay because regex.
|
||||
idx = readNote "Failed to read index" $ T.unpack $ mr.mrSubs ! 1
|
||||
eIdx = readErr "Failed to read index" $ T.unpack $ mr.mrSubs ! 1
|
||||
module_ = mr.mrSubs ! 2
|
||||
_filepath = Just $ mr.mrSubs ! 3 -- Not used currently but could be useful?
|
||||
sourceRange = parseSourceRange $ mr.mrSubs ! 4
|
||||
@ -191,12 +191,13 @@ parseShowBreaks t
|
||||
"disabled" -> Right False
|
||||
x -> Left ("Breakpoint neither enabled nor disabled: " <> x)
|
||||
in
|
||||
case sourceRange of
|
||||
_
|
||||
case (sourceRange, eIdx) of
|
||||
(_, Right idx)
|
||||
| sourceRange == Loc.unknownSourceRange ->
|
||||
Left ("Could not parse source range for breakpoint " <> showT idx)
|
||||
| otherwise ->
|
||||
enabled >> Right (idx, Loc.ModuleLoc module_ sourceRange)
|
||||
(_, Left e) -> Left e
|
||||
|
||||
-- | Parse the output of ":show modules".
|
||||
parseShowModules :: T.Text -> Either ParseError [(T.Text, FilePath)]
|
||||
|
@ -1,3 +1,5 @@
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
|
||||
module Ghcitui.Loc
|
||||
( -- * Code locations within a file
|
||||
|
||||
@ -28,7 +30,7 @@ module Ghcitui.Loc
|
||||
import Data.Map.Strict as Map
|
||||
import Data.Maybe (isNothing)
|
||||
import qualified Data.Text as T
|
||||
import Safe (headMay)
|
||||
import Control.Error (headMay)
|
||||
|
||||
-- ------------------------------------------------------------------------------------------------
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user