packages feed

leksah 0.14.0.1 → 0.14.1.0

raw patch · 10 files changed

+180/−8 lines, 10 filesdep ~leksah

Dependency ranges changed: leksah

Files

data/leksah.menu view
@@ -114,6 +114,7 @@        <menuitem name="_Trace" action="ShowTrace" />        <menuitem name="_Variables" action="ShowVariables" />        <menuitem name="_Output" action="ShowOutput" />+       <menuitem name="_Web Inspector" action="ShowInspect" />        <separator/>        <menuitem name="_Errors" action="ShowErrors" />        <menuitem name="_Files" action="ShowFiles" />
data/prefs.lkshp view
@@ -38,7 +38,7 @@                keymap      --The name of a keymap file in a config dir Categories for panes:-               [("*Breakpoints","LogCategory"),("*Browser","ToolCategory"),("*Debug","ToolCategory"),("*Errors","ToolCategory"),("*Files","ToolCategory"),("*Flags","ToolCategory"),("*Grep","ToolCategory"),("*HLint","ToolCategory"),("*Doc","ToolCategory"),("*Info","LogCategory"),("*Log","LogCategory"),("*Modules","ToolCategory"),("*Out","ToolCategory"),("*Package","EditorCategory"),("*Prefs","EditorCategory"),("*Search","ToolCategory"),("*Trace","LogCategory"),("*Variables","LogCategory"),("*Workspace","LogCategory")]+               [("*Breakpoints","LogCategory"),("*Browser","ToolCategory"),("*Debug","ToolCategory"),("*Errors","ToolCategory"),("*Files","ToolCategory"),("*Flags","ToolCategory"),("*Grep","ToolCategory"),("*HLint","ToolCategory"),("*Doc","ToolCategory"),("*Info","LogCategory"),("*Log","LogCategory"),("*Inspect","LogCategory"),("*Modules","ToolCategory"),("*Out","ToolCategory"),("*Package","EditorCategory"),("*Prefs","EditorCategory"),("*Search","ToolCategory"),("*Trace","LogCategory"),("*Variables","LogCategory"),("*Workspace","LogCategory")] Pane path for category:                [("EditorCategory",[SplitP LeftP]),("ToolCategory",[SplitP RightP,SplitP TopP]),("LogCategory",[SplitP RightP,SplitP BottomP])] Default pane path:
leksah.cabal view
@@ -1,5 +1,5 @@ name: leksah-version: 0.14.0.1+version: 0.14.1.0 cabal-version: >=1.10 build-type: Simple license: GPL@@ -284,6 +284,7 @@                      IDE.Command.VCS.Common.Workspaces IDE.Command.VCS.Common.GUI                      IDE.Command.VCS.Common.Helper IDE.Command.VCS.Types                      IDE.Command.Print IDE.Pane.WebKit.Documentation+                     IDE.Pane.WebKit.Inspect                      IDE.Pane.WebKit.Output IDE.TextEditor.Class                      IDE.TextEditor.CodeMirror IDE.TextEditor.Yi                      IDE.TextEditor.GtkSourceView IDE.Utils.ExternalTool@@ -312,7 +313,7 @@         ghc-options: -threaded      hs-source-dirs: main-    build-depends: leksah == 0.14.0.1, base >= 4.0.0.0 && <=4.8, gtk3 -any+    build-depends: leksah == 0.14.1.0, base >= 4.0.0.0 && <=4.8, gtk3 -any     if os(linux) && flag(loc)         cpp-options: -DLOCALIZATION         build-depends: hgettext, setlocale@@ -331,7 +332,7 @@     if !flag(webkit)         buildable: False     else-        build-depends: leksah ==0.14.0.1, base >=4.0.0.0 && <=4.8,+        build-depends: leksah ==0.14.1.0, base >=4.0.0.0 && <=4.8,                        jsaddle -any, ghcjs-dom -any         if flag(gtk3)           build-depends: gtk3 >=0.13.0.0 && <0.14, gtksourceview3 >=0.13.0.0 && <0.14,@@ -348,7 +349,7 @@  test-suite tests     build-depends: base >=4.0.0.0 && <4.8, Cabal >=1.10.2.0 && <1.22,-                   QuickCheck >=2.4.2 && <2.8, leksah ==0.14.0.1,+                   QuickCheck >=2.4.2 && <2.8, leksah ==0.14.1.0,                    containers, ltk, leksah-server, hslogger,                    transformers, glib, monad-loops, text     if flag(gtk3)
scripts/stage.sh view
@@ -35,7 +35,7 @@ if test "`uname`" = "Darwin"; then     cabal install ./ ./vendor/ltk ./vendor/leksah-server ./vendor/yi/yi gtk3 ghcjs-dom jsaddle vendor/haskellVCSWrapper/vcswrapper vendor/haskellVCSGUI/vcsgui --with-ghc=ghc$GHCVERSION -j4 -fhave-quartz-gtk -fwebkit -flibcurl -fyi -fpango --with-gcc=gcc-mp-4.8 || exit else-    cabal install ./ ./vendor/ltk ./vendor/leksah-server ./vendor/yi/yi gtk3 ghcjs-dom jsaddle vendor/haskellVCSWrapper/vcswrapper vendor/haskellVCSGUI/vcsgui --with-ghc=ghc$GHCVERSION -j4 -fwebkit -flibcurl --force-reinstalls || bash || exit+    cabal install ./ ./vendor/ltk ./vendor/leksah-server                gtk3 ghcjs-dom jsaddle vendor/haskellVCSWrapper/vcswrapper vendor/haskellVCSGUI/vcsgui --with-ghc=ghc$GHCVERSION -j4 -fwebkit -flibcurl -f-yi -fpango -f-vty --force-reinstalls --extra-lib-dirs=/c/MinGWRPM/lib || bash || exit #  if [ "$GHC_VER" != "7.0.3" ] && [ "$GHC_VER" != "7.0.4" ] && [ "$GHC_VER" != "7.6.1" ]; then #    echo https://github.com/yi-editor/yi.git >> sources.txt #    export LEKSAH_CONFIG_ARGS="$LEKSAH_CONFIG_ARGS -fyi -f-vty -f-dyre -fpango"
src/IDE/Command.hs view
@@ -102,6 +102,7 @@ import IDE.Pane.HLint (refreshHLint, getHLint) import IDE.Pane.WebKit.Documentation (getDocumentation) import IDE.Pane.WebKit.Output (getOutputPane)+import IDE.Pane.WebKit.Inspect (getInspectPane) import IDE.Pane.Files (refreshFiles, getFiles) import Control.Monad.IO.Class (MonadIO(..)) import Control.Monad (unless, when)@@ -402,6 +403,8 @@         (getDocumentation Nothing  >>= \ p -> displayPane p False) [] False     ,AD "ShowOutput" (__ "Output") Nothing Nothing         (getOutputPane Nothing  >>= \ p -> displayPane p False) [] False+    ,AD "ShowInspect" (__ "Web Inspect") Nothing Nothing+        (getInspectPane Nothing  >>= \ p -> displayPane p False) [] False     ,AD "ShowErrors" (__ "Errors") Nothing Nothing         (getErrors Nothing  >>= \ p -> displayPane p False) [] False     ,AD "ShowLog" (__ "Log") Nothing Nothing
src/IDE/Pane/Preferences.hs view
@@ -805,6 +805,7 @@                                 ,   ("*Doc","ToolCategory")                                 ,   ("*Info","LogCategory")                                 ,   ("*Log","LogCategory")+                                ,   ("*Inspect","LogCategory")                                 ,   ("*Modules","ToolCategory")                                 ,   ("*Out","ToolCategory")                                 ,   ("*Package","EditorCategory")
+ src/IDE/Pane/WebKit/Inspect.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE OverloadedStrings #-}+-----------------------------------------------------------------------------+--+-- Module      :  IDE.Pane.WebKit.Inspect+-- Copyright   :  2007-2014 Juergen Nicklisch-Franken, Hamish Mackenzie+-- License     :  GPL+--+-- Maintainer  :  maintainer@leksah.org+-- Stability   :  provisional+-- Portability :+--+-- |+--+-----------------------------------------------------------------------------++module IDE.Pane.WebKit.Inspect (+    IDEInspect(..)+  , InspectState(..)+  , getInspectPane+) where++import Graphics.UI.Frame.Panes+       (RecoverablePane(..), PanePath, RecoverablePane, Pane(..))+import Graphics.UI.Gtk+       (scrolledWindowSetShadowType, entryGetText, entryActivated,+        boxPackStart, entrySetText, Entry, VBox, entryNew, vBoxNew,+        postGUISync, scrolledWindowSetPolicy, scrolledWindowNew,+        castToWidget, ScrolledWindow)+import IDE.Utils.GUIUtils+import Data.Typeable (Typeable)+import IDE.Core.Types (IDEAction, IDEM, IDE(..))+import Control.Monad.IO.Class (MonadIO(..))+import Graphics.UI.Frame.ViewFrame (getNotebook)+import IDE.Core.State+       (modifyIDE_, postSyncIDE, reifyIDE, leksahOrPackageDir)+import Graphics.UI.Gtk.General.Enums+       (ShadowType(..), Packing(..), PolicyType(..))++#ifdef WEBKITGTK+import Graphics.UI.Gtk+       (toggleActionActive, castToMenuItem, actionCreateMenuItem,+        toggleActionNew, menuShellAppend, toggleActionSetActive,+        menuItemActivate, menuItemNewWithLabel, eventModifier,+        eventKeyName, keyPressEvent, focusInEvent, containerAdd,+        Modifier(..), after)+import Graphics.UI.Gtk.WebKit.Types (WebView(..))+import Graphics.UI.Gtk.WebKit.WebView+       (populatePopup, webViewGoBack, webViewZoomOut, webViewZoomIn,+        webViewLoadString, webViewZoomLevel, webViewReload, webViewNew,+        webViewLoadUri)+import System.Glib.Attributes (AttrOp(..), set, get)+import System.Glib.Signals (on)+import IDE.Core.State (reflectIDE)+import Graphics.UI.Editor.Basics (Connection(..))+import Text.Show.Pretty+       (HtmlOpts(..), defaultHtmlOpts, valToHtmlPage, parseValue, getDataDir)+import System.FilePath ((</>))+#endif+import Data.IORef (writeIORef, newIORef, readIORef, IORef)+import Control.Applicative ((<$>))+import System.Log.Logger (debugM)+import Graphics.UI.Gtk.WebKit.WebView+       (webViewSetWebSettings, webViewGetWebSettings, loadCommitted,+        webViewGetUri)+import Graphics.UI.Gtk.WebKit.WebFrame (webFrameGetUri)+import Data.Text (Text)+import qualified Data.Text as T (unpack, pack)+import Graphics.UI.Gtk.WebKit.WebSettings+       (webSettingsMonospaceFontFamily)++data IDEInspect = IDEInspect {+    scrollWin     :: ScrolledWindow+#ifdef WEBKITGTK+  , inspectView   :: WebView+#else+  , inspectState   :: IORef InspectState+#endif+} deriving Typeable++data InspectState = InspectState {+} deriving(Eq,Ord,Read,Show,Typeable)++instance Pane IDEInspect IDEM+    where+    primPaneName _  =   "Inspect"+    getAddedIndex _ =   0+    getTopWidget    =   castToWidget . scrollWin+    paneId b        =   "*Inspect"++instance RecoverablePane IDEInspect InspectState IDEM where+    saveState p     =   liftIO $ do+#ifdef WEBKITGTK+        return (Just InspectState{..})+#else+        Just <$> readIORef (inspectState p)+#endif+    recoverState pp InspectState {..} = do+        nb      <-  getNotebook pp+        mbPane <- buildPane pp nb builder+        case mbPane of+            Nothing -> return ()+            Just p  -> liftIO $ do+#ifdef WEBKITGTK+                return ()+#else+                writeIORef (inspectState p) InspectState {..}+#endif+        return mbPane+    builder pp nb windows = reifyIDE $ \ ideR -> do+        scrollWin <- scrolledWindowNew Nothing Nothing+        scrolledWindowSetShadowType scrollWin ShadowIn++#ifdef WEBKITGTK+        inspectView <- webViewNew+        settings <- webViewGetWebSettings inspectView+        settings `set` [webSettingsMonospaceFontFamily := ("Consolas" :: Text)]+        webViewSetWebSettings inspectView settings+        alwaysHtmlRef <- newIORef False+        containerAdd scrollWin inspectView+#else+        inspectState <- newIORef InspectState {}+#endif++        scrolledWindowSetPolicy scrollWin PolicyAutomatic PolicyAutomatic+        let inspect = IDEInspect {..}++#ifdef WEBKITGTK+        cid1 <- after inspectView focusInEvent $ do+            liftIO $ reflectIDE (makeActive inspect) ideR+            return True++        return (Just inspect, [ConnectC cid1])+#else+        return (Just inspect, [])+#endif+++getInspectPane :: Maybe PanePath -> IDEM IDEInspect+getInspectPane Nothing    = forceGetPane (Right "*Inspect")+getInspectPane (Just pp)  = forceGetPane (Left pp)+
src/IDE/Pane/WebKit/Output.hs view
@@ -63,12 +63,17 @@ import Text.Show.Pretty        (HtmlOpts(..), defaultHtmlOpts, valToHtmlPage, parseValue, getDataDir) import System.FilePath ((</>))+import IDE.Pane.WebKit.Inspect (getInspectPane, IDEInspect(..))+import Graphics.UI.Gtk.WebKit.WebSettings+       (webSettingsEnableDeveloperExtras)+import Graphics.UI.Gtk.WebKit.WebInspector (inspectWebView) #endif import Data.IORef (writeIORef, newIORef, readIORef, IORef) import Control.Applicative ((<$>)) import System.Log.Logger (debugM) import Graphics.UI.Gtk.WebKit.WebView-       (loadCommitted, webViewGetUri)+       (webViewSetWebSettings, webViewGetWebSettings, webViewGetInspector,+        loadCommitted, webViewGetUri) import Graphics.UI.Gtk.WebKit.WebFrame (webFrameGetUri) import Data.Text (Text) import qualified Data.Text as T (unpack, pack)@@ -181,6 +186,15 @@         cid6 <- uriEntry `after` focusInEvent $ do             liftIO $ reflectIDE (makeActive out) ideR             return True++        settings <- webViewGetWebSettings webView+        settings `set` [webSettingsEnableDeveloperExtras := True]+        webViewSetWebSettings webView settings+        inspector <- webViewGetInspector webView+        cid7 <- on inspector inspectWebView $ \view -> (`reflectIDE` ideR) $ do+            inspectPane <- getInspectPane Nothing+            displayPane inspectPane False+            return $ inspectView inspectPane          return (Just out, [ConnectC cid1, ConnectC cid2, ConnectC cid3, ConnectC cid4, ConnectC cid5, ConnectC cid6]) #else
src/IDE/Session.hs view
@@ -59,6 +59,7 @@ import IDE.Pane.HLint import IDE.Pane.WebKit.Documentation import IDE.Pane.WebKit.Output+import IDE.Pane.WebKit.Inspect import IDE.Pane.Files import IDE.Pane.Breakpoints import IDE.Pane.Trace@@ -99,6 +100,7 @@                     |   HLintSt HLintState                     |   DocumentationSt DocumentationState                     |   OutputSt OutputState+                    |   InspectSt InspectState                     |   BreakpointsSt BreakpointsState                     |   TraceSt TraceState                     |   VariablesSt VariablesState@@ -119,6 +121,7 @@ asPaneState s | isJust ((cast s) :: Maybe HLintState)       =   HLintSt (fromJust $ cast s) asPaneState s | isJust ((cast s) :: Maybe DocumentationState) = DocumentationSt (fromJust $ cast s) asPaneState s | isJust ((cast s) :: Maybe OutputState)      =   OutputSt (fromJust $ cast s)+asPaneState s | isJust ((cast s) :: Maybe InspectState)     =   InspectSt (fromJust $ cast s) asPaneState s | isJust ((cast s) :: Maybe BreakpointsState) =   BreakpointsSt (fromJust $ cast s) asPaneState s | isJust ((cast s) :: Maybe TraceState)       =   TraceSt (fromJust $ cast s) asPaneState s | isJust ((cast s) :: Maybe VariablesState)   =   VariablesSt (fromJust $ cast s)@@ -139,6 +142,7 @@ recover pp (HLintSt p)          =   recoverState pp p >> return () recover pp (DocumentationSt p)  =   recoverState pp p >> return () recover pp (OutputSt p)         =   recoverState pp p >> return ()+recover pp (InspectSt p)        =   recoverState pp p >> return () recover pp (BreakpointsSt p)    =   recoverState pp p >> return () recover pp (TraceSt p)          =   recoverState pp p >> return () recover pp (VariablesSt p)      =   recoverState pp p >> return ()
win32/makeinstaller.sh view
@@ -32,7 +32,7 @@ cp -u  "$LEKSAH_PREFIX/$LEKSAH_X_X_X_X"/LICENSE SourceDir/leksah cp -u  "$LEKSAH_PREFIX/$LEKSAH_X_X_X_X"/Readme.md SourceDir/leksah mkdir -p SourceDir/hlint-cp -u  "$LEKSAH_PREFIX/$HLINT_X_X_X_X"/* SourceDir/hlint+cp -ru "$LEKSAH_PREFIX/$HLINT_X_X_X_X"/* SourceDir/hlint mkdir -p SourceDir/pretty-show cp -ru "$LEKSAH_PREFIX/$PRETTY_SHOW_X_X"/style SourceDir/pretty-show mkdir -p SourceDir/ghcjs-codemirror@@ -64,6 +64,7 @@ cp -u  "$GTK_PREFIX"/bin/libfontconfig-1.dll SourceDir/bin cp -u  "$GTK_PREFIX"/bin/libfreetype-6.dll SourceDir/bin cp -u  "$GTK_PREFIX"/bin/libgailutil-3-0.dll SourceDir/bin+cp -u  "$GTK_PREFIX"/bin/libgcc_s_seh-1.dll SourceDir/bin cp -u  "$GTK_PREFIX"/bin/libgcc_s_sjlj-1.dll SourceDir/bin cp -u  "$GTK_PREFIX"/bin/libgdk-3-0.dll SourceDir/bin cp -u  "$GTK_PREFIX"/bin/libgdk_pixbuf-2.0-0.dll SourceDir/bin