packages feed

gtk2hs-cast-gtksourceview2 0.10.1.0 → 0.10.1.1

raw patch · 2 files changed

+36/−2 lines, 2 files

Files

+ Graphics/UI/Gtk/SourceView/Cast/TH.hs view
@@ -0,0 +1,34 @@+-- gtk2hs-cast-gtksourceview2 -- A type class for cast functions of Gtk2hs:+-- gtksourceview2 package+-- Copyright (c) 2009 Marco Túlio Gontijo e Silva <marcot@holoscopio.com>+-- CC0 Waiver 1.0 Universal [Beta 3]+-- See LICENSE++module Graphics.UI.Gtk.SourceView.Cast.TH (instance_) where++-- base+import Data.Maybe++-- hint+import Language.Haskell.Interpreter++-- template-haskell+import Language.Haskell.TH.Syntax++instance_ :: Q [Dec]+instance_+  = do+    (Right (elements :: [ModuleElem]))+      <- qRunIO $ runInterpreter $ getModuleExports "Graphics.UI.Gtk.SourceView"+    return $ map makeInstance_ $ mapMaybe isCastTo elements++isCastTo :: ModuleElem -> Maybe String+isCastTo (Fun ('c' : 'a' : 's' : 't' : 'T' : 'o' : rest)) = Just rest+isCastTo _others = Nothing++makeInstance_ :: String -> Dec+makeInstance_ type_+  = InstanceD []+  (AppT (ConT $ mkName "Cast") $ ConT $ mkName type_)+  [ FunD (mkName "cast")+    [ Clause [] (NormalB $ VarE $ mkName $ "castTo" ++ type_) []]]
gtk2hs-cast-gtksourceview2.cabal view
@@ -1,5 +1,5 @@ name: gtk2hs-cast-gtksourceview2-version: 0.10.1.0+version: 0.10.1.1 cabal-version: >= 1.6 build-type: Simple license: OtherLicense@@ -20,7 +20,7 @@ category: GUI tested-with: GHC == 6.10.1 library-  exposed-modules: Graphics.UI.Gtk.SourceView.Cast+  exposed-modules: Graphics.UI.Gtk.SourceView.Cast, Graphics.UI.Gtk.SourceView.Cast.TH   build-depends: base, hint, gtksourceview2, gtk2hs-cast-glib, template-haskell   extensions: ScopedTypeVariables, TemplateHaskell source-repository head