ormolu-0.7.2.0: A formatter for Haskell source code
Safe HaskellSafe-Inferred
LanguageGHC2021

Ormolu.Fixity.Internal

Synopsis

Documentation

data OpName Source #

An operator name.

Instances

Instances details
IsString OpName Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

fromString :: String -> OpName

Show OpName Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> OpName -> ShowS

show :: OpName -> String

showList :: [OpName] -> ShowS

Binary OpName Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

put :: OpName -> Put

get :: Get OpName

putList :: [OpName] -> Put

NFData OpName Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

rnf :: OpName -> ()

Eq OpName Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

(==) :: OpName -> OpName -> Bool

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

Ord OpName Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

compare :: OpName -> OpName -> Ordering

(<) :: OpName -> OpName -> Bool

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

(>) :: OpName -> OpName -> Bool

(>=) :: OpName -> OpName -> Bool

max :: OpName -> OpName -> OpName

min :: OpName -> OpName -> OpName

pattern OpName :: Text -> OpName Source #

unOpName :: OpName -> Text Source #

Convert an OpName to Text.

occOpName :: OccName -> OpName Source #

Convert an 'OccName to an OpName.

data FixityDirection Source #

Fixity direction.

Constructors

InfixL 
InfixR 
InfixN 

Instances

Instances details
Generic FixityDirection Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Associated Types

type Rep FixityDirection :: Type -> Type

Show FixityDirection Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> FixityDirection -> ShowS

show :: FixityDirection -> String

showList :: [FixityDirection] -> ShowS

Binary FixityDirection Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

put :: FixityDirection -> Put

get :: Get FixityDirection

putList :: [FixityDirection] -> Put

NFData FixityDirection Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

rnf :: FixityDirection -> ()

Eq FixityDirection Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Ord FixityDirection Source # 
Instance details

Defined in Ormolu.Fixity.Internal

type Rep FixityDirection Source # 
Instance details

Defined in Ormolu.Fixity.Internal

type Rep FixityDirection = D1 ('MetaData "FixityDirection" "Ormolu.Fixity.Internal" "ormolu-0.7.2.0-JpsEOpENt94Cny8MV6lXhA" 'False) (C1 ('MetaCons "InfixL" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InfixR" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InfixN" 'PrefixI 'False) (U1 :: Type -> Type)))

data FixityInfo Source #

Fixity information about an infix operator. This type provides precise information as opposed to FixityApproximation.

Constructors

FixityInfo 

Fields

Instances

Instances details
Generic FixityInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Associated Types

type Rep FixityInfo :: Type -> Type

Methods

from :: FixityInfo -> Rep FixityInfo x

to :: Rep FixityInfo x -> FixityInfo

Show FixityInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> FixityInfo -> ShowS

show :: FixityInfo -> String

showList :: [FixityInfo] -> ShowS

Binary FixityInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

put :: FixityInfo -> Put

get :: Get FixityInfo

putList :: [FixityInfo] -> Put

NFData FixityInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

rnf :: FixityInfo -> ()

Eq FixityInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

(==) :: FixityInfo -> FixityInfo -> Bool

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

Ord FixityInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

type Rep FixityInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

type Rep FixityInfo = D1 ('MetaData "FixityInfo" "Ormolu.Fixity.Internal" "ormolu-0.7.2.0-JpsEOpENt94Cny8MV6lXhA" 'False) (C1 ('MetaCons "FixityInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "fiDirection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FixityDirection) :*: S1 ('MetaSel ('Just "fiPrecedence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))

colonFixityInfo :: FixityInfo Source #

Fixity info of the built-in colon data constructor.

defaultFixityInfo :: FixityInfo Source #

Fixity that is implicitly assumed if no fixity declaration is present.

data FixityApproximation Source #

Approximation of fixity information that takes the uncertainty that can arise from conflicting definitions into account.

Constructors

FixityApproximation 

Fields

  • faDirection :: Maybe FixityDirection

    Fixity direction if it is known

  • faMinPrecedence :: Int

    Minimum precedence level found in the (maybe conflicting) definitions for the operator (inclusive)

  • faMaxPrecedence :: Int

    Maximum precedence level found in the (maybe conflicting) definitions for the operator (inclusive)

Instances

Instances details
Semigroup FixityApproximation Source #

Gives the ability to merge two (maybe conflicting) definitions for an operator, keeping the higher level of compatible information from both.

Instance details

Defined in Ormolu.Fixity.Internal

Generic FixityApproximation Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Associated Types

type Rep FixityApproximation :: Type -> Type

Show FixityApproximation Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> FixityApproximation -> ShowS

show :: FixityApproximation -> String

showList :: [FixityApproximation] -> ShowS

Binary FixityApproximation Source # 
Instance details

Defined in Ormolu.Fixity.Internal

NFData FixityApproximation Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

rnf :: FixityApproximation -> ()

Eq FixityApproximation Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Ord FixityApproximation Source # 
Instance details

Defined in Ormolu.Fixity.Internal

type Rep FixityApproximation Source # 
Instance details

Defined in Ormolu.Fixity.Internal

type Rep FixityApproximation = D1 ('MetaData "FixityApproximation" "Ormolu.Fixity.Internal" "ormolu-0.7.2.0-JpsEOpENt94Cny8MV6lXhA" 'False) (C1 ('MetaCons "FixityApproximation" 'PrefixI 'True) (S1 ('MetaSel ('Just "faDirection") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe FixityDirection)) :*: (S1 ('MetaSel ('Just "faMinPrecedence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "faMaxPrecedence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

defaultFixityApproximation :: FixityApproximation Source #

The lowest level of information we can have about an operator.

newtype HackageInfo Source #

The map of operators declared by each package grouped by module name.

Constructors

HackageInfo (Map PackageName (Map ModuleName (Map OpName FixityInfo))) 

Instances

Instances details
Generic HackageInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Associated Types

type Rep HackageInfo :: Type -> Type

Methods

from :: HackageInfo -> Rep HackageInfo x

to :: Rep HackageInfo x -> HackageInfo

Binary HackageInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

put :: HackageInfo -> Put

get :: Get HackageInfo

putList :: [HackageInfo] -> Put

NFData HackageInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

rnf :: HackageInfo -> ()

type Rep HackageInfo Source # 
Instance details

Defined in Ormolu.Fixity.Internal

type Rep HackageInfo = D1 ('MetaData "HackageInfo" "Ormolu.Fixity.Internal" "ormolu-0.7.2.0-JpsEOpENt94Cny8MV6lXhA" 'True) (C1 ('MetaCons "HackageInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Map PackageName (Map ModuleName (Map OpName FixityInfo))))))

newtype FixityOverrides Source #

Map from the operator name to its FixityInfo.

Instances

Instances details
Show FixityOverrides Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> FixityOverrides -> ShowS

show :: FixityOverrides -> String

showList :: [FixityOverrides] -> ShowS

Eq FixityOverrides Source # 
Instance details

Defined in Ormolu.Fixity.Internal

defaultFixityOverrides :: FixityOverrides Source #

Fixity overrides to use by default.

newtype ModuleReexports Source #

Module re-exports

Constructors

ModuleReexports 

Fields

Instances

Instances details
Show ModuleReexports Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> ModuleReexports -> ShowS

show :: ModuleReexports -> String

showList :: [ModuleReexports] -> ShowS

Eq ModuleReexports Source # 
Instance details

Defined in Ormolu.Fixity.Internal

defaultModuleReexports :: ModuleReexports Source #

Module re-exports to apply by default.

newtype PackageFixityMap Source #

Fixity information that is specific to a package being formatted. It requires module-specific imports in order to be usable.

Constructors

PackageFixityMap (Map OpName (NonEmpty (PackageName, ModuleName, FixityInfo))) 

Instances

Instances details
Show PackageFixityMap Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> PackageFixityMap -> ShowS

show :: PackageFixityMap -> String

showList :: [PackageFixityMap] -> ShowS

Eq PackageFixityMap Source # 
Instance details

Defined in Ormolu.Fixity.Internal

newtype ModuleFixityMap Source #

Fixity map that takes into account imports in a particular module.

Instances

Instances details
Show ModuleFixityMap Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> ModuleFixityMap -> ShowS

show :: ModuleFixityMap -> String

showList :: [ModuleFixityMap] -> ShowS

Eq ModuleFixityMap Source # 
Instance details

Defined in Ormolu.Fixity.Internal

data FixityProvenance Source #

Provenance of fixity info.

Constructors

Given FixityInfo

FixityInfo of a built-in operator or provided by a user override.

FromModuleImports (NonEmpty (FixityQualification, FixityInfo))

FixityInfo to be inferred from module imports.

Instances

Instances details
Show FixityProvenance Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> FixityProvenance -> ShowS

show :: FixityProvenance -> String

showList :: [FixityProvenance] -> ShowS

Eq FixityProvenance Source # 
Instance details

Defined in Ormolu.Fixity.Internal

data FixityQualification Source #

Fixity qualification that determines how FixityInfo matches a particular use of an operator, given whether it is qualified or unqualified and the module name used.

Constructors

UnqualifiedAndQualified ModuleName 
OnlyQualified ModuleName 

Instances

Instances details
Show FixityQualification Source # 
Instance details

Defined in Ormolu.Fixity.Internal

Methods

showsPrec :: Int -> FixityQualification -> ShowS

show :: FixityQualification -> String

showList :: [FixityQualification] -> ShowS

Eq FixityQualification Source # 
Instance details

Defined in Ormolu.Fixity.Internal