packages feed

ghc-mod 1.10.11 → 1.10.12

raw patch · 4 files changed

+13/−34 lines, 4 files

Files

Cabal.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE OverloadedStrings, RecordWildCards #-}  module Cabal (initializeGHC) where @@ -16,7 +16,6 @@ import GHCApi import GHCChoice import qualified Gap-import Language.Haskell.Extension import System.Directory import System.FilePath import Types@@ -34,18 +33,17 @@         return (fileName,logReader)     withCabal = do         (owdir,cdir,cfile) <- liftIO getDirs-        binfo <- liftIO $ parseCabalFile cfile-        let (idirs',exts',mlang) = extractBuildInfo binfo-            exts = map (addX . Gap.extensionToString)  exts'-            lang = maybe "-XHaskell98" (addX . show) mlang-            gopts = ghcOptions ++ exts ++ [lang]-        changeToCabalDirectory cdir-        let idirs = case idirs' of+        binfo@BuildInfo{..} <- liftIO $ parseCabalFile cfile+        let exts = map (addX . Gap.extensionToString) $ usedExtensions binfo+            lang = maybe "-XHaskell98" (addX . show) defaultLanguage+            libs = map ("-l" ++) extraLibs+            libDirs = map ("-L" ++) extraLibDirs+            gopts = ghcOptions ++ exts ++ [lang] ++ libs ++ libDirs+            idirs = case hsSourceDirs of                 []   -> [cdir,owdir]-                dirs -> dirs ++ [owdir]-            file = ajustFileName fileName owdir cdir+                dirs -> map (cdir </>) dirs ++ [owdir]         logReader <- initSession opt gopts idirs logging-        return (file,logReader)+        return (fileName,logReader)     addX = ("-X" ++)  ----------------------------------------------------------------@@ -61,26 +59,7 @@     toMaybe [] = Nothing     toMaybe (x:_) = Just x --- SourceDirs, Extensions, and Language-extractBuildInfo :: BuildInfo -> ([String],[Extension],Maybe Language)-extractBuildInfo binfo = (hsSourceDirs binfo-                         ,oldExtensions binfo-                         ,defaultLanguage binfo)- ------------------------------------------------------------------ajustFileName :: FilePath -> FilePath -> FilePath -> FilePath-ajustFileName name olddir newdir-  | olen == nlen = name-  | otherwise    = drop (nlen+1) olddir </> name-  where-    olen = length olddir-    nlen = length newdir--changeToCabalDirectory :: FilePath -> Ghc ()-changeToCabalDirectory dir = do-    liftIO $ setCurrentDirectory dir-    workingDirectoryChanged  -- CurrentWorkingDir, CabalDir, CabalFile getDirs :: IO (FilePath,FilePath,FilePath)
GHCApi.hs view
@@ -45,7 +45,7 @@     d' = d {         packageFlags = ghcPackage : packageFlags d       , importPaths = idirs-      , ghcLink = NoLink+      , ghcLink = LinkInMemory       , hscTarget = HscInterpreted       , flags = flags d       }
GHCMod.hs view
@@ -62,7 +62,7 @@ parseArgs :: [OptDescr (Options -> Options)] -> [String] -> (Options, [String]) parseArgs spec argv     = case getOpt Permute spec argv of-        (o,n,[]  ) -> (foldl (flip id) defaultOptions o, n)+        (o,n,[]  ) -> (foldr id defaultOptions o, n)         (_,_,errs) -> throw (CmdArg errs)  ----------------------------------------------------------------
ghc-mod.cabal view
@@ -1,5 +1,5 @@ Name:                   ghc-mod-Version:                1.10.11+Version:                1.10.12 Author:                 Kazu Yamamoto <kazu@iij.ad.jp> Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp> License:                BSD3