ShellCheck-0.10.0: Shell script analysis tool
Safe HaskellNone
LanguageHaskell98

ShellCheck.Interface

Documentation

data SystemInterface (m :: Type -> Type) Source #

Constructors

SystemInterface 

Fields

  • siReadFile :: Maybe Bool -> String -> m (Either ErrorMessage String)

    Given: What annotations say about including external files (if anything) A resolved filename from siFindSource Read the file or return an error

  • siFindSource :: String -> Maybe Bool -> [String] -> String -> m FilePath

    Given: the current script, what annotations say about including external files (if anything) a list of source-path annotations in effect, and a sourced file, find the sourced file

  • siGetConfig :: String -> m (Maybe (FilePath, String))

    Get the configuration file (name, contents) for a filename

data CheckSpec Source #

Instances

Instances details
Show CheckSpec Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> CheckSpec -> ShowS

show :: CheckSpec -> String

showList :: [CheckSpec] -> ShowS

Eq CheckSpec Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: CheckSpec -> CheckSpec -> Bool

(/=) :: CheckSpec -> CheckSpec -> Bool

data CheckResult Source #

Instances

Instances details
Show CheckResult Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> CheckResult -> ShowS

show :: CheckResult -> String

showList :: [CheckResult] -> ShowS

Eq CheckResult Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: CheckResult -> CheckResult -> Bool

(/=) :: CheckResult -> CheckResult -> Bool

data ParseSpec Source #

Instances

Instances details
Show ParseSpec Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> ParseSpec -> ShowS

show :: ParseSpec -> String

showList :: [ParseSpec] -> ShowS

Eq ParseSpec Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: ParseSpec -> ParseSpec -> Bool

(/=) :: ParseSpec -> ParseSpec -> Bool

data ParseResult Source #

Instances

Instances details
Show ParseResult Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> ParseResult -> ShowS

show :: ParseResult -> String

showList :: [ParseResult] -> ShowS

Eq ParseResult Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: ParseResult -> ParseResult -> Bool

(/=) :: ParseResult -> ParseResult -> Bool

data Shell Source #

Constructors

Ksh 
Sh 
Bash 
Dash 
BusyboxSh 

Instances

Instances details
Show Shell Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> Shell -> ShowS

show :: Shell -> String

showList :: [Shell] -> ShowS

Eq Shell Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: Shell -> Shell -> Bool

(/=) :: Shell -> Shell -> Bool

data ExecutionMode Source #

Constructors

Executed 
Sourced 

Instances

Instances details
Show ExecutionMode Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> ExecutionMode -> ShowS

show :: ExecutionMode -> String

showList :: [ExecutionMode] -> ShowS

Eq ExecutionMode Source # 
Instance details

Defined in ShellCheck.Interface

type ErrorMessage = String Source #

type Code = Integer Source #

data Severity Source #

Constructors

ErrorC 
WarningC 
InfoC 
StyleC 

Instances

Instances details
NFData Severity Source # 
Instance details

Defined in ShellCheck.Interface

Methods

rnf :: Severity -> ()

Generic Severity Source # 
Instance details

Defined in ShellCheck.Interface

Associated Types

type Rep Severity 
Instance details

Defined in ShellCheck.Interface

type Rep Severity = D1 ('MetaData "Severity" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) ((C1 ('MetaCons "ErrorC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WarningC" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "InfoC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StyleC" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Severity -> Rep Severity x

to :: Rep Severity x -> Severity

Show Severity Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> Severity -> ShowS

show :: Severity -> String

showList :: [Severity] -> ShowS

Eq Severity Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: Severity -> Severity -> Bool

(/=) :: Severity -> Severity -> Bool

Ord Severity Source # 
Instance details

Defined in ShellCheck.Interface

Methods

compare :: Severity -> Severity -> Ordering

(<) :: Severity -> Severity -> Bool

(<=) :: Severity -> Severity -> Bool

(>) :: Severity -> Severity -> Bool

(>=) :: Severity -> Severity -> Bool

max :: Severity -> Severity -> Severity

min :: Severity -> Severity -> Severity

type Rep Severity Source # 
Instance details

Defined in ShellCheck.Interface

type Rep Severity = D1 ('MetaData "Severity" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) ((C1 ('MetaCons "ErrorC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WarningC" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "InfoC" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StyleC" 'PrefixI 'False) (U1 :: Type -> Type)))

data Position Source #

Instances

Instances details
NFData Position Source # 
Instance details

Defined in ShellCheck.Interface

Methods

rnf :: Position -> ()

Generic Position Source # 
Instance details

Defined in ShellCheck.Interface

Associated Types

type Rep Position 
Instance details

Defined in ShellCheck.Interface

type Rep Position = D1 ('MetaData "Position" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "Position" 'PrefixI 'True) (S1 ('MetaSel ('Just "posFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "posLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "posColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))

Methods

from :: Position -> Rep Position x

to :: Rep Position x -> Position

Show Position Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> Position -> ShowS

show :: Position -> String

showList :: [Position] -> ShowS

Eq Position Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: Position -> Position -> Bool

(/=) :: Position -> Position -> Bool

Ord Position Source # 
Instance details

Defined in ShellCheck.Interface

Methods

compare :: Position -> Position -> Ordering

(<) :: Position -> Position -> Bool

(<=) :: Position -> Position -> Bool

(>) :: Position -> Position -> Bool

(>=) :: Position -> Position -> Bool

max :: Position -> Position -> Position

min :: Position -> Position -> Position

type Rep Position Source # 
Instance details

Defined in ShellCheck.Interface

type Rep Position = D1 ('MetaData "Position" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "Position" 'PrefixI 'True) (S1 ('MetaSel ('Just "posFile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "posLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer) :*: S1 ('MetaSel ('Just "posColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Integer))))

data Comment Source #

Instances

Instances details
NFData Comment Source # 
Instance details

Defined in ShellCheck.Interface

Methods

rnf :: Comment -> ()

Generic Comment Source # 
Instance details

Defined in ShellCheck.Interface

Associated Types

type Rep Comment 
Instance details

Defined in ShellCheck.Interface

type Rep Comment = D1 ('MetaData "Comment" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "Comment" 'PrefixI 'True) (S1 ('MetaSel ('Just "cSeverity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Severity) :*: (S1 ('MetaSel ('Just "cCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Code) :*: S1 ('MetaSel ('Just "cMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

Methods

from :: Comment -> Rep Comment x

to :: Rep Comment x -> Comment

Show Comment Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> Comment -> ShowS

show :: Comment -> String

showList :: [Comment] -> ShowS

Eq Comment Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: Comment -> Comment -> Bool

(/=) :: Comment -> Comment -> Bool

type Rep Comment Source # 
Instance details

Defined in ShellCheck.Interface

type Rep Comment = D1 ('MetaData "Comment" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "Comment" 'PrefixI 'True) (S1 ('MetaSel ('Just "cSeverity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Severity) :*: (S1 ('MetaSel ('Just "cCode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Code) :*: S1 ('MetaSel ('Just "cMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String))))

data PositionedComment Source #

Instances

Instances details
Ranged PositionedComment Source # 
Instance details

Defined in ShellCheck.Fixer

ToJSON PositionedComment 
Instance details

Defined in ShellCheck.Formatter.JSON1

ToJSON PositionedComment 
Instance details

Defined in ShellCheck.Formatter.JSON

NFData PositionedComment Source # 
Instance details

Defined in ShellCheck.Interface

Methods

rnf :: PositionedComment -> ()

Generic PositionedComment Source # 
Instance details

Defined in ShellCheck.Interface

Associated Types

type Rep PositionedComment 
Instance details

Defined in ShellCheck.Interface

type Rep PositionedComment = D1 ('MetaData "PositionedComment" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "PositionedComment" 'PrefixI 'True) ((S1 ('MetaSel ('Just "pcStartPos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "pcEndPos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)) :*: (S1 ('MetaSel ('Just "pcComment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment) :*: S1 ('MetaSel ('Just "pcFix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Fix)))))
Show PositionedComment Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> PositionedComment -> ShowS

show :: PositionedComment -> String

showList :: [PositionedComment] -> ShowS

Eq PositionedComment Source # 
Instance details

Defined in ShellCheck.Interface

type Rep PositionedComment Source # 
Instance details

Defined in ShellCheck.Interface

type Rep PositionedComment = D1 ('MetaData "PositionedComment" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "PositionedComment" 'PrefixI 'True) ((S1 ('MetaSel ('Just "pcStartPos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "pcEndPos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)) :*: (S1 ('MetaSel ('Just "pcComment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment) :*: S1 ('MetaSel ('Just "pcFix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Fix)))))

data ColorOption Source #

Instances

Instances details
Show ColorOption Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> ColorOption -> ShowS

show :: ColorOption -> String

showList :: [ColorOption] -> ShowS

Eq ColorOption Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: ColorOption -> ColorOption -> Bool

(/=) :: ColorOption -> ColorOption -> Bool

Ord ColorOption Source # 
Instance details

Defined in ShellCheck.Interface

data TokenComment Source #

Instances

Instances details
NFData TokenComment Source # 
Instance details

Defined in ShellCheck.Interface

Methods

rnf :: TokenComment -> ()

Generic TokenComment Source # 
Instance details

Defined in ShellCheck.Interface

Associated Types

type Rep TokenComment 
Instance details

Defined in ShellCheck.Interface

type Rep TokenComment = D1 ('MetaData "TokenComment" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "TokenComment" 'PrefixI 'True) (S1 ('MetaSel ('Just "tcId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Id) :*: (S1 ('MetaSel ('Just "tcComment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment) :*: S1 ('MetaSel ('Just "tcFix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Fix)))))
Show TokenComment Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> TokenComment -> ShowS

show :: TokenComment -> String

showList :: [TokenComment] -> ShowS

Eq TokenComment Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: TokenComment -> TokenComment -> Bool

(/=) :: TokenComment -> TokenComment -> Bool

type Rep TokenComment Source # 
Instance details

Defined in ShellCheck.Interface

type Rep TokenComment = D1 ('MetaData "TokenComment" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "TokenComment" 'PrefixI 'True) (S1 ('MetaSel ('Just "tcId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Id) :*: (S1 ('MetaSel ('Just "tcComment") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Comment) :*: S1 ('MetaSel ('Just "tcFix") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Fix)))))

newSystemInterface :: forall (m :: Type -> Type). Monad m => SystemInterface m Source #

mockedSystemInterface :: [(String, String)] -> SystemInterface Identity Source #

mockRcFile :: forall {m :: Type -> Type}. Monad m => String -> SystemInterface m -> SystemInterface m Source #

data Fix Source #

Instances

Instances details
ToJSON Fix 
Instance details

Defined in ShellCheck.Formatter.JSON1

Methods

toJSON :: Fix -> Value

toEncoding :: Fix -> Encoding

toJSONList :: [Fix] -> Value

toEncodingList :: [Fix] -> Encoding

omitField :: Fix -> Bool

ToJSON Fix 
Instance details

Defined in ShellCheck.Formatter.JSON

Methods

toJSON :: Fix -> Value

toEncoding :: Fix -> Encoding

toJSONList :: [Fix] -> Value

toEncodingList :: [Fix] -> Encoding

omitField :: Fix -> Bool

NFData Fix Source # 
Instance details

Defined in ShellCheck.Interface

Methods

rnf :: Fix -> ()

Monoid Fix 
Instance details

Defined in ShellCheck.Fixer

Methods

mempty :: Fix

mappend :: Fix -> Fix -> Fix

mconcat :: [Fix] -> Fix

Semigroup Fix 
Instance details

Defined in ShellCheck.Fixer

Methods

(<>) :: Fix -> Fix -> Fix

sconcat :: NonEmpty Fix -> Fix

stimes :: Integral b => b -> Fix -> Fix

Generic Fix Source # 
Instance details

Defined in ShellCheck.Interface

Associated Types

type Rep Fix 
Instance details

Defined in ShellCheck.Interface

type Rep Fix = D1 ('MetaData "Fix" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "Fix" 'PrefixI 'True) (S1 ('MetaSel ('Just "fixReplacements") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Replacement])))

Methods

from :: Fix -> Rep Fix x

to :: Rep Fix x -> Fix

Show Fix Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> Fix -> ShowS

show :: Fix -> String

showList :: [Fix] -> ShowS

Eq Fix Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: Fix -> Fix -> Bool

(/=) :: Fix -> Fix -> Bool

type Rep Fix Source # 
Instance details

Defined in ShellCheck.Interface

type Rep Fix = D1 ('MetaData "Fix" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "Fix" 'PrefixI 'True) (S1 ('MetaSel ('Just "fixReplacements") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Replacement])))

data InsertionPoint Source #

Constructors

InsertBefore 
InsertAfter 

Instances

Instances details
NFData InsertionPoint Source # 
Instance details

Defined in ShellCheck.Interface

Methods

rnf :: InsertionPoint -> ()

Generic InsertionPoint Source # 
Instance details

Defined in ShellCheck.Interface

Associated Types

type Rep InsertionPoint 
Instance details

Defined in ShellCheck.Interface

type Rep InsertionPoint = D1 ('MetaData "InsertionPoint" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "InsertBefore" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InsertAfter" 'PrefixI 'False) (U1 :: Type -> Type))
Show InsertionPoint Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> InsertionPoint -> ShowS

show :: InsertionPoint -> String

showList :: [InsertionPoint] -> ShowS

Eq InsertionPoint Source # 
Instance details

Defined in ShellCheck.Interface

type Rep InsertionPoint Source # 
Instance details

Defined in ShellCheck.Interface

type Rep InsertionPoint = D1 ('MetaData "InsertionPoint" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "InsertBefore" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InsertAfter" 'PrefixI 'False) (U1 :: Type -> Type))

data Replacement Source #

Instances

Instances details
Ranged Replacement Source # 
Instance details

Defined in ShellCheck.Fixer

ToJSON Replacement 
Instance details

Defined in ShellCheck.Formatter.JSON1

Methods

toJSON :: Replacement -> Value

toEncoding :: Replacement -> Encoding

toJSONList :: [Replacement] -> Value

toEncodingList :: [Replacement] -> Encoding

omitField :: Replacement -> Bool

ToJSON Replacement 
Instance details

Defined in ShellCheck.Formatter.JSON

Methods

toJSON :: Replacement -> Value

toEncoding :: Replacement -> Encoding

toJSONList :: [Replacement] -> Value

toEncodingList :: [Replacement] -> Encoding

omitField :: Replacement -> Bool

NFData Replacement Source # 
Instance details

Defined in ShellCheck.Interface

Methods

rnf :: Replacement -> ()

Generic Replacement Source # 
Instance details

Defined in ShellCheck.Interface

Associated Types

type Rep Replacement 
Instance details

Defined in ShellCheck.Interface

type Rep Replacement = D1 ('MetaData "Replacement" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "Replacement" 'PrefixI 'True) ((S1 ('MetaSel ('Just "repStartPos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "repEndPos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)) :*: (S1 ('MetaSel ('Just "repString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "repPrecedence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "repInsertionPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InsertionPoint)))))

Methods

from :: Replacement -> Rep Replacement x

to :: Rep Replacement x -> Replacement

Show Replacement Source # 
Instance details

Defined in ShellCheck.Interface

Methods

showsPrec :: Int -> Replacement -> ShowS

show :: Replacement -> String

showList :: [Replacement] -> ShowS

Eq Replacement Source # 
Instance details

Defined in ShellCheck.Interface

Methods

(==) :: Replacement -> Replacement -> Bool

(/=) :: Replacement -> Replacement -> Bool

type Rep Replacement Source # 
Instance details

Defined in ShellCheck.Interface

type Rep Replacement = D1 ('MetaData "Replacement" "ShellCheck.Interface" "ShellCheck-0.10.0-Irsi8RF1KGQI4yvVOv50qQ" 'False) (C1 ('MetaCons "Replacement" 'PrefixI 'True) ((S1 ('MetaSel ('Just "repStartPos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Just "repEndPos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position)) :*: (S1 ('MetaSel ('Just "repString") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "repPrecedence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "repInsertionPoint") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 InsertionPoint)))))