fix-imports 0.1.0 → 0.1.1
raw patch · 3 files changed
+15/−11 lines, 3 filesdep ~haskell-src-exts
Dependency ranges changed: haskell-src-exts
Files
- fix-imports.cabal +6/−2
- src/Config.hs +4/−6
- src/FixImports.hs +5/−3
fix-imports.cabal view
@@ -1,5 +1,5 @@ name: fix-imports-version: 0.1.0+version: 0.1.1 cabal-version: >= 1.6 build-type: Simple synopsis: Program to manage the imports of a haskell module@@ -22,9 +22,13 @@ data-files: README, vimrc extra-source-files: src/*.hs +source-repository head+ type: darcs+ location: http://ofb.net/~elaforge/darcs/fix-imports/+ executable FixImports main-is: Main.hs hs-source-dirs: src build-depends: base >= 3 && < 5, containers, directory, filepath, process,- haskell-src-exts, uniplate, split, cpphs+ haskell-src-exts >= 1.11, uniplate, split, cpphs ghc-options: -Wall -fno-warn-name-shadowing
src/Config.hs view
@@ -17,14 +17,11 @@ configShowImports :: [Types.ImportLine] -> String -- | See 'Index.Config'. , configIndex :: Index.Config- -- | A module can only be parsed if you know the fixities of all the- -- operators within it.- , configFixities :: [Haskell.Fixity] } defaultConfig :: [String] -> Config defaultConfig localModules = Config (formatGroups localModules)- (Index.Config packagePriority []) Haskell.baseFixities+ (Index.Config packagePriority []) packagePriority :: [String] packagePriority = ["base", "containers", "directory", "mtl"]@@ -55,9 +52,10 @@ ] where packagePrio imp = (fromEnum (name imp /= prelude), name imp,- fromEnum (not (qualifiedImport imp)))+ qualifiedPrio imp) localPrio imp = (listPriority (topModule imp) priorities,- name imp, fromEnum (qualifiedImport imp))+ name imp, qualifiedPrio imp)+ qualifiedPrio imp = fromEnum (not (qualifiedImport imp)) name = Types.importModule (local, package) = List.partition Types.importIsLocal imports group = collapse . Util.groupOn topModule
src/FixImports.hs view
@@ -117,13 +117,15 @@ case parse processed of Haskell.ParseFailed srcloc err -> return $ Left $ Haskell.prettyPrint srcloc ++ ": " ++ err- Haskell.ParseOk (mod, cmts) -> fixImports config modulePath mod cmts- text+ Haskell.ParseOk (mod, cmts) ->+ fixImports config modulePath mod cmts text where parse = Haskell.parseFileContentsWithComments $ Haskell.defaultParseMode { Haskell.parseFilename = modulePath- , Haskell.fixities = Config.configFixities config+ -- The meaning of Nothing is undocumented, but I think it means+ -- to not check for fixity ambiguity at all, which is what I want.+ , Haskell.fixities = Nothing } -- | The parse function takes a CPP extension, but doesn't actually pay any