Credo
v1.7.12
v1.7.11
v1.7.10
v1.7.9
v1.7.8
v1.7.7
v1.7.7-rc.0
v1.7.6
v1.7.5
v1.7.4
v1.7.3
v1.7.2
v1.7.2-rc.4
v1.7.2-rc.3
v1.7.2-rc.2
v1.7.2-rc.1
v1.7.2-rc.0
v1.7.1
v1.7.0
v1.7.0-rc.2
v1.7.0-rc.1
v1.6.7
v1.6.6
v1.6.5
v1.6.4
v1.6.3
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc.1
v1.6.0-rc.0
v1.5.6
v1.5.5
v1.5.4
v1.5.3
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc.5
v1.5.0-rc.4
v1.5.0-rc.2
v1.5.0-rc.1
v1.4.0
v1.4.0-rc.2
v1.4.0-rc.1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc3
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc4
v1.2.0-rc3
v1.2.0-rc1
v1.1.5
v1.1.4
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.1.0-rc3
v1.1.0-rc2
v1.1.0-rc1
v1.0.5
v1.0.4
v1.0.3
v1.0.2
v1.0.1-rc1
v1.0.0-rc1
GUIDES
Modules
Mix
Tasks
Credo
Summary
Functions
run/1
run/2
version/0
Essential Behaviours
Credo.Check
Summary
Callbacks
base_priority/0
category/0
elixir_version/0
exit_status/0
explanations/0
format_issue/2
param_defaults/0
run/2
run_on_all?/0
run_on_all_source_files/3
run_on_source_file/3
tags/0
Functions
explanation_for/2
format_issue/3
to_exit_status/1
Credo.Plugin
Summary
Functions
append_task/3
append_task/4
prepend_task/3
prepend_task/4
register_cli_switch/5
register_command/3
register_default_config/2
Essential Structs
Credo.Execution
Summary
Functions
%Credo.Execution{}
build/1
checks/1
ensure_execution_struct/2
get_assign/3
get_command/2
get_command_name/1
get_given_cli_switch/2
get_issues/1
get_issues/2
get_plugin_param/3
get_result/3
get_source_files/1
get_valid_command_names/1
halt/1
halt/2
put_assign/3
put_issues/2
put_pipeline/3
put_result/3
run_pipeline/2
set_strict/1
tags_for_check/2
Credo.Issue
Summary
Types
t/0
Credo.IssueMeta
Summary
Types
t/0
Functions
for/2
params/1
source_file/1
Credo.SourceFile
Summary
Types
t/0
Functions
ast/1
column/3
line_at/2
line_at/4
lines/1
parse/2
source/1
source_and_filename/2
timed_out/1
Code Analysis
Credo.Code
Summary
Functions
ast/1
clean_charlists_strings_and_sigils/1
clean_charlists_strings_sigils_and_comments/2
contains_child?/2
postwalk/3
prewalk/3
remove_metadata/1
to_lines/1
to_tokens/1
to_tokens/2
Credo.Code.Block
Summary
Functions
after_block?/1
after_block_for/1
after_block_for!/1
all_blocks_for!/1
calls_in_catch_block/1
calls_in_do_block/1
calls_in_rescue_block/1
catch_block?/1
catch_block_for/1
catch_block_for!/1
do_block?/1
do_block_for/1
do_block_for!/1
else_block?/1
else_block_for/1
else_block_for!/1
rescue_block?/1
rescue_block_for/1
rescue_block_for!/1
Credo.Code.Charlists
Summary
Functions
replace_with_spaces/4
Credo.Code.Heredocs
Summary
Functions
replace_with_spaces/5
Credo.Code.Module
Summary
Types
location/0
module_part/0
Functions
aliases/1
analyze/1
attribute/2
def_arity/1
def_count/1
def_name/1
def_name_with_op/1
def_name_with_op/2
def_names/1
def_names_with_op/1
def_names_with_op/2
defs/1
exception?/1
modules/1
name/1
Credo.Code.Name
Summary
Functions
first/1
full/1
last/1
no_case?/1
parts_count/1
pascal_case?/1
snake_case?/1
snake_case?/2
split_pascal_case/1
Credo.Code.Parameters
Summary
Functions
count/1
names/1
Credo.Code.ParserError
Credo.Code.Scope
Summary
Functions
mod_name/1
name/2
Credo.Code.Sigils
Summary
Functions
replace_with_spaces/4
Credo.Code.Strings
Summary
Functions
replace_with_spaces/4
Credo.Code.Token
Summary
Functions
eol?/1
position/1
Credo.Code.TokenAstCorrelation
Summary
Functions
find_tokens_in_ast/2
Testing Utilities
Credo.Test.Case
Sections
Testing custom checks
Asserting found issues
Testing checks that analyse multiple source files
Summary
Functions
assert_issue/2
assert_issues/2
refute_issues/1
run_check/3
to_source_file/1
to_source_file/2
to_source_files/1
Credo.Test.CheckRunner
Summary
Functions
run_check/3
Credo.Test.SourceFiles
Summary
Functions
to_source_file/1
to_source_file/2
to_source_files/1
Check Utilities
Credo.Check.ConfigComment
Summary
Functions
ignores_issue?/2
new/3
Credo.Check.Params
Summary
Functions
get/3
Checks: Software Design
Credo.Check.Design.AliasUsage
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Design.DuplicatedCode
Sections
Explanation
Check-Specific Parameters
General Parameters
Summary
Functions
add_masses/1
calculate_hashes/4
create_issue?/2
line_no_for/1
mass/1
prune_hashes/2
to_hash/1
Credo.Check.Design.SkipTestWithoutComment
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Design.TagFIXME
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Design.TagTODO
Sections
Explanation
Check-Specific Parameters
General Parameters
Checks: Code Readability
Credo.Check.Readability.AliasAs
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.AliasOrder
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.BlockPipe
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.FunctionNames
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.ImplTrue
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.LargeNumbers
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.MaxLineLength
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.ModuleAttributeNames
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.ModuleDoc
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.ModuleNames
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.MultiAlias
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.NestedFunctionCalls
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.ParenthesesInCondition
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.ParenthesesOnZeroArityDefs
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.PipeIntoAnonymousFunctions
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.PredicateFunctionNames
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.PreferImplicitTry
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.PreferUnquotedAtoms
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.RedundantBlankLines
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.Semicolons
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.SeparateAliasRequire
Sections
Explanation
Check-Specific Parameters
General Parameters
Summary
Functions
message/1
Credo.Check.Readability.SingleFunctionToBlockPipe
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.SinglePipe
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.SpaceAfterCommas
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.Specs
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.StrictModuleLayout
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.StringSigils
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.TrailingBlankLine
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.TrailingWhiteSpace
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.UnnecessaryAliasExpansion
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.VariableNames
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.WithCustomTaggedTuple
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Readability.WithSingleClause
Sections
Explanation
Check-Specific Parameters
General Parameters
Checks: Refactoring Opportunities
Credo.Check.Refactor.ABCSize
Sections
Explanation
Check-Specific Parameters
General Parameters
Summary
Functions
abc_size_for/2
Credo.Check.Refactor.AppendSingleItem
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.Apply
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.CaseTrivialMatches
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.CondStatements
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.CyclomaticComplexity
Sections
Explanation
Check-Specific Parameters
General Parameters
Summary
Functions
complexity_for/1
Credo.Check.Refactor.DoubleBooleanNegation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.EnumHelpers
Summary
Functions
traverse/8
Credo.Check.Refactor.FilterFilter
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.FilterReject
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.FunctionArity
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.IoPuts
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.LongQuoteBlocks
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.MapInto
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.MapJoin
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.MapMap
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.MatchInCondition
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.ModuleDependencies
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.NegatedConditionsInUnless
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.NegatedConditionsWithElse
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.NegatedIsNil
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.Nesting
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.PerceivedComplexity
Sections
Explanation
Check-Specific Parameters
General Parameters
Summary
Functions
complexity_for/1
Credo.Check.Refactor.PipeChainStart
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.RedundantWithClauseResult
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.RejectFilter
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.RejectReject
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.UnlessWithElse
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.VariableRebinding
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Refactor.WithClauses
Sections
Explanation
Check-Specific Parameters
General Parameters
Checks: Warnings
Credo.Check.Warning.ApplicationConfigInModuleAttribute
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.BoolOperationOnSameValues
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.ExpensiveEmptyEnumCheck
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.ForbiddenModule
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.IExPry
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.IoInspect
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.LazyLogging
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.LeakyEnvironment
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.MapGetUnsafePass
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.MixEnv
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.OperationOnSameValues
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.OperationWithConstantResult
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.RaiseInsideRescue
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.SpecWithStruct
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnsafeExec
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnsafeToAtom
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnusedEnumOperation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnusedFileOperation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnusedKeywordOperation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnusedListOperation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnusedOperation
Credo.Check.Warning.UnusedPathOperation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnusedRegexOperation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnusedStringOperation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.UnusedTupleOperation
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Warning.WrongTestFileExtension
Sections
Explanation
Check-Specific Parameters
General Parameters
Checks: Consistency
Credo.Check.Consistency.Collector
Summary
Types
issue_formatter/0
Callbacks
collect_matches/2
find_locations_not_matching/2
Functions
append_issue_via_issue_service/2
find_issues/4
Credo.Check.Consistency.ExceptionNames
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Consistency.LineEndings
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Consistency.MultiAliasImportRequireUse
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Consistency.ParameterPatternMatching
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Consistency.SpaceAroundOperators
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Consistency.SpaceInParentheses
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Consistency.TabsOrSpaces
Sections
Explanation
Check-Specific Parameters
General Parameters
Credo.Check.Consistency.UnusedVariableNames
Sections
Explanation
Check-Specific Parameters
General Parameters
Commands & CLI
Credo.CLI
Summary
Functions
main/1
Credo.CLI.Command
Summary
Callbacks
call/1
call/2
cli_switches/0
init/1
short_description/0
Credo.CLI.Filename
Summary
Functions
contains_line_no?/1
pos_suffix/2
remove_line_no_and_column/1
with/2
Credo.CLI.Options
Summary
Functions
parse/7
parse/8
Credo.CLI.Output
Summary
Functions
check_color/1
check_tag/2
complain_about_invalid_source_files/1
complain_about_timed_out_source_files/1
foreground_color/1
issue_color/1
print_skipped_checks/1
priority_arrow/1
priority_name/1
term_columns/1
Credo.CLI.Switch
Summary
Functions
boolean/2
ensure/1
keep/2
string/2
Internal
Credo.CLI.Command.Diff.Task.FilterIssues
Credo.CLI.Command.Diff.Task.GetGitDiff
Summary
Functions
store_resulting_execution/5
Credo.CLI.Command.Explain.ExplainCommand.ExplainCheck
Credo.CLI.Command.Explain.ExplainCommand.ExplainIssue
Summary
Functions
print_result/3
Credo.CLI.Command.Explain.ExplainCommand.ExplainIssuePreCheck
Credo.CLI.Command.Info.InfoCommand.PrintInfo
Summary
Functions
call/2
Credo.CLI.Output.FirstRunHint
Summary
Functions
call/1
Credo.CLI.Output.FormatDelegator
Credo.CLI.Output.UI
Summary
Functions
edge/0
edge/2
puts/0
puts/1
puts/2
puts_edge/2
truncate/2
truncate/3
use_colors/1
warn/1
wrap_at/2
Credo.ConfigBuilder
Summary
Functions
parse/1
Credo.ConfigFile
Summary
Functions
merge/1
merge/2
merge_checks/2
merge_files/2
read_from_file_path/5
read_or_default/4
relevant_directories/1
Credo.Execution.ExecutionTiming
Summary
Functions
all/1
append/3
append/4
by_tag/2
by_tag/3
child_spec/1
ended_at/1
grouped_by_tag/2
inspect/2
now/0
run/1
run/2
started_at/1
Credo.Execution.Task
Summary
Callbacks
call/1
call/2
error/1
error/2
Credo.Sources
Summary
Functions
find/1
find_in_dir/3
Credo.Watcher
Summary
Functions
run/1
Settings
View Source
Credo.Code.Name
(Credo v1.6.4)
This module provides helper functions to process names of functions, module attributes and modules.
Link to this section
Summary
Functions
first(name)
full(mod_list)
last(name)
no_case?(name)
parts_count(module_name)
pascal_case?(name)
snake_case?(name)
snake_case?(name, arg2)
split_pascal_case(name)
Link to this section
Functions
Link to this function
first(name)
View Source
Link to this function
full(mod_list)
View Source
Link to this function
last(name)
View Source
Link to this function
no_case?(name)
View Source
Link to this function
parts_count(module_name)
View Source
Link to this function
pascal_case?(name)
View Source
Link to this function
snake_case?(name)
View Source
Link to this function
snake_case?(name, arg2)
View Source
Link to this function
split_pascal_case(name)
View Source
×