ghc-vis 0.7.2.3 → 0.7.2.4
raw patch · 3 files changed
+33/−26 lines, 3 filesdep ~textsetup-changedPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: text
API changes (from Hackage documentation)
Files
- Setup.hs +2/−0
- ghc-vis.cabal +6/−6
- src/GHC/Vis.hs +25/−20
Setup.hs view
@@ -11,6 +11,8 @@ main = defaultMainWithHooks $ simpleUserHooks { postInst = postInstHook (postInst simpleUserHooks)+ -- Copy for Cabal 1.20, which does not work with postInst+ , postCopy = postInstHook (postCopy simpleUserHooks) , postConf = postConfHook (postConf simpleUserHooks) }
ghc-vis.cabal view
@@ -1,5 +1,5 @@ name: ghc-vis-version: 0.7.2.3+version: 0.7.2.4 license: BSD3 license-file: LICENSE category: GHC, Debug, Development@@ -20,7 +20,7 @@ how it can be used with GHCi's debugger: <http://felsin9.de/nnis/ghc-vis/#combined-debugger> -tested-with: GHC == 7.4.1, GHC == 7.4.2, GHC == 7.6.1, GHC == 7.6.2, GHC == 7.6.3+tested-with: GHC == 7.4.1, GHC == 7.4.2, GHC == 7.6.1, GHC == 7.6.2, GHC == 7.6.3, GHC == 7.8.3 data-files: ghci data/main.ui data/welcome.svg data/legend_graph.svg data/legend_list.svg data/icon_collapse.svg data/icon_evaluate.svg data/hover_collapse.svg data/hover_evaluate.svg Extra-source-files: nonghci-test.hs @@ -44,12 +44,12 @@ mtl >= 2.0 && < 2.3, fgl >= 5.4 && < 5.6, deepseq == 1.3.*,- text >= 0.11 && < 1.2,+ text >= 0.11 && < 1.3, transformers >= 0.3 && < 0.5, containers >= 0.4 && < 0.6,- gtk == 0.12.*,- svgcairo == 0.12.*,- cairo == 0.12.*,+ gtk >= 0.12 && < 0.13,+ svgcairo >= 0.12 && < 0.13,+ cairo >= 0.12 && < 0.13, ghc-heap-view == 0.5.* Hs-source-dirs: src/ Ghc-options: -Wall -fno-warn-unused-do-bind
src/GHC/Vis.hs view
@@ -70,6 +70,7 @@ import Data.IORef import Data.Version +import qualified Data.Text as Text import qualified Data.IntMap as M import System.Timeout@@ -357,92 +358,96 @@ return True onKeyPress window $ \e -> do- --putStrLn $ E.eventKeyName e- state <- readIORef visState - when (E.eventKeyName e `elem` ["plus", "Page_Up", "KP_Add"]) $ do+#if MIN_VERSION_gtk(0,13,0)+ let eventKeyName = Text.unpack . E.eventKeyName+#else+ let eventKeyName = E.eventKeyName+#endif++ when (eventKeyName e `elem` ["plus", "Page_Up", "KP_Add"]) $ do let newZoomRatio = zoomRatio state * zoomIncrement (oldX, oldY) = position state newPos = (oldX*zoomIncrement, oldY*zoomIncrement) modifyIORef visState (\s -> s {zoomRatio = newZoomRatio, position = newPos}) - when (E.eventKeyName e `elem` ["minus", "Page_Down", "KP_Subtract"]) $ do+ when (eventKeyName e `elem` ["minus", "Page_Down", "KP_Subtract"]) $ do let newZoomRatio = zoomRatio state / zoomIncrement (oldX, oldY) = position state newPos = (oldX/zoomIncrement, oldY/zoomIncrement) modifyIORef visState (\s -> s {zoomRatio = newZoomRatio, position = newPos}) - when (E.eventKeyName e `elem` ["0", "equal"]) $+ when (eventKeyName e `elem` ["0", "equal"]) $ modifyIORef visState (\s -> s {zoomRatio = 1, position = (0, 0)}) - when (E.eventKeyName e `elem` ["Left", "h", "a"]) $+ when (eventKeyName e `elem` ["Left", "h", "a"]) $ modifyIORef visState (\s -> let (x,y) = position s newX = x + positionIncrement in s {position = (newX, y)}) - when (E.eventKeyName e `elem` ["Right", "l", "d"]) $+ when (eventKeyName e `elem` ["Right", "l", "d"]) $ modifyIORef visState (\s -> let (x,y) = position s newX = x - positionIncrement in s {position = (newX, y)}) - when (E.eventKeyName e `elem` ["Up", "k", "w"]) $+ when (eventKeyName e `elem` ["Up", "k", "w"]) $ modifyIORef visState (\s -> let (x,y) = position s newY = y + positionIncrement in s {position = (x, newY)}) - when (E.eventKeyName e `elem` ["Down", "j", "s"]) $+ when (eventKeyName e `elem` ["Down", "j", "s"]) $ modifyIORef visState (\s -> let (x,y) = position s newY = y - positionIncrement in s {position = (x, newY)}) - when (E.eventKeyName e `elem` ["H", "A"]) $+ when (eventKeyName e `elem` ["H", "A"]) $ modifyIORef visState (\s -> let (x,y) = position s newX = x + bigPositionIncrement in s {position = (newX, y)}) - when (E.eventKeyName e `elem` ["L", "D"]) $+ when (eventKeyName e `elem` ["L", "D"]) $ modifyIORef visState (\s -> let (x,y) = position s newX = x - bigPositionIncrement in s {position = (newX, y)}) - when (E.eventKeyName e `elem` ["K", "W"]) $+ when (eventKeyName e `elem` ["K", "W"]) $ modifyIORef visState (\s -> let (x,y) = position s newY = y + bigPositionIncrement in s {position = (x, newY)}) - when (E.eventKeyName e `elem` ["J", "S"]) $+ when (eventKeyName e `elem` ["J", "S"]) $ modifyIORef visState (\s -> let (x,y) = position s newY = y - bigPositionIncrement in s {position = (x, newY)}) - when (E.eventKeyName e `elem` ["space", "Return", "KP_Enter"]) $+ when (eventKeyName e `elem` ["space", "Return", "KP_Enter"]) $ join $ runCorrect click - when (E.eventKeyName e `elem` ["v"]) $+ when (eventKeyName e `elem` ["v"]) $ put SwitchSignal - when (E.eventKeyName e `elem` ["c"]) $+ when (eventKeyName e `elem` ["c"]) $ put ClearSignal - when (E.eventKeyName e `elem` ["C"]) $+ when (eventKeyName e `elem` ["C"]) $ put RestoreSignal - when (E.eventKeyName e `elem` ["u"]) $+ when (eventKeyName e `elem` ["u"]) $ put UpdateSignal - when (E.eventKeyName e `elem` ["comma", "bracketleft"]) $+ when (eventKeyName e `elem` ["comma", "bracketleft"]) $ put $ HistorySignal (+1) - when (E.eventKeyName e `elem` ["period", "bracketright"]) $+ when (eventKeyName e `elem` ["period", "bracketright"]) $ put $ HistorySignal (\x -> x - 1) widgetQueueDraw canvas