content: module Unused.CLI.Views.MissingTagsFileError
      ( missingTagsFileError
      ) where
  
  import           Unused.CLI.Util
  import qualified Unused.CLI.Views.Error as V
  import           Unused.TagsSource (TagSearchOutcome(..))
  
  missingTagsFileError :: TagSearchOutcome -> IO ()
  missingTagsFileError e = do
      V.errorHeader "There was a problem finding a tags file."
      printOutcomeMessage e
  
      putStr "\n"
  
      setSGR [SetConsoleIntensity BoldIntensity]
      putStr "If you're generating a ctags file to a custom location, "
      putStrLn "you can pipe it into unused:"
      setSGR [Reset]
  
      putStrLn "    cat custom/ctags | unused --stdin"
  
      putStr "\n"
  
      setSGR [SetConsoleIntensity BoldIntensity]
      putStrLn "You can find out more about Exuberant Ctags here:"
      setSGR [Reset]
      putStrLn "    http://ctags.sourceforge.net/"
  
      putStr "\n"
  
      setSGR [SetConsoleIntensity BoldIntensity]
      putStrLn "You can read about a good git-based Ctags workflow here:"
      setSGR [Reset]
      putStrLn "    http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html"
  
      putStr "\n"
  
  printOutcomeMessage :: TagSearchOutcome -> IO ()
  printOutcomeMessage (TagsFileNotFound directoriesSearched) = do
      putStrLn "Looked for a 'tags' file in the following directories:\n"
      mapM_ (\d -> putStrLn $ "* " ++ d) directoriesSearched
  printOutcomeMessage (IOError e) = do
      putStrLn "Received error when loading tags file:\n"
      putStrLn $ "    " ++ show e
  