Skip to contents

Check that file.path() is used to construct safe and portable paths.

Usage

nonportable_path_linter(lax = TRUE)

Arguments

lax

Less stringent linting, leading to fewer false positives. If TRUE, only lint path strings, which

  • contain at least two path elements, with one having at least two characters and

  • contain only alphanumeric chars (including UTF-8), spaces, and win32-allowed punctuation

See also

Examples

# will produce lints
lint(
  text = "'abcdefg/hijklmnop/qrst/uv/wxyz'",
  linters = nonportable_path_linter()
)
#> <text>:1:2: warning: [nonportable_path_linter] Use file.path() to construct portable file paths.
#> 'abcdefg/hijklmnop/qrst/uv/wxyz'
#>  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# okay
lint(
  text = "file.path('abcdefg', 'hijklmnop', 'qrst', 'uv', 'wxyz')",
  linters = nonportable_path_linter()
)
#>  No lints found.