# A 'Linter' for R Code

## Documentation for package ‘lintr’ version 3.0.2

- DESCRIPTION file.
- User guides, package vignettes and other documentation.

## Help Pages

A B C D E F G I L M N O P R S T U V W X Y

## -- A --

absolute_path_linter | Absolute path linter
all_undesirable_functions | Default undesirable functions and operators
all_undesirable_operators | Default undesirable functions and operators
any_duplicated_linter | Require usage of anyDuplicated() > 0 over any(duplicated(.))
any_is_na_linter | Require usage of anyNA over any(is.na(.))
assignment_linter | Assignment linter
available_linters | Get Linter metadata from a package
available_tags | Get Linter metadata from a package

## -- B --

backport_linter | Backport linter
best_practices_linters | Best practices linters
brace_linter | Brace linter

## -- C --

checkstyle_output | Checkstyle Report for lint results
class_equals_linter | Block comparison of class with ==
clear_cache | Clear the lintr cache
closed_curly_linter | Closed curly linter
commas_linter | Commas linter
commented_code_linter | Commented code linter
common_mistakes_linters | Common mistake linters
condition_message_linter | Block usage of paste() and paste0() with messaging functions using ...
configurable_linters | Configurable linters
conjunct_test_linter | Force && conditions in expect_true(), expect_false() to be written separately
consecutive_stopifnot_linter | Force consecutive calls to stopifnot into just one when possible
consistency_linters | Consistency linters
correctness_linters | Correctness linters
cyclocomp_linter | Cyclomatic complexity linter

## -- D --

default_linters | Default linters
default_settings | Default lintr settings
default_undesirable_functions | Default undesirable functions and operators
default_undesirable_operators | Default undesirable functions and operators
deprecated_linters | Deprecated linters
duplicate_argument_linter | Duplicate argument linter

## -- E --

efficiency_linters | Efficiency linters
equals_na_linter | Equality check with NA linter
exclude | Exclude lines or files from linting
executing_linters | Code executing linters
expect_comparison_linter | Require usage of expect_gt(x, y) over expect_true(x > y) (and similar)
expect_identical_linter | Require usage of expect_identical(x, y) where appropriate
expect_length_linter | Require usage of expect_length(x, n) over expect_equal(length(x), n)
expect_lint | Lint expectation
expect_lint_free | Test that the package is lint free
expect_named_linter | Require usage of expect_named(x, n) over expect_equal(names(x), n)
expect_not_linter | Require usage of expect_false(.) over expect_true(!.)
expect_null_linter | expect_null Linter
expect_s3_class_linter | Require usage of expect_s3_class()
expect_s4_class_linter | Require usage of expect_s4_class(x, k) over expect_true(is(x, k))
expect_true_false_linter | Require usage of expect_true(x) over expect_equal(x, TRUE)
expect_type_linter | Require usage of expect_type(x, type) over expect_equal(typeof(x), type)
extraction_operator_linter | Extraction operator linter

## -- F --

fixed_regex_linter | Require usage of 'fixed=TRUE' in regular expressions where appropriate
function_argument_linter | Function argument linter
function_left_parentheses_linter | Function left parentheses linter

## -- G --

get_source_expressions | Parsed sourced file from a filename

## -- I --

ids_with_token | Get parsed IDs by token
ifelse_censor_linter | Block usage of ifelse where pmin or pmax is more appropriate
implicit_integer_linter | Implicit integer linter
infix_spaces_linter | Infix spaces linter
inner_combine_linter | Require c() to be applied before relatively expensive vectorized functions
is_lint_level | Is this an expression- or a file-level source object?

## -- L --

line_length_linter | Line length linter
Lint | Create a 'lint' object
lint | Lint a file, directory, or package
lint-s3 | Create a 'lint' object
Linter | Create a 'linter' closure
linters | Available linters
linters_with_defaults | Create a linter configuration based on defaults
linters_with_tags | Create a tag-based linter configuration
lint_dir | Lint a file, directory, or package
lint_file | Lint a file, directory, or package
lint_package | Lint a file, directory, or package
literal_coercion_linter | Require usage of correctly-typed literals over literal coercions

## -- M --

missing_argument_linter | Missing argument linter
missing_package_linter | Missing package linter
modify_defaults | Modify lintr defaults

## -- N --

namespace_linter | Namespace linter
nested_ifelse_linter | Block usage of nested ifelse() calls
nonportable_path_linter | Non-portable path linter
no_tab_linter | No tab linter
numeric_leading_zero_linter | Require usage of a leading zero in all fractional numerics

## -- O --

object_length_linter | Object length linter
object_name_linter | Object name linter
object_usage_linter | Object usage linter
open_curly_linter | Open curly linter
outer_negation_linter | Require usage of !any(.) over all(!.), !all(.) over any(!.)

## -- P --

package_development_linters | Package development linters
package_hooks_linter | Package hooks linter
paren_body_linter | Parenthesis before body linter
paren_brace_linter | Parentheses before brace linter
parse_exclusions | read a source file and parse all the excluded lines from it
paste_linter | Raise lints for several common poor usages of paste()
pipe_call_linter | Pipe call linter
pipe_continuation_linter | Pipe continuation linter

## -- R --

readability_linters | Readability linters
read_settings | Read lintr settings
redundant_ifelse_linter | Prevent ifelse() from being used to produce TRUE/FALSE or 1/0
regex_subset_linter | Require usage of direct methods for subsetting strings via regex.
robustness_linters | Robustness linters

## -- S --

sarif_output | SARIF Report for lint results
semicolon_linter | Semicolon linter
semicolon_terminator_linter | Semicolon linter
seq_linter | Sequence linter
single_quotes_linter | Single quotes linter
spaces_inside_linter | Spaces inside linter
spaces_left_parentheses_linter | Spaces before parentheses linter
sprintf_linter | 'sprintf' linter
strings_as_factors_linter | Identify cases where stringsAsFactors should be supplied explicitly
string_boundary_linter | Require usage of startsWith() and endsWith() over grepl()/substr() versions
style_linters | Style linters
system_file_linter | Block usage of file.path() with system.file()

## -- T --

todo_comment_linter | TODO comment linter
trailing_blank_lines_linter | Trailing blank lines linter
trailing_whitespace_linter | Trailing whitespace linter
T_and_F_symbol_linter | 'T' and 'F' symbol linter

## -- U --

undesirable_function_linter | Undesirable function linter
undesirable_operator_linter | Undesirable operator linter
unneeded_concatenation_linter | Unneeded concatenation linter
unreachable_code_linter | Block unreachable code and comments following return statements
unused_import_linter | Check that imported packages are actually used
use_lintr | Use lintr in your project

## -- V --

vector_logic_linter | Enforce usage of scalar logical operators in conditional statements

## -- W --

with_defaults | Create a linter configuration based on defaults
with_id | Get parsed IDs by token

## -- X --

xml_nodes_to_lints | Convert an XML node or nodeset into a Lint

## -- Y --

yoda_test_linter | Block obvious "yoda tests"