24 lines
		
	
	
		
			No EOL
		
	
	
		
			606 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			No EOL
		
	
	
		
			606 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| {-# LANGUAGE TemplateHaskell #-}
 | |
| 
 | |
| import Control.Monad (unless)
 | |
| import Language.Haskell.HsColour.Colourise (defaultColourPrefs)
 | |
| import Language.Haskell.HsColour.CSS
 | |
| import Options
 | |
| 
 | |
| defineOptions "MainOptions" $ do
 | |
| 	stringOption "optFile" "file" ""
 | |
| 		"Name of the .hs file. Will be used for the HTML file as well"
 | |
| 
 | |
| colorCode :: String -> IO ()
 | |
| colorCode input = do
 | |
| 	code <- readFile input
 | |
| 	putStr $ concat [ "<div class=\"code\">"
 | |
| 		     		, hscolour False code
 | |
| 				    , "</div>"
 | |
| 				    ]
 | |
| 
 | |
| main :: IO ()
 | |
| main = runCommand $ \opts args -> do
 | |
| 	let file = optFile opts
 | |
| 	unless (file == "") $
 | |
| 		colorCode file |