floskell-0.11.0: A flexible Haskell source code pretty printer

Safe Haskell | Safe-Inferred
Language | Haskell2010

Floskell

Contents

- Configuration
- Formatting functions.
- Style
- Testing

Description

Haskell indenter.

Synopsis

- data AppConfig = AppConfig {
  - appStyle :: Style
  - appLanguage :: Language
  - appExtensions :: [Extension]
  - appFixities :: [Fixity]
  }
- defaultAppConfig :: AppConfig
- findAppConfig :: IO (Maybe FilePath)
- findAppConfigIn :: FilePath -> IO (Maybe FilePath)
- readAppConfig :: FilePath -> IO AppConfig
- setStyle :: AppConfig -> Maybe String -> AppConfig
- setLanguage :: AppConfig -> Maybe String -> AppConfig
- setExtensions :: AppConfig -> [String] -> AppConfig
- setFixities :: AppConfig -> [String] -> AppConfig
- reformat :: AppConfig -> Maybe FilePath -> Text -> Either String Text
- data Style = Style {
  - styleName :: !Text
  - styleAuthor :: !Text
  - styleDescription :: !Text
  - styleConfig :: !Config
  }
- styles :: [Style]
- defaultExtensions :: [Extension]

# Configuration

data AppConfig #

Constructors

AppConfig |

Fields

- appStyle :: Style
- appLanguage :: Language
- appExtensions :: [Extension]
- appFixities :: [Fixity]

#### Instances

Instances details

FromJSON AppConfig # |
Instance details Defined in Floskell.ConfigFile Methods parseJSON :: Value -> Parser AppConfig # parseJSONList :: Value -> Parser [AppConfig] # omittedField :: Maybe AppConfig #
ToJSON AppConfig # |
Instance details Defined in Floskell.ConfigFile Methods toJSON :: AppConfig -> Value # toEncoding :: AppConfig -> Encoding # toJSONList :: [AppConfig] -> Value # toEncodingList :: [AppConfig] -> Encoding # omitField :: AppConfig -> Bool #
Generic AppConfig # |
Instance details Defined in Floskell.ConfigFile Associated Types type Rep AppConfig :: Type -> Type Methods from :: AppConfig -> Rep AppConfig x to :: Rep AppConfig x -> AppConfig
type Rep AppConfig # |

Instance details

Defined in Floskell.ConfigFile

type Rep AppConfig = D1 ('MetaData "AppConfig" "Floskell.ConfigFile" "floskell-0.11.0-FcCpf6QupMgIc5qNTp9SwN" 'False) (C1 ('MetaCons "AppConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "appStyle") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Style) :*: S1 ('MetaSel ('Just "appLanguage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Language)) :*: (S1 ('MetaSel ('Just "appExtensions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Extension]) :*: S1 ('MetaSel ('Just "appFixities") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Fixity]))))

defaultAppConfig :: AppConfig #

Default program configuration.

findAppConfig :: IO (Maybe FilePath) #

Try to find a configuration file based on current working directory, or in one of the application configuration directories.

findAppConfigIn :: FilePath -> IO (Maybe FilePath) #

readAppConfig :: FilePath -> IO AppConfig #

Load a configuration file.

setStyle :: AppConfig -> Maybe String -> AppConfig #

setLanguage :: AppConfig -> Maybe String -> AppConfig #

setExtensions :: AppConfig -> [String] -> AppConfig #

setFixities :: AppConfig -> [String] -> AppConfig #

# Formatting functions.

reformat :: AppConfig -> Maybe FilePath -> Text -> Either String Text #

Format the given source.

# Style

data Style #

A printer style.

Constructors

Style |

Fields

- styleName :: !Text

  Name of the style, used in the commandline interface.

- styleAuthor :: !Text

  Author of the style definition.

- styleDescription :: !Text

  Description of the style.

- styleConfig :: !Config

  Style definition.

styles :: [Style] #

Styles list, useful for programmatically choosing.

# Testing

defaultExtensions :: [Extension] #

Default extensions.