View Source API Reference Credo v1.7.3
Modules
Credo builds upon four building blocks
Command
is used to describe commands which can be executed from the command line.
This module can be used to handle filenames given at the command line.
The Options
struct represents the options given on the command line.
This module provides helper functions regarding command line output.
This module can be used to easily delegate print-statements for different formats to different modules.
This module provides functions used to create the UI.
Check
modules represent the checks which are run during Credo's analysis.
ConfigComment
structs represent comments which follow control Credo's behaviour.
A behavior for modules that walk through source files and identify consistency issues.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of normal
and works with any version of Elixir.
This check has a base priority of higher
and works with any version of Elixir.
This check has a base priority of normal
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This module provides functions for handling parameters ("params") given to
checks through .credo.exs
(i.e. the Credo.ConfigFile
).
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of normal
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This module exists to contain logic for the cannot_be_in_pipline?/3 helper function. This function was originally copied from the Credo.Check.Refactor.PipeChainStart module's valid_chain_start?/3 function. Both functions are identical.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of high
and requires Elixir < 1.7.0-dev
.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and requires Elixir < 1.8.0
.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of normal
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of low
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of normal
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and requires Elixir >= 1.14.0-dev
.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and requires Elixir < 1.7.0
.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of normal
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of 0
and works with any version of Elixir.
This check has a base priority of normal
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
This check has a base priority of high
and works with any version of Elixir.
Credo.Code
contains a lot of utility or helper functions that deal with the
analysis of - you guessed it - code.
This module provides helper functions to analyse blocks, e.g. the block taken
by the if
macro.
This module lets you strip charlists from source code.
This module lets you strip heredocs from source code.
This module provides helper functions to analyse modules, return the defined functions or module attributes.
This module provides helper functions to process names of functions, module attributes and modules.
This module provides helper functions to analyse the parameters taken by a function.
This is an internal Issue
raised by Credo when it finds itself unable to
parse the source code in a file.
This module provides helper functions to determine the scope name at a certain point in the analysed code.
This module lets you strip sigils from source code.
This module lets you strip strings from source code.
This module provides helper functions to analyse tokens returned by Credo.Code.to_tokens/1
.
ConfigFile
structs represent all loaded and merged config files in a run.
Every run of Credo is configured via an Credo.Execution
struct, which is created and
manipulated via the Credo.Execution
module.
The ExecutionTiming
module can help in timing the execution of code parts and
storing those timing inside the Credo.Execution
struct.
A Task is a step in a pipeline, which is given an Credo.Execution
struct and must return one as well.
Issue
structs represent all issues found during the code analysis.
IssueMeta provides helper functions for meta information which a check wants
to pass to the issue_for(...)
function, i.e. the current SourceFile and check
params (by default).
Plugins are module which can provide additional functionality to Credo.
SourceFile
structs represent a source file in the codebase.
This module is used to find and read all source files for analysis.
Conveniences for testing Credo custom checks and plugins.
Mix Tasks
Run code analysis (use --help
for options)
Generate a new custom check for Credo
Generate a new config for Credo