-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Common library for GHC linting scripts
--   
--   Common library for GHC linting scripts
@package linters-common
@version 0.1.0.0

module Linters.Common
data LintMsg
LintMsg :: !LintLvl -> !Int -> !Text -> !Text -> LintMsg
data LintLvl
LintLvlWarn :: LintLvl
LintLvlErr :: LintLvl
type GitRef = Text
type Sh = IO
silently :: a -> a
runGit :: FilePath -> Text -> [Text] -> Sh Text

-- | Run <tt>git</tt> operation
runGitStdin :: FilePath -> Text -> [Text] -> Text -> Sh Text

-- | WARNING: non-reentrant Hack!
withUtf8 :: Sh a -> Sh a

-- | wrapper around <tt>git cat-file commit</tt>
--   
--   Returns (commit-header, commit-body)
gitCatCommit :: FilePath -> GitRef -> Sh (Text, Text)

-- | wrapper around <tt>git cat-file commit</tt>
gitCatBlob :: FilePath -> GitRef -> Sh Text

-- | Wrapper around <tt>git rev-parse --verify</tt>
--   
--   Normalise git ref to commit sha1
gitNormCid :: FilePath -> GitRef -> Sh GitRef

-- | wrapper around <tt>git branch --contains</tt>
gitBranchesContain :: FilePath -> GitRef -> Sh [Text]

-- | returns <tt>[(path, (url, key))]</tt>
--   
--   may throw exception
getModules :: FilePath -> GitRef -> Sh [(Text, (Text, Text))]

-- | Possible meanings of the <a>Char</a> value:
--   
--   <ul>
--   <li>Added (A),</li>
--   <li>Copied (C),</li>
--   <li>Deleted (D),</li>
--   <li>Modified (M),</li>
--   <li>Renamed (R),</li>
--   <li>have their type (i.e. regular file, symlink, submodule, ...)
--   changed (T),</li>
--   <li>are Unmerged (U),</li>
--   <li>are Unknown (X),</li>
--   <li>or have had their pairing Broken (B).</li>
--   </ul>
gitDiffTree :: FilePath -> GitRef -> Sh (Text, [([(GitType, Text, Char)], (GitType, Text), Text)])
gitDiffTreePatch :: FilePath -> GitRef -> Text -> Sh Text
z40 :: GitRef
data GitType
GitTypeVoid :: GitType
GitTypeRegFile :: GitType
GitTypeExeFile :: GitType
GitTypeTree :: GitType
GitTypeSymLink :: GitType
GitTypeGitLink :: GitType
cvtMode :: Text -> GitType
tshow :: Show a => a -> Text
instance GHC.Classes.Ord Linters.Common.LintLvl
instance GHC.Classes.Eq Linters.Common.LintLvl
instance GHC.Show.Show Linters.Common.LintLvl
instance GHC.Show.Show Linters.Common.LintMsg
instance GHC.Enum.Enum Linters.Common.GitType
instance GHC.Classes.Ord Linters.Common.GitType
instance GHC.Classes.Eq Linters.Common.GitType
instance GHC.Show.Show Linters.Common.GitType
instance Control.DeepSeq.NFData Linters.Common.GitType
