remove overview.hs
This commit is contained in:
		
							parent
							
								
									48c1a2ef99
								
							
						
					
					
						commit
						1421fb6b0b
					
				
							
								
								
									
										5
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								Makefile
									
									
									
									
									
								
							| @ -31,9 +31,6 @@ test: | |||||||
| docs haddock: | docs haddock: | ||||||
| 	haddock -h -o doc *.hs | 	haddock -h -o doc *.hs | ||||||
| 
 | 
 | ||||||
| overview: |  | ||||||
| 	@./tools/overview.hs Types.hs >OVERVIEW |  | ||||||
| 
 |  | ||||||
| loc: | loc: | ||||||
| 	@darcs trackdown 'find . -name "*hs" |xargs wc -l |echo OUTPUT `tail -1`; false' |ruby -nae'puts $$F[1] if /^OUTPUT/' | 	@darcs trackdown 'find . -name "*hs" |xargs wc -l |echo OUTPUT `tail -1`; false' |ruby -nae'puts $$F[1] if /^OUTPUT/' | ||||||
| 
 | 
 | ||||||
| @ -44,5 +41,5 @@ clean: | |||||||
| 	rm -f *.o *.hi *~ 1 2 | 	rm -f *.o *.hi *~ 1 2 | ||||||
| 
 | 
 | ||||||
| Clean: clean | Clean: clean | ||||||
| 	rm -f hledger hledgeropt overview TAGS tags | 	rm -f hledger hledgeropt TAGS tags | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,50 +0,0 @@ | |||||||
| #!/usr/bin/env runhaskell |  | ||||||
| {- |  | ||||||
| overview.hs - print an overview of functions from a given list of modules |  | ||||||
| Simon Michael 2007 |  | ||||||
| 
 |  | ||||||
| Usage: ./overview.hs somefile |  | ||||||
| 
 |  | ||||||
| where somefile, typically your main module, contains the word "overview" |  | ||||||
| followed by a blank-line-delimited list of module names, like so: |  | ||||||
| 
 |  | ||||||
| firstmodule |  | ||||||
| anothermodule |  | ||||||
|  submodule |  | ||||||
| 
 |  | ||||||
| Useful for getting the big picture and refactoring.   |  | ||||||
| -} |  | ||||||
| 
 |  | ||||||
| import System |  | ||||||
| import System.Process |  | ||||||
| import IO |  | ||||||
| import Data.List |  | ||||||
| import Text.Printf |  | ||||||
| 
 |  | ||||||
| main = do |  | ||||||
|   args <- getArgs |  | ||||||
|   file <- readFile $ head args |  | ||||||
|   let mods = takeWhile ((> 0) . length) $  |  | ||||||
|              dropWhile ((== 0) . length) $  |  | ||||||
|              dropWhile ((> 0) . length) $  |  | ||||||
|              dropWhile (notElem "overview" . words) $  |  | ||||||
|              lines file |  | ||||||
|   putStr $ unlines mods |  | ||||||
|   let files = concat $ map ((++ ".hs ") . dropWhile (== ' ')) mods |  | ||||||
|   let grep = "grep -H '^\\w[^=]*::' " ++ files |  | ||||||
|   (inp, out, err, pid) <- runInteractiveCommand grep |  | ||||||
|   waitForProcess pid |  | ||||||
|   grepoutput <- hGetContents out |  | ||||||
|   let groups = groupBy (\a b -> samefile a b) $ lines grepoutput |  | ||||||
|   sequence $ map printgroup groups |  | ||||||
|   putStr "\n" |  | ||||||
| 
 |  | ||||||
| printgroup ls = do putStr "\n"; sequence $ map printline ls |  | ||||||
| 
 |  | ||||||
| printline l =  |  | ||||||
|     putStrLn $ printf "%-22s %-40s %s" (file++":") code typedecl |  | ||||||
|     where |  | ||||||
|       (file, rest) = break (== ':') l |  | ||||||
|       (code, typedecl) = break (== ':') $ tail rest |  | ||||||
| 
 |  | ||||||
| samefile a b = ((takeWhile (/= ':') a) ++ ":") `isPrefixOf` b |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user