[Pkg-haskell-commits] [package-plan] 03/03: Add yi patches
Joachim Breitner
nomeata at moszumanska.debian.org
Wed Sep 10 20:51:59 UTC 2014
This is an automated email from the git hooks/post-receive script.
nomeata pushed a commit to branch master
in repository package-plan.
commit c865e0573169310e5402aea2e672c74e457f3bf1
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Wed Sep 10 22:51:46 2014 +0200
Add yi patches
---
packages.txt | 2 +-
.../0.7.1/Yi.Syntax.Tree-quickcheck-2.7-patch.diff | 60 +++
patches/yi/0.7.1/man-page.diff | 73 +++
patches/yi/0.7.1/series | 4 +
patches/yi/0.7.1/vty-5.1-compat | 329 ++++++++++++++
patches/yi/0.7.1/xpm-icons.diff | 501 +++++++++++++++++++++
6 files changed, 968 insertions(+), 1 deletion(-)
diff --git a/packages.txt b/packages.txt
index 03b7858..7a3248c 100644
--- a/packages.txt
+++ b/packages.txt
@@ -744,7 +744,7 @@ yesod-persistent 1.2.3 notest
yesod-routes 1.2.0.7
yesod-static 1.2.4
yesod-test 1.2.3.2
-yi 0.7.1
+yi 0.7.1 -fvty
zeromq4-haskell 0.6 notest
zip-archive 0.2.3.4 group=new-binary
zlib 0.5.4.1
diff --git a/patches/yi/0.7.1/Yi.Syntax.Tree-quickcheck-2.7-patch.diff b/patches/yi/0.7.1/Yi.Syntax.Tree-quickcheck-2.7-patch.diff
new file mode 100644
index 0000000..0d28ca3
--- /dev/null
+++ b/patches/yi/0.7.1/Yi.Syntax.Tree-quickcheck-2.7-patch.diff
@@ -0,0 +1,60 @@
+Index: yi-0.7.1/src/library/Yi/Syntax/Tree.hs
+===================================================================
+--- yi-0.7.1.orig/src/library/Yi/Syntax/Tree.hs 2014-08-04 11:25:59.621939411 +0200
++++ yi-0.7.1/src/library/Yi/Syntax/Tree.hs 2014-08-04 11:25:59.621939411 +0200
+@@ -25,6 +25,7 @@
+ import Data.Monoid (First(..), Last(..), getFirst, getLast, mempty)
+ #ifdef TESTING
+ import Test.QuickCheck
++import Test.QuickCheck.Property (unProperty)
+ #endif
+
+ import Yi.Buffer.Basic
+@@ -339,33 +340,35 @@
+ let final@(_, (_, finalSubtree)) = fromLeafAfterToFinal p n
+ finalRegion = subtreeRegion finalSubtree
+ initialRegion = nodeRegion n
+-
++
+ whenFail (do putStrLn $ "final = " ++ show final
+ putStrLn $ "final reg = " ++ show finalRegion
+ putStrLn $ "initialReg = " ++ show initialRegion
+ putStrLn $ "p = " ++ show p
+- )
++ )
+ ((regionStart finalRegion <= p) && (initialRegion `includedRegion` finalRegion))
+
+ prop_allLeavesAfter :: NTTT -> Property
+-prop_allLeavesAfter (N n@(xs,t)) = do
++prop_allLeavesAfter (N n@(xs,t)) = property $ do
+ let after = allLeavesRelative afterChild n
+ (xs',t') <- elements after
+ let t'' = walkDown (xs',t)
+- whenFail (do putStrLn $ "t' = " ++ show t'
+- putStrLn $ "t'' = " ++ show t''
+- putStrLn $ "xs' = " ++ show xs'
+- ) (Just t' == t'' && xs <= xs')
++ unProperty $ whenFail (do
++ putStrLn $ "t' = " ++ show t'
++ putStrLn $ "t'' = " ++ show t''
++ putStrLn $ "xs' = " ++ show xs'
++ ) (Just t' == t'' && xs <= xs')
+
+ prop_allLeavesBefore :: NTTT -> Property
+-prop_allLeavesBefore (N n@(xs,t)) = do
++prop_allLeavesBefore (N n@(xs,t)) = property $ do
+ let after = allLeavesRelative beforeChild n
+ (xs',t') <- elements after
+ let t'' = walkDown (xs',t)
+- whenFail (do putStrLn $ "t' = " ++ show t'
+- putStrLn $ "t'' = " ++ show t''
+- putStrLn $ "xs' = " ++ show xs'
+- ) (Just t' == t'' && xs' <= xs)
++ unProperty $ whenFail (do
++ putStrLn $ "t' = " ++ show t'
++ putStrLn $ "t'' = " ++ show t''
++ putStrLn $ "xs' = " ++ show xs'
++ ) (Just t' == t'' && xs' <= xs)
+
+ prop_fromNodeToLeafAfter :: NTTT -> Property
+ prop_fromNodeToLeafAfter (N n) = forAll (pointInside (subtreeRegion $ snd n)) $ \p -> do
diff --git a/patches/yi/0.7.1/man-page.diff b/patches/yi/0.7.1/man-page.diff
new file mode 100644
index 0000000..f8ccc76
--- /dev/null
+++ b/patches/yi/0.7.1/man-page.diff
@@ -0,0 +1,73 @@
+--- /dev/null
++++ b/yi.1
+@@ -0,0 +1,69 @@
++.TH YI 1 2008-10-22 "yi version 0.1" "User Manual"
++
++.SH NAME
++yi \- text editor extensible in Haskell
++
++.SH SYNOPSIS
++.B yi
++[\fIOPTION\fR] [\fIFILENAME\fR]
++
++.SH DESCRIPTION
++.ds c \fIYi\fP
++\*c is a text editor written and extensible in Haskell. Consult the html
++documentation for a full description of its behaviour.
++.PP
++.TP
++.B \-\-selfcheck
++Run self-checks
++.TP
++.B \-f frontend \-\-frontend=frontend
++Select frontend (one of vty, gtk, pango, cocoa).
++.TP
++.B \-y config \-\-config\-file=config
++Specify a configuration file.
++.TP
++.B \-V \-\-version
++Show version information
++.TP
++.B \-h \-\-help
++Show help message.
++.TP
++.B \-\-debug
++Write debug information in a log file.
++.TP
++.B \-l num \-\-line=num
++Start on given line number
++.TP
++.B \-\-as=editor
++Start with key bindings of given editor.
++.TP
++.B \-\-recompile\-force
++Force recompile of custom Yi before starting.
++.TP
++.B \-\-resume
++Resume execution of Yi from previous state.
++.TP
++.B \-\-recompile
++Recompile custom Yi if required then exit.
++
++.SH FILES
++It can be configured in ~/.config/yi/yi.hs; consult the html
++documentation.
++
++.SH BUGS
++Bug reports should be posted to the Google issue tracker
++<http://code.google.com/p/yi-editor/issues/>. Other suggestions or ideas may
++be posted to the yi-devel <yi-devel at googlegroups.com> mailing list.
++.SH COPYRIGHT
++Copyright \(co 2004-2005 Don Stewart,
++except for components derived from Riot <http://iki.fi/tuomov/riot/>,
++Copyright \(co Tuomo Valkonen.
++.PP
++Yi is released under the terms of the GPL.
++.SH "SEE ALSO"
++.BR vi (1)
++
++.SH AUTHOR
++
++Yi is developed by a team of many developers, currently lead by Jean-Philippe
++Bernardy.
+\ No newline at end of file
diff --git a/patches/yi/0.7.1/series b/patches/yi/0.7.1/series
new file mode 100644
index 0000000..3f97071
--- /dev/null
+++ b/patches/yi/0.7.1/series
@@ -0,0 +1,4 @@
+xpm-icons.diff
+man-page.diff
+Yi.Syntax.Tree-quickcheck-2.7-patch.diff
+vty-5.1-compat
diff --git a/patches/yi/0.7.1/vty-5.1-compat b/patches/yi/0.7.1/vty-5.1-compat
new file mode 100644
index 0000000..332b74b
--- /dev/null
+++ b/patches/yi/0.7.1/vty-5.1-compat
@@ -0,0 +1,329 @@
+Description: Rework vty interface code like commit a42841dbeb4f716a50b82aa4c71c419f033806d5
+ This is a rework of a patch from upstream git to vty 5.1 API, adapted to yi 0.7.1 in Debian by Marcel Fourné.
+ .
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: upstream, https://github.com/yi-editor/yi/commit/a42841dbeb4f716a50b82aa4c71c419f033806d5#diff-68f4dd75b91abeba23f0417a614830e5
+
+Index: yi-0.7.1/src/library/Yi/Config.hs
+===================================================================
+--- yi-0.7.1.orig/src/library/Yi/Config.hs 2014-09-10 22:48:39.667336537 +0200
++++ yi-0.7.1/src/library/Yi/Config.hs 2014-09-10 22:48:39.663336537 +0200
+@@ -1,3 +1,4 @@
++{-# LANGUAGE CPP #-}
+ {-# LANGUAGE TemplateHaskell #-}
+
+ module Yi.Config where
+@@ -16,9 +17,14 @@
+ import Yi.Style.Library
+ import {-# source #-} Yi.UI.Common
+ import qualified Yi.Interact as I
++#ifdef FRONTEND_VTY
++import qualified Graphics.Vty as Vty
++#endif
+
+ data UIConfig = UIConfig {
+- configVtyEscDelay :: Int,
++#ifdef FRONTEND_VTY
++ configVty :: Vty.Config,
++#endif
+ configFontName :: Maybe String, -- ^ Font name, for the UI that support it.
+ configFontSize :: Maybe Int, -- ^ Font size, for the UI that support it.
+ configScrollStyle ::Maybe ScrollStyle,
+Index: yi-0.7.1/src/library/Yi/Config/Default.hs
+===================================================================
+--- yi-0.7.1.orig/src/library/Yi/Config/Default.hs 2014-09-10 22:48:39.667336537 +0200
++++ yi-0.7.1/src/library/Yi/Config/Default.hs 2014-09-10 22:48:39.663336537 +0200
+@@ -47,6 +47,7 @@
+ #endif
+ #ifdef FRONTEND_VTY
+ import qualified Yi.UI.Vty
++import qualified Graphics.Vty.Config as Vty
+ #endif
+ #ifdef FRONTEND_PANGO
+ import qualified Yi.UI.Pango
+@@ -145,7 +146,6 @@
+ , configAutoHideTabBar = True
+ , configWindowFill = ' '
+ , configTheme = defaultTheme
+- , configVtyEscDelay = 0
+ }
+ , defaultKm = modelessKeymapSet nilKeymap
+ , startActions = []
+@@ -193,7 +193,9 @@
+ toEmacsStyleConfig, toVimStyleConfig, toVim2StyleConfig, toCuaStyleConfig :: Config -> Config
+ toEmacsStyleConfig cfg
+ = cfg {
+- configUI = (configUI cfg) { configVtyEscDelay = 1000 , configScrollStyle = Just SnapToCenter},
++ configUI = (configUI cfg)
++ { configScrollStyle = Just SnapToCenter
++ },
+ defaultKm = Emacs.keymap,
+ startActions = makeAction openScratchBuffer : startActions cfg,
+ configInputPreprocess = escToMeta,
+Index: yi-0.7.1/src/library/Yi/Config/Simple.hs
+===================================================================
+--- yi-0.7.1.orig/src/library/Yi/Config/Simple.hs 2014-09-10 22:48:39.667336537 +0200
++++ yi-0.7.1/src/library/Yi/Config/Simple.hs 2014-09-10 22:48:39.663336537 +0200
+@@ -108,7 +108,7 @@
+ startFrontEndA, configUIA, startActionsA, initialActionsA, defaultKmA,
+ configInputPreprocessA, modeTableA, debugModeA,
+ configRegionStyleA, configKillringAccumulateA, bufferUpdateHandlerA,
+- configVtyEscDelayA, configFontNameA, configFontSizeA, configScrollWheelAmountA,
++ configVtyA, configFontNameA, configFontSizeA, configScrollWheelAmountA,
+ configScrollStyleA, configCursorStyleA, CursorStyle(..),
+ configLeftSideScrollBarA, configAutoHideScrollBarA, configAutoHideTabBarA,
+ configLineWrapA, configWindowFillA, configThemeA, layoutManagersA, configVarsA,
+Index: yi-0.7.1/src/library/Yi/UI/Vty.hs
+===================================================================
+--- yi-0.7.1.orig/src/library/Yi/UI/Vty.hs 2014-09-10 22:48:39.667336537 +0200
++++ yi-0.7.1/src/library/Yi/UI/Vty.hs 2014-09-10 22:48:39.663336537 +0200
+@@ -34,7 +34,7 @@
+ import Yi.Config
+ import Yi.Window
+ import Yi.Style as Style
+-import Graphics.Vty as Vty hiding (refresh, Default)
++import Graphics.Vty as Vty hiding (Config(..), refresh, Default, text)
+ import qualified Graphics.Vty as Vty
+ import Yi.Keymap (makeAction, YiM)
+
+@@ -73,11 +73,11 @@
+ start cfg ch outCh editor = do
+ liftIO $ do
+ oattr <- getTerminalAttributes stdInput
+- v <- mkVtyEscDelay $ configVtyEscDelay $ configUI $ cfg
++ v <- mkVty $ configVty $ configUI $ cfg
+ nattr <- getTerminalAttributes stdInput
+ setTerminalAttributes stdInput (withoutMode nattr ExtendedFunctions) Immediately
+ -- remove the above call to setTerminalAttributes when vty does it.
+- Vty.DisplayRegion x0 y0 <- Vty.display_bounds $ Vty.terminal v
++ (x0,y0) <- Vty.displayBounds $ Vty.outputIface v
+ sz <- newIORef (fromEnum y0, fromEnum x0)
+ -- fork input-reading thread. important to block *thread* on getKey
+ -- otherwise all threads will block waiting for input
+@@ -97,7 +97,7 @@
+ -- | Read a key. UIs need to define a method for getting events.
+ getKey :: IO Yi.Event.Event
+ getKey = do
+- event <- Vty.next_event v
++ event <- Vty.nextEvent v
+ case event of
+ (EvResize x y) -> do
+ logPutStrLn $ "UI: EvResize: " ++ show (x,y)
+@@ -146,28 +146,28 @@
+
+
+ fromVtyKey :: Vty.Key -> Yi.Event.Key
+-fromVtyKey (Vty.KEsc ) = Yi.Event.KEsc
+-fromVtyKey (Vty.KFun x ) = Yi.Event.KFun x
+-fromVtyKey (Vty.KPrtScr ) = Yi.Event.KPrtScr
+-fromVtyKey (Vty.KPause ) = Yi.Event.KPause
+-fromVtyKey (Vty.KASCII '\t') = Yi.Event.KTab
+-fromVtyKey (Vty.KASCII c ) = Yi.Event.KASCII c
+-fromVtyKey (Vty.KBS ) = Yi.Event.KBS
+-fromVtyKey (Vty.KIns ) = Yi.Event.KIns
+-fromVtyKey (Vty.KHome ) = Yi.Event.KHome
+-fromVtyKey (Vty.KPageUp ) = Yi.Event.KPageUp
+-fromVtyKey (Vty.KDel ) = Yi.Event.KDel
+-fromVtyKey (Vty.KEnd ) = Yi.Event.KEnd
+-fromVtyKey (Vty.KPageDown) = Yi.Event.KPageDown
+-fromVtyKey (Vty.KNP5 ) = Yi.Event.KNP5
+-fromVtyKey (Vty.KUp ) = Yi.Event.KUp
+-fromVtyKey (Vty.KMenu ) = Yi.Event.KMenu
+-fromVtyKey (Vty.KLeft ) = Yi.Event.KLeft
+-fromVtyKey (Vty.KDown ) = Yi.Event.KDown
+-fromVtyKey (Vty.KRight ) = Yi.Event.KRight
+-fromVtyKey (Vty.KEnter ) = Yi.Event.KEnter
+-fromVtyKey (Vty.KBackTab ) = error "This should be handled in fromVtyEvent"
+-fromVtyKey (Vty.KBegin ) = error "Yi.UI.Vty.fromVtyKey: can't handle KBegin"
++fromVtyKey (Vty.KEsc ) = Yi.Event.KEsc
++fromVtyKey (Vty.KFun x ) = Yi.Event.KFun x
++fromVtyKey (Vty.KPrtScr ) = Yi.Event.KPrtScr
++fromVtyKey (Vty.KPause ) = Yi.Event.KPause
++fromVtyKey (Vty.KChar '\t') = Yi.Event.KTab
++fromVtyKey (Vty.KChar c ) = Yi.Event.KASCII c
++fromVtyKey (Vty.KBS ) = Yi.Event.KBS
++fromVtyKey (Vty.KIns ) = Yi.Event.KIns
++fromVtyKey (Vty.KHome ) = Yi.Event.KHome
++fromVtyKey (Vty.KPageUp ) = Yi.Event.KPageUp
++fromVtyKey (Vty.KDel ) = Yi.Event.KDel
++fromVtyKey (Vty.KEnd ) = Yi.Event.KEnd
++fromVtyKey (Vty.KPageDown ) = Yi.Event.KPageDown
++fromVtyKey (Vty.KCenter ) = Yi.Event.KNP5
++fromVtyKey (Vty.KUp ) = Yi.Event.KUp
++fromVtyKey (Vty.KMenu ) = Yi.Event.KMenu
++fromVtyKey (Vty.KLeft ) = Yi.Event.KLeft
++fromVtyKey (Vty.KDown ) = Yi.Event.KDown
++fromVtyKey (Vty.KRight ) = Yi.Event.KRight
++fromVtyKey (Vty.KEnter ) = Yi.Event.KEnter
++fromVtyKey (Vty.KBackTab ) = error "This should be handled in fromVtyEvent"
++fromVtyKey (Vty.KBegin ) = error "Yi.UI.Vty.fromVtyKey: can't handle KBegin"
+
+ fromVtyMod :: Vty.Modifier -> Yi.Event.Modifier
+ fromVtyMod Vty.MShift = Yi.Event.MShift
+@@ -229,13 +229,13 @@
+ logPutStrLn "refreshing screen."
+ logPutStrLn $ "startXs: " ++ show startXs
+ Vty.update (vty $ ui)
+- ( pic_for_image ( vert_cat tabBarImages
+- <->
+- vert_cat (toList wImages)
+- <->
+- vert_cat (fmap formatCmdLine niceCmd)
+- )
+- ) { pic_cursor = case cursor (PL._focus renders) of
++ ( picForImage ( vertCat tabBarImages
++ <->
++ vertCat (toList wImages)
++ <->
++ vertCat (fmap formatCmdLine niceCmd)
++ )
++ ) { picCursor = case cursor (PL._focus renders) of
+ Just (y,x) -> Cursor (toEnum x) (toEnum $ y + PL._focus startXs)
+ -- Add the position of the window to the position of the cursor
+ Nothing -> NoCursor
+@@ -254,12 +254,12 @@
+ where tabImages = foldr1 (<|>) $ fmap tabToVtyImage $ tabBarDescr e
+ extraImage = withAttributes (tabBarAttributes uiStyle) (replicate (xss - fromEnum totalTabWidth) ' ')
+
+- totalTabWidth = Vty.image_width tabImages
++ totalTabWidth = Vty.imageWidth tabImages
+ uiStyle = configStyle $ configUI $ config ui
+ tabTitle text = " " ++ text ++ " "
+ tabAttr b = baseAttr b $ tabBarAttributes uiStyle
+- baseAttr True sty = attributesToAttr (appEndo (tabInFocusStyle uiStyle) sty) Vty.def_attr
+- baseAttr False sty = attributesToAttr (appEndo (tabNotFocusedStyle uiStyle) sty) Vty.def_attr `Vty.with_style` Vty.underline
++ baseAttr True sty = attributesToAttr (appEndo (tabInFocusStyle uiStyle) sty) Vty.defAttr
++ baseAttr False sty = attributesToAttr (appEndo (tabNotFocusedStyle uiStyle) sty) Vty.defAttr `Vty.withStyle` Vty.underline
+ tabToVtyImage _tab@(TabDescr text inFocus) = Vty.string (tabAttr inFocus) (tabTitle text)
+
+ -- | Determine whether it is necessary to render the tab bar
+@@ -303,7 +303,7 @@
+ off = if notMini then 1 else 0
+ h' = h - off
+ ground = baseAttributes sty
+- wsty = attributesToAttr ground Vty.def_attr
++ wsty = attributesToAttr ground Vty.defAttr
+ eofsty = appEndo (eofStyle sty) ground
+ (point, _) = runBuffer win b pointB
+ (eofPoint, _) = runBuffer win b sizeB
+@@ -320,9 +320,9 @@
+ -- TODO: I suspect that this costs quite a lot of CPU in the "dry run" which determines the window size;
+ -- In that case, since attributes are also useless there, it might help to replace the call by a dummy value.
+ -- This is also approximately valid of the call to "indexedAnnotatedStreamB".
+- colors = map (second (($ Vty.def_attr) . attributesToAttr)) attributes
++ colors = map (second (($ Vty.defAttr) . attributesToAttr)) attributes
+ bufData = -- trace (unlines (map show text) ++ unlines (map show $ concat strokes)) $
+- paintChars Vty.def_attr colors text
++ paintChars Vty.defAttr colors text
+ tabWidth = tabSize . fst $ runBuffer win b indentSettingsB
+ prompt = if isMini win then miniIdentString b else ""
+
+@@ -338,7 +338,7 @@
+ modeStyle = (if focused then appEndo (modelineFocusStyle sty) else id) (modelineAttributes sty)
+ filler = take w (configWindowFill cfg : repeat ' ')
+
+- pict = vert_cat (take h' (rendered ++ repeat (withAttributes eofsty filler)) ++ modeLines)
++ pict = vertCat (take h' (rendered ++ repeat (withAttributes eofsty filler)) ++ modeLines)
+
+ -- | Renders text in a rectangle.
+ -- This also returns
+@@ -357,7 +357,7 @@
+ -> ([Image], Point, Maybe (Int,Int), Int)
+ drawText h w topPoint point tabWidth bufData
+ | h == 0 || w == 0 = ([], topPoint, Nothing, 0)
+- | otherwise = (rendered_lines, bottomPoint, pntpos, h - (length wrapped - h))
++ | otherwise = (renderedLines, bottomPoint, pntpos, h - (length wrapped - h))
+ where
+
+ -- the number of lines that taking wrapping into account,
+@@ -372,14 +372,14 @@
+ pntpos = listToMaybe [(y,x) | (y,l) <- zip [0..] lns0, (x,(_char,(_attr,p))) <- zip [0..] l, p == point]
+
+ -- fill lines with blanks, so the selection looks ok.
+- rendered_lines = map fillColorLine lns0
++ renderedLines = map fillColorLine lns0
+ colorChar (c, (a, _aPoint)) = Vty.char a c
+
+ fillColorLine :: [(Char, (Vty.Attr, Point))] -> Image
+- fillColorLine [] = char_fill Vty.def_attr ' ' w 1
+- fillColorLine l = horiz_cat (map colorChar l)
++ fillColorLine [] = charFill Vty.defAttr ' ' w 1
++ fillColorLine l = horizCat (map colorChar l)
+ <|>
+- char_fill a ' ' (w - length l) 1
++ charFill a ' ' (w - length l) 1
+ where (_,(a,_x)) = last l
+
+ -- | Cut a string in lines separated by a '\n' char. Note
+@@ -404,7 +404,7 @@
+ | otherwise = [(c,p)]
+
+ withAttributes :: Attributes -> String -> Image
+-withAttributes sty str = Vty.string (attributesToAttr sty Vty.def_attr) str
++withAttributes sty str = Vty.string (attributesToAttr sty Vty.defAttr) str
+
+ ------------------------------------------------------------------------
+
+@@ -432,31 +432,31 @@
+ colorToAttr set c =
+ case c of
+ RGB 0 0 0 -> set Vty.black
+- RGB 128 128 128 -> set Vty.bright_black
++ RGB 128 128 128 -> set Vty.brightBlack
+ RGB 139 0 0 -> set Vty.red
+- RGB 255 0 0 -> set Vty.bright_red
++ RGB 255 0 0 -> set Vty.brightRed
+ RGB 0 100 0 -> set Vty.green
+- RGB 0 128 0 -> set Vty.bright_green
++ RGB 0 128 0 -> set Vty.brightGreen
+ RGB 165 42 42 -> set Vty.yellow
+- RGB 255 255 0 -> set Vty.bright_yellow
++ RGB 255 255 0 -> set Vty.brightYellow
+ RGB 0 0 139 -> set Vty.blue
+- RGB 0 0 255 -> set Vty.bright_blue
++ RGB 0 0 255 -> set Vty.brightBlue
+ RGB 128 0 128 -> set Vty.magenta
+- RGB 255 0 255 -> set Vty.bright_magenta
++ RGB 255 0 255 -> set Vty.brightMagenta
+ RGB 0 139 139 -> set Vty.cyan
+- RGB 0 255 255 -> set Vty.bright_cyan
++ RGB 0 255 255 -> set Vty.brightCyan
+ RGB 165 165 165 -> set Vty.white
+- RGB 255 255 255 -> set Vty.bright_white
++ RGB 255 255 255 -> set Vty.brightWhite
+ Default -> id
+ _ -> error $ "Color unsupported by Vty frontend: " ++ show c
+
+ attributesToAttr :: Attributes -> (Vty.Attr -> Vty.Attr)
+ attributesToAttr (Attributes fg bg reverse bd _itlc underline') =
+- (if reverse then (flip Vty.with_style Vty.reverse_video) else id) .
+- (if bd then (flip Vty.with_style Vty.bold) else id) .
+- (if underline' then (flip Vty.with_style Vty.underline) else id) .
+- colorToAttr (flip Vty.with_fore_color) fg .
+- colorToAttr (flip Vty.with_back_color) bg
++ (if reverse then (flip Vty.withStyle Vty.reverseVideo) else id) .
++ (if bd then (flip Vty.withStyle Vty.bold) else id) .
++ (if underline' then (flip Vty.withStyle Vty.underline) else id) .
++ colorToAttr (flip Vty.withForeColor) fg .
++ colorToAttr (flip Vty.withBackColor) bg
+
+
+ ---------------------------------
+Index: yi-0.7.1/yi.cabal
+===================================================================
+--- yi-0.7.1.orig/yi.cabal 2014-09-10 22:48:39.667336537 +0200
++++ yi-0.7.1/yi.cabal 2014-09-10 22:48:39.663336537 +0200
+@@ -293,7 +293,7 @@
+ Yi.UI.Vty
+ build-depends:
+ unix-compat >=0.1 && <0.5,
+- vty >= 4.7.0.0 && <5
++ vty >= 5.1.0.0 && <6
+ cpp-options: -DFRONTEND_VTY
+
+ if flag (scion)
diff --git a/patches/yi/0.7.1/xpm-icons.diff b/patches/yi/0.7.1/xpm-icons.diff
new file mode 100644
index 0000000..0b71a11
--- /dev/null
+++ b/patches/yi/0.7.1/xpm-icons.diff
@@ -0,0 +1,501 @@
+Index: yi-0.6.7.0/art/yi+lambda-fat-16.xpm
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ yi-0.6.7.0/art/yi+lambda-fat-16.xpm 2013-07-07 16:17:23.000000000 +0200
+@@ -0,0 +1,278 @@
++/* XPM */
++static char *yi_lambda_fat_16[] = {
++/* columns rows colors chars-per-pixel */
++"16 16 256 2 ",
++" c None",
++". c #ABABB2B2EFEF",
++"X c #ABABB2B2EFEF",
++"o c #ABD9B2E2F030",
++"O c #A9F1B0E5ED85",
++"+ c #A966B055ECC2",
++"@ c #ADF7B516F324",
++"# c #BC60C416FFFF",
++"$ c black",
++"% c black",
++"& c black",
++"* c black",
++"= c black",
++"- c black",
++"; c black",
++": c black",
++"> c #ABABB2B2EFEF",
++", c #ABABB2B2EFEF",
++"< c #ABABB2B2EFEF",
++"1 c #ACC2B3D4F174",
++"2 c #9AE6A13DD87E",
++"3 c #545857CC75E2",
++"4 c #86808C01BBFC",
++"5 c #8E68943CC709",
++"6 c black",
++"7 c black",
++"8 c black",
++"9 c black",
++"0 c black",
++"q c black",
++"w c black",
++"e c black",
++"r c #ABABB2B2EFEF",
++"t c #ABABB2B2EFEF",
++"y c #ABA7B2AFEFEE",
++"u c #AF15B608F302",
++"i c #D1CAD89CFFFF",
++"p c #47B34AA063D1",
++"a c #6C287096972E",
++"s c #792E7E24A95F",
++"d c #148D15641CB9",
++"f c black",
++"g c black",
++"h c black",
++"j c black",
++"k c black",
++"l c black",
++"z c black",
++"x c black",
++"c c black",
++"v c black",
++"b c black",
++"n c black",
++"m c #12B313771A23",
++"M c #309F329C43F5",
++"N c #38D63B2A4F70",
++"B c #3A253C875144",
++"V c #002500270034",
++"C c black",
++"Z c black",
++"A c black",
++"S c black",
++"D c black",
++"F c black",
++"G c black",
++"H c black",
++"J c black",
++"K c black",
++"L c black",
++"P c #000E000F0014",
++"I c black",
++"U c #2FFD31F44312",
++"Y c #521A557672C0",
++"T c #27842922373A",
++"R c #39C13C1F50B9",
++"E c black",
++"W c black",
++"Q c black",
++"! c black",
++"~ c black",
++"^ c black",
++"/ c black",
++"( c black",
++") c black",
++"_ c black",
++"` c #00400043005A",
++"' c #072E077A0A09",
++"] c #4668494A6268",
++"[ c #704374DB9CE7",
++"{ c #369538D14C49",
++"} c black",
++"| c black",
++" . c black",
++".. c black",
++"X. c black",
++"o. c black",
++"O. c black",
++"+. c black",
++"@. c black",
++"#. c black",
++"$. c black",
++"%. c #0DF90E8B1387",
++"&. c #3D033F825546",
++"*. c #3F3441CA5856",
++"=. c #5B335EEF7F77",
++"-. c #52D9563D73CB",
++";. c #14FF15DB1D58",
++":. c black",
++">. c black",
++",. c black",
++"<. c black",
++"1. c black",
++"2. c black",
++"3. c black",
++"4. c black",
++"5. c black",
++"6. c black",
++"7. c #1D521E8528FA",
++"8. c #85ED8B69BB2F",
++"9. c #37C43A0D4DF1",
++"0. c #76167AECA50B",
++"q. c #B0CDB80AF718",
++"w. c #5C986062811F",
++"e. c black",
++"r. c black",
++"t. c black",
++"y. c black",
++"u. c black",
++"i. c black",
++"p. c black",
++"a. c black",
++"s. c black",
++"d. c #0641068208BE",
++"f. c #4F9352D56F38",
++"g. c #8A218FC8C10E",
++"h. c #1BC81CEB26D3",
++"j. c #307A327643C1",
++"k. c #563659BE787F",
++"l. c #69826DD49377",
++"z. c #00720076009F",
++"x. c black",
++"c. c black",
++"v. c black",
++"b. c black",
++"n. c black",
++"m. c black",
++"M. c black",
++"N. c black",
++"B. c #084D08A40B99",
++"V. c #3B2C3D9852B3",
++"C. c #3B403DAD52D0",
++"Z. c black",
++"A. c #1FC621132C69",
++"S. c #8E67943BC708",
++"D. c #5A1A5DCA7DEE",
++"F. c black",
++"G. c #04DE051106CE",
++"H. c black",
++"J. c black",
++"K. c black",
++"L. c black",
++"P. c black",
++"I. c black",
++"U. c #1BC31CE626CC",
++"Y. c #52A656087384",
++"T. c #235E24D0316E",
++"R. c #1BB11CD326B3",
++"E. c black",
++"W. c #0FF6109E164F",
++"Q. c #5DD261A98321",
++"!. c #29FB2BB33AAC",
++"~. c #39BD3C1A50B3",
++"^. c #2B5A2D203C97",
++"/. c #333735504795",
++"(. c black",
++"). c black",
++"_. c black",
++"`. c black",
++"'. c black",
++"]. c #5AD55E8D7EF4",
++"[. c #555458D27742",
++"{. c #0D4A0DD61293",
++"}. c black",
++"|. c black",
++" X c black",
++".X c #0EB70F511491",
++"XX c #75CA7A9DA4A1",
++"oX c #AD75B48FF26F",
++"OX c #9FECA678DF85",
++"+X c black",
++"@X c black",
++"#X c black",
++"$X c black",
++"%X c black",
++"&X c #12C013851A35",
++"*X c #50BC540970D6",
++"=X c #6C5570C49769",
++"-X c #0D720DFF12CB",
++";X c black",
++":X c black",
++">X c black",
++",X c #055D0595077E",
++"<X c #56CB5A59794F",
++"1X c #A9D6B0CAED5C",
++"2X c #7FFE853BB1E3",
++"3X c black",
++"4X c #00C400CC00E6",
++"5X c black",
++"6X c black",
++"7X c #2B152CD83C36",
++"8X c #7EF08423B16B",
++"9X c #80228561B317",
++"0X c #442D46F75F49",
++"qX c black",
++"wX c black",
++"eX c black",
++"rX c black",
++"tX c black",
++"yX c #0A900AFF0EC3",
++"uX c #4B924EAA69A0",
++"iX c #4C914FB46B04",
++"pX c black",
++"aX c #03B203D8052A",
++"sX c #ABB0B2B7EFF5",
++"dX c #B527BC92FBB3",
++"fX c #AEAEB5D4F413",
++"gX c #AE54B577F3A7",
++"hX c #857A8AF1BA8E",
++"jX c #057A05B307A7",
++"kX c black",
++"lX c black",
++"zX c black",
++"xX c black",
++"cX c #48E74BE265E4",
++"vX c #3ED4416757D0",
++"bX c #31C933D34595",
++"nX c #0B060B790F68",
++"mX c #295E2B0F39D1",
++"MX c #AE63B586F3BC",
++"NX c #ABB8B2C0F002",
++"BX c #ABABB2B2EFEF",
++"VX c #ABADB2B4EFF1",
++"CX c #ABBDB2C5F00B",
++"ZX c #AD71B480F178",
++"AX c black",
++"SX c black",
++"DX c black",
++"FX c black",
++"GX c black",
++"HX c #C734CE49FD7F",
++"JX c gray100",
++"KX c #9C8BA2EBD9CB",
++"LX c #720276AD9F5E",
++"PX c #71F876A39F4A",
++"IX c #AB6DB271EF98",
++"UX c #ABCFB2D7F021",
++/* pixels */
++" . X o O + @ # $ % & * = - ; : ",
++"> , < 1 2 3 4 5 6 7 8 9 0 q w e ",
++"r t y u i p a s d f g h j k l z ",
++"x c v b n m M N B V C Z A S D F ",
++"G H J K L P I U Y T R E W Q ! ~ ",
++"^ / ( ) _ ` ' ] [ { } | ...X.o.",
++"O.+. at .#.$.%.&.*.=.-.;.:.>.,.<.1.",
++"2.3.4.5.6.7.8.9.0.q.w.e.r.t.y.u.",
++"i.p.a.s.d.f.g.h.j.k.l.z.x.c.v.b.",
++"n.m.M.N.B.V.C.Z.A.S.D.F.G.H.J.K.",
++"L.P.I.U.Y.T.R.E.W.Q.!.~.^./.(.).",
++"_.`.'.].[.{.}.|. X.XXXoXOX+X at X#X",
++"$X%X&X*X=X-X;X:X>X,X<X1X2X3X4X5X",
++"6X7X8X9X0XqXwXeXrXtXyXuXiXpXaXsX",
++"dXfXgXhXjXkXlXzXxXcXvXbXnXmXMXNX",
++"BXVXCXZXAXSXDXFXGXHXJXKXLXPXIXUX"
++};
+Index: yi-0.6.7.0/art/yi+lambda-fat-32.xpm
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ yi-0.6.7.0/art/yi+lambda-fat-32.xpm 2013-07-07 16:17:23.000000000 +0200
+@@ -0,0 +1,201 @@
++/* XPM */
++static char *yi_lambda_fat_32[] = {
++/* columns rows colors chars-per-pixel */
++"32 32 163 2 ",
++" c #000200020003",
++". c #00700075009D",
++"X c #00D700E0012C",
++"o c #011C0128018E",
++"O c #017D018C0214",
++"+ c #01B401C50261",
++"@ c #0219022F02EE",
++"# c #02F703160425",
++"$ c #03B403DB052E",
++"% c #0438046405E6",
++"& c #04F8052C06F2",
++"* c #05AC05E807EE",
++"= c #06280669089B",
++"- c #066706AA08F2",
++"; c #06BB07010968",
++": c #06EE073709B0",
++"> c #07D308250AEF",
++", c #086008B80BB5",
++"< c #08BE091A0C38",
++"1 c #0B7F0BF81011",
++"2 c #0CA70D2B11AF",
++"3 c #0D5D0DE912AE",
++"4 c #0DEF0E81137A",
++"5 c #0E760F0D1436",
++"6 c #0FA6104A15DF",
++"7 c #102110CA168B",
++"8 c #10C21172176C",
++"9 c #114C1202182D",
++"0 c #135E14291B11",
++"q c #1458152D1C6E",
++"w c #150315DF1D5E",
++"e c #156116411DCE",
++"r c #16DE17CD1FF6",
++"t c #1788187E20E3",
++"y c #18A119A3226D",
++"u c #18F919FE22E6",
++"i c #19941AA023C0",
++"p c #1A621B7724E0",
++"a c #1AA31BBB253B",
++"s c #1B211C3E25EB",
++"d c #1BFE1D23271F",
++"f c #1D491E7C28EE",
++"g c #1E731FB32A8F",
++"h c #1F0020452B55",
++"j c #1F8A20D42C15",
++"k c #1FF621452CAC",
++"l c #20DE22362DEF",
++"z c #220E23732F99",
++"x c #23A5251B31D3",
++"c c #265D27EF359E",
++"v c #284029E63843",
++"b c #29DD2B943A83",
++"n c #2D122EEA3EFE",
++"m c #2EAA30934138",
++"M c #2F4531344210",
++"N c #3090328D43E0",
++"B c #30C032BF4423",
++"V c #313E334244DA",
++"C c #3356357047C0",
++"Z c #349E36C6498B",
++"A c #355737864A8D",
++"S c #36DE391E4CB0",
++"D c #375A399E4D5D",
++"F c #38EF3B444F93",
++"G c #3A883CED51CE",
++"H c #3BD63E4953A1",
++"J c #3CF93F785539",
++"K c #3E3B40C756FA",
++"L c #3F2041B5583C",
++"P c #40A343495A58",
++"I c #4543481960CE",
++"U c #4555482B60E7",
++"Y c #45FA48D861CE",
++"T c #46A7498B62BF",
++"R c #46E249C96312",
++"E c #48694B606534",
++"W c #48E04BDC65DB",
++"Q c #498D4C9066CD",
++"! c #49FF4D06676C",
++"~ c #4AC04DCF6879",
++"^ c #4BA94EC269C0",
++"/ c #4F1552526E87",
++"( c #4FC453086F7C",
++") c #54ED586776B2",
++"_ c #55A8592977B7",
++"` c #56C75A547949",
++"' c #574F5AE27A08",
++"] c #59E65D937D8A",
++"[ c #5A275DD87E01",
++"{ c #5AA25E587EAD",
++"} c #5B105ECA7F46",
++"| c #5BDE5FA08066",
++" . c #5CAE60798188",
++".. c #5DA7617D82E6",
++"X. c #5E6F624C83FC",
++"o. c #606C645F86C4",
++"O. c #613A653487E3",
++"+. c #677A6BB790A0",
++"@. c #67EE6C2F9142",
++"#. c #6BEB705696D5",
++"$. c #6E2872AB99F7",
++"%. c #6F9174239BF0",
++"&. c #703774CF9CD6",
++"*. c #716B76109E86",
++"=. c #727A77299FFF",
++"-. c #7289773AA023",
++";. c #73B37870A1B5",
++":. c #73F878B7A216",
++">. c #756B7A39A41C",
++",. c #76A67B81A5D4",
++"<. c #78CB7DBCA8D4",
++"1. c #79997E93A9F4",
++"2. c #7AE37FE9ABB0",
++"3. c #7B108019AC00",
++"4. c #7E7483A1B0BC",
++"5. c #808A85CDB3A8",
++"6. c #8153869EB4C1",
++"7. c #83AD8911B80A",
++"8. c #86628BE2BBD2",
++"9. c #87518CDBBCF9",
++"0. c #87B28D40BD7C",
++"q. c #890A8EA6BF88",
++"w. c #8A71901BC17E",
++"e. c #8B4790FAC2A9",
++"r. c #8F399516C82D",
++"t. c #90859670C9FD",
++"y. c #928F988FCCD7",
++"u. c #92F098F4CD5E",
++"i. c #9372997BCE14",
++"p. c #96549C7BD21B",
++"a. c #96F49D22D2FC",
++"s. c #97B19DE7D403",
++"d. c #98A79EE7D55B",
++"f. c #993E9F84D62E",
++"g. c #9BC1A221D9B0",
++"h. c #9BF9A25CD9FF",
++"j. c #9C97A300DADC",
++"k. c #9DF0A467DCBE",
++"l. c #9EF6A577DE2C",
++"z. c #9F36A5BBDE94",
++"x. c #A081A713E055",
++"c. c #A092A724E06C",
++"v. c #A0E3A779E0DD",
++"b. c #A1BAA858E209",
++"n. c #A209A8ABE278",
++"m. c #A3F1AAA7E522",
++"M. c #A4B5AB73E635",
++"N. c #A527ABE9E6D3",
++"B. c #A62DACFAE842",
++"V. c #A79CAE79EA43",
++"C. c #A8C4AFACEBE0",
++"Z. c #A986B077ECF0",
++"A. c #ABAEB2B6EFF4",
++"S. c #AC17B323F086",
++"D. c #AC6DB37CF0FA",
++"F. c #ACD4B3E7F18E",
++"G. c #ADEBB50AF314",
++"H. c #AEB5B5DCF42B",
++"J. c #AF09B634F4A5",
++"K. c #AF17B642F4B7",
++"L. c #AF55B682F50E",
++"P. c #B09EB7D2F591",
++"I. c None",
++/* pixels */
++"I.I.I.I.I.I.I.I.A.A.A.A.A.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.A.A.D.D.H.H.A.A.I.I.I. I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.A.A.A.D.p.} 4.N.D.A.I.I. I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.A.A.A.A.I.I.p.m : P v.H... I.I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.A.I.I.I.I.I.I.I.C 4 e.v.R I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I.I.I.=.v.k.6.D I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I.I.I.o.! v 9 > I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I. 9 o.7.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I.I.I.I.# 9 2.=.H I.I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I.I.I.I. $ p l m s I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I. p 8.v.A.I.I.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I.I.I.I.w v r.2.` m I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I.I.I.w w 4 f 0 0 u 6 I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I. > R X.( ;.y.p.h.f.I.I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I.I.I.H.k.c s $.A.D.H.I. I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.I. 6 @.D.` z v.H.H.I.I. I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I. 4 Z %.D.I. h w.2.+.>.I.I. I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I. =.D.H.h.I. - w 4 u E I.I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.I.: H -.! w P q.h.v.R I.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.I.# , f l I.I.I. D H.L.8.4 I.I.I.I.I.I.I.I.I.",
++"I.I.I.I. s Z - } I.I.I.I. , t.m.F - I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I. R h.u.9 w I. I.I.I. R ~ x 2.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.P.k.#.4 I.I.I.I. $ $ A u.H.I.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I.I.I.~ l u - I.I.I.I.I. u u.L.A.A.I.I.I.I.I.I.I.I.",
++"I.I.I.I.I. $ s } 5.6 I.I.I. # ( C.S.A.I.I.I.I.I.I.I.I.",
++"I. u ..f.H.0. I.I. I.I.I. - | C.A.H.I. I.I.I.I.I.",
++"I.I. - E u.x.N.L.I. I.I.I.I.I.I.I.I.I. - ) m.L.K I.I.I.I.I.",
++"I.I.I.,.A.H.;.N C I.I.I.I.I.I.I.I.I.I. $ m } w I.I.I.I.I.",
++"I.I.I.H.A.A.V.) I.I.I.I.I.I.I.I.I.I.I.d I.I.I.I.I.",
++"I.I.A.A.A.A.S.m. I.I.I.I.I.I.I.I.I.I.I.0.L > - >.L.A.A.A.",
++"I.A.A.A.A.A.A.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.B.3.K l 4.H.A.I.I.",
++"A.A.A.A.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.I.H.Z.h.V.I.I.I.I."
++};
+Index: yi-0.6.7.0/yi.cabal
+===================================================================
+--- yi-0.6.7.0.orig/yi.cabal 2013-06-29 18:19:06.000000000 +0200
++++ yi-0.6.7.0/yi.cabal 2013-07-07 16:18:06.000000000 +0200
+@@ -17,6 +17,7 @@
+ data-files:
+ art/*.png
+ art/*.pdf
++ art/*.xpm
+ example-configs/*.hs
+ extra-source-files: src/library/Yi/Lexer/common.hsinc
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-haskell/package-plan.git
More information about the Pkg-haskell-commits
mailing list