Skip to contents

Linting

lint() lint_dir() lint_package()
Lint a file, directory, or package
linters_with_defaults() with_defaults()
Create a linter configuration based on defaults

Configuration

read_settings()
Read lintr settings
exclude()
Exclude lines or files from linting
linters_with_tags()
Create a tag-based linter configuration
modify_defaults()
Modify lintr defaults

Individual linters

T_and_F_symbol_linter()
T and F symbol linter
absolute_path_linter()
Absolute path linter
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
backport_linter()
Backport linter
brace_linter()
Brace linter
class_equals_linter()
Block comparison of class with ==
closed_curly_linter()
Closed curly linter
commas_linter()
Commas linter
commented_code_linter()
Commented code linter
condition_message_linter()
Block usage of paste() and paste0() with messaging functions using ...
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
cyclocomp_linter()
Cyclomatic complexity linter
duplicate_argument_linter()
Duplicate argument linter
equals_na_linter()
Equality check with NA linter
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_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
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
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
line_length_linter()
Line length linter
literal_coercion_linter()
Require usage of correctly-typed literals over literal coercions
missing_argument_linter()
Missing argument linter
missing_package_linter()
Missing package linter
namespace_linter()
Namespace linter
nested_ifelse_linter()
Block usage of nested ifelse() calls
no_tab_linter()
No tab linter
nonportable_path_linter()
Non-portable path linter
numeric_leading_zero_linter()
Require usage of a leading zero in all fractional numerics
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(!.)
package_hooks_linter()
Package hooks linter
paren_body_linter()
Parenthesis before body linter
paren_brace_linter()
Parentheses before brace linter
paste_linter()
Raise lints for several common poor usages of paste()
pipe_call_linter()
Pipe call linter
pipe_continuation_linter()
Pipe continuation linter
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.
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
string_boundary_linter()
Require usage of startsWith() and endsWith() over grepl()/substr() versions
strings_as_factors_linter()
Identify cases where stringsAsFactors should be supplied explicitly
system_file_linter()
Block usage of file.path() with system.file()
todo_comment_linter()
TODO comment linter
trailing_blank_lines_linter()
Trailing blank lines linter
trailing_whitespace_linter()
Trailing whitespace linter
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
vector_logic_linter()
Enforce usage of scalar logical operators in conditional statements
yoda_test_linter()
Block obvious "yoda tests"

Common default configurations

Utilities

Linter()
Create a linter closure
expect_lint()
Lint expectation
expect_lint_free()
Test that the package is lint free
ids_with_token() with_id()
Get parsed IDs by token
is_lint_level()
Is this an expression- or a file-level source object?
use_lintr()
Use lintr in your project
xml_nodes_to_lints()
Convert an XML node or nodeset into a Lint

Meta-tooling

available_linters() available_tags()
Get Linter metadata from a package
best_practices_linters
Best practices linters
common_mistakes_linters
Common mistake linters
configurable_linters
Configurable linters
consistency_linters
Consistency linters
correctness_linters
Correctness linters
default_linters
Default linters
deprecated_linters
Deprecated linters
efficiency_linters
Efficiency linters
executing_linters
Code executing linters
linters
Available linters
package_development_linters
Package development linters
readability_linters
Readability linters
robustness_linters
Robustness linters
style_linters
Style linters
Lint()
Create a lint object
checkstyle_output()
Checkstyle Report for lint results
sarif_output()
SARIF Report for lint results
clear_cache()
Clear the lintr cache
get_source_expressions()
Parsed sourced file from a filename
parse_exclusions()
read a source file and parse all the excluded lines from it