# green v0.2.0 - Table of Contents

> Format Elixir code according to a consistent style

## GUIDES

- [Green](readme.md)

## Modules

- [Green.Function.Signature](Green.Function.Signature.md): This module defines a struct that represents a function signature.

- [Green.Lexmag.ElixirStyleGuideFormatter](Green.Lexmag.ElixirStyleGuideFormatter.md): ## Usage
- [Green.Quoted](Green.Quoted.md): Conveniences for modifying the AST and associated comments.

- [Green.Quoted.Comments](Green.Quoted.Comments.md): Conveniences for modifying parsed comments.

- [Green.Quoted.Forms](Green.Quoted.Forms.md): Conveniences for modifying the AST.

- [Green.Quoted.FormsAndComments](Green.Quoted.FormsAndComments.md): Conveniences for modifying the AST and associated comments.

- [Green.Rule](Green.Rule.md): This is the Rule behaviour.

- [Green.Rules.Exceptions.LowercaseExceptionMessages](Green.Rules.Exceptions.LowercaseExceptionMessages.md): Warns when exception messages are capitalized.
- [Green.Rules.Exceptions.NoTrailingPunctuationInExceptionMessages](Green.Rules.Exceptions.NoTrailingPunctuationInExceptionMessages.md): Warns when exception messages have trailing punctuation.
- [Green.Rules.Exceptions.UseErrorSuffix](Green.Rules.Exceptions.UseErrorSuffix.md): This rule warns if exceptions are defined with a suffix of `Error`.
- [Green.Rules.Linting.AvoidNeedlessPipelines](Green.Rules.Linting.AvoidNeedlessPipelines.md): This rule transforms single-function pipelines into function calls.
- [Green.Rules.Linting.BooleanOperators](Green.Rules.Linting.BooleanOperators.md): This rule checks for the use of `&&` and `||` in strictly boolean contexts and suggests using `and` and `or` instead.
- [Green.Rules.Linting.NoAnonymousFunctionsInPipelines](Green.Rules.Linting.NoAnonymousFunctionsInPipelines.md): This rule checks for anonymous functions in pipelines and prints a warning.
- [Green.Rules.Linting.NoNilElse](Green.Rules.Linting.NoNilElse.md): This module removes `else` clauses that return `nil`.
- [Green.Rules.Linting.NoUnlessWithElse](Green.Rules.Linting.NoUnlessWithElse.md): This rule transforms `unless` with `else` into `if` with `else`.
- [Green.Rules.Linting.PreferPipelines](Green.Rules.Linting.PreferPipelines.md): This rule transforms nested function calls into pipelines.
- [Green.Rules.Linting.TrueInCond](Green.Rules.Linting.TrueInCond.md): This rule warns when final, always-matching clauses in `cond` do not use `true`.
- [Green.Rules.Linting.UseStringConcatenationWhenMatchingBinaries](Green.Rules.Linting.UseStringConcatenationWhenMatchingBinaries.md): This rule replaces use of bitstrings with the `<>` operator when matching binaries.
- [Green.Rules.Modules.SortReferences](Green.Rules.Modules.SortReferences.md): This rule sorts module references (use, import, alias, require).
- [Green.Rules.Modules.UseModulePseudoVariable](Green.Rules.Modules.UseModulePseudoVariable.md): This rule replaces references to the current module by name with the pseudo-variable
`__MODULE__`.
- [Green.Rules.Naming.AvoidCaps](Green.Rules.Naming.AvoidCaps.md): This module prints warnings when capital letters are used in atoms, functions, variables or
attributes.
- [Green.Rules.Naming.AvoidOneLetterVariables](Green.Rules.Naming.AvoidOneLetterVariables.md): This module prints a warning if there are one-letter variable names.
- [Green.Rules.Naming.PredicateFunctions](Green.Rules.Naming.PredicateFunctions.md): This rule checks that predicate functions have `?` suffix and guard-style macros use `is_` prefix.
- [Green.Rules.Naming.UpperCamelCaseForModules](Green.Rules.Naming.UpperCamelCaseForModules.md): This rule checks that module names use UpperCamelCase.
- [Green.Rules.Parentheses.UseParenthesesWithZeroArityFunctions](Green.Rules.Parentheses.UseParenthesesWithZeroArityFunctions.md): This module adds parentheses to zero-arity function and macro definitions.
- [Green.Rules.Structs.RemoveNilFromStructDefinition](Green.Rules.Structs.RemoveNilFromStructDefinition.md): This module removes `nil` defaults from struct definitions.

