diff --git a/404.html b/404.html index 58157a0..8f152c6 100644 --- a/404.html +++ b/404.html @@ -42,7 +42,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/articles/how-to/box-default.html b/articles/how-to/box-default.html index 2538104..1312d20 100644 --- a/articles/how-to/box-default.html +++ b/articles/how-to/box-default.html @@ -44,7 +44,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/articles/how-to/custom-config.html b/articles/how-to/custom-config.html index 9fe71a2..73fd6de 100644 --- a/articles/how-to/custom-config.html +++ b/articles/how-to/custom-config.html @@ -44,7 +44,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/articles/how-to/rhino-default.html b/articles/how-to/rhino-default.html index 913e1ca..5ccddd2 100644 --- a/articles/how-to/rhino-default.html +++ b/articles/how-to/rhino-default.html @@ -44,7 +44,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/articles/index.html b/articles/index.html index a81da15..f7299a2 100644 --- a/articles/index.html +++ b/articles/index.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/authors.html b/authors.html index a190f81..5a1e6c6 100644 --- a/authors.html +++ b/authors.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 @@ -104,13 +104,13 @@

Citation

Basa R, Nowicki J (2024). box.linters: Linters for 'box' Modules. -R package version 0.9.0.9003, https://github.com/Appsilon/box.linters, https://appsilon.github.io/box.linters/. +R package version 0.9.0.9004, https://github.com/Appsilon/box.linters, https://appsilon.github.io/box.linters/.

@Manual{,
   title = {box.linters: Linters for 'box' Modules},
   author = {Ricardo Rodrigo Basa and Jakub Nowicki},
   year = {2024},
-  note = {R package version 0.9.0.9003, https://github.com/Appsilon/box.linters},
+  note = {R package version 0.9.0.9004, https://github.com/Appsilon/box.linters},
   url = {https://appsilon.github.io/box.linters/},
 }
diff --git a/index.html b/index.html index cf47d5b..f9633b8 100644 --- a/index.html +++ b/index.html @@ -44,7 +44,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/news/index.html b/news/index.html index 60736bf..f56cff4 100644 --- a/news/index.html +++ b/news/index.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 @@ -84,7 +84,8 @@

box.linters (development version)

-
diff --git a/pkgdown.yml b/pkgdown.yml index 65b5384..48a187b 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -5,7 +5,7 @@ articles: box-default: how-to/box-default.html custom-config: how-to/custom-config.html rhino-default: how-to/rhino-default.html -last_built: 2024-05-28T07:51Z +last_built: 2024-05-28T08:08Z urls: reference: https://appsilon.github.io/box.linters/reference article: https://appsilon.github.io/box.linters/articles diff --git a/reference/box_alphabetical_calls_linter.html b/reference/box_alphabetical_calls_linter.html index e7cb092..299a001 100644 --- a/reference/box_alphabetical_calls_linter.html +++ b/reference/box_alphabetical_calls_linter.html @@ -22,7 +22,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_default_linters.html b/reference/box_default_linters.html index 53f7f30..93b3185 100644 --- a/reference/box_default_linters.html +++ b/reference/box_default_linters.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 @@ -94,7 +94,7 @@

Usage

Format

-

An object of class list of length 32.

+

An object of class list of length 33.

@@ -102,22 +102,23 @@

Examples
linters <- lintr::linters_with_defaults(defaults = box.linters::box_default_linters)
 
 names(linters)
-#>  [1] "assignment_linter"                  "box_pkg_fun_exists_linter"         
-#>  [3] "box_unused_att_mod_obj_linter"      "box_unused_att_pkg_linter"         
-#>  [5] "box_unused_attached_mod_linter"     "box_unused_attached_pkg_fun_linter"
-#>  [7] "box_usage_linter"                   "brace_linter"                      
-#>  [9] "commas_linter"                      "commented_code_linter"             
-#> [11] "cyclocomp_linter"                   "equals_na_linter"                  
-#> [13] "function_left_parentheses_linter"   "indentation_linter"                
-#> [15] "infix_spaces_linter"                "line_length_linter"                
-#> [17] "object_length_linter"               "object_name_linter"                
-#> [19] "paren_body_linter"                  "pipe_continuation_linter"          
-#> [21] "quotes_linter"                      "r6_usage_linter"                   
-#> [23] "semicolon_linter"                   "seq_linter"                        
-#> [25] "spaces_inside_linter"               "spaces_left_parentheses_linter"    
-#> [27] "T_and_F_symbol_linter"              "trailing_blank_lines_linter"       
-#> [29] "trailing_whitespace_linter"         "unused_declared_object_linter"     
-#> [31] "vector_logic_linter"                "whitespace_linter"                 
+#>  [1] "assignment_linter"                  "box_mod_fun_exists_linter"         
+#>  [3] "box_pkg_fun_exists_linter"          "box_unused_att_mod_obj_linter"     
+#>  [5] "box_unused_att_pkg_linter"          "box_unused_attached_mod_linter"    
+#>  [7] "box_unused_attached_pkg_fun_linter" "box_usage_linter"                  
+#>  [9] "brace_linter"                       "commas_linter"                     
+#> [11] "commented_code_linter"              "cyclocomp_linter"                  
+#> [13] "equals_na_linter"                   "function_left_parentheses_linter"  
+#> [15] "indentation_linter"                 "infix_spaces_linter"               
+#> [17] "line_length_linter"                 "object_length_linter"              
+#> [19] "object_name_linter"                 "paren_body_linter"                 
+#> [21] "pipe_continuation_linter"           "quotes_linter"                     
+#> [23] "r6_usage_linter"                    "semicolon_linter"                  
+#> [25] "seq_linter"                         "spaces_inside_linter"              
+#> [27] "spaces_left_parentheses_linter"     "T_and_F_symbol_linter"             
+#> [29] "trailing_blank_lines_linter"        "trailing_whitespace_linter"        
+#> [31] "unused_declared_object_linter"      "vector_logic_linter"               
+#> [33] "whitespace_linter"                 
 
 

diff --git a/reference/box_func_import_count_linter.html b/reference/box_func_import_count_linter.html index b74085e..95e505d 100644 --- a/reference/box_func_import_count_linter.html +++ b/reference/box_func_import_count_linter.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_mod_fun_exists_linter.html b/reference/box_mod_fun_exists_linter.html index 45e6246..f907014 100644 --- a/reference/box_mod_fun_exists_linter.html +++ b/reference/box_mod_fun_exists_linter.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_module_base_path.html b/reference/box_module_base_path.html index e79a45f..4417ac6 100644 --- a/reference/box_module_base_path.html +++ b/reference/box_module_base_path.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_package_base_path.html b/reference/box_package_base_path.html index 9bc64b4..b9daf0f 100644 --- a/reference/box_package_base_path.html +++ b/reference/box_package_base_path.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_pkg_fun_exists_linter.html b/reference/box_pkg_fun_exists_linter.html index 0b4efe9..9c27a32 100644 --- a/reference/box_pkg_fun_exists_linter.html +++ b/reference/box_pkg_fun_exists_linter.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_separate_calls_linter.html b/reference/box_separate_calls_linter.html index 7d86eba..c75a90c 100644 --- a/reference/box_separate_calls_linter.html +++ b/reference/box_separate_calls_linter.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_trailing_commas_linter.html b/reference/box_trailing_commas_linter.html index e2a80c0..f195a43 100644 --- a/reference/box_trailing_commas_linter.html +++ b/reference/box_trailing_commas_linter.html @@ -24,7 +24,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_universal_import_linter.html b/reference/box_universal_import_linter.html index 1fb312f..da1c6b0 100644 --- a/reference/box_universal_import_linter.html +++ b/reference/box_universal_import_linter.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_unused_att_mod_obj_linter.html b/reference/box_unused_att_mod_obj_linter.html index 41a14a7..2e4cde6 100644 --- a/reference/box_unused_att_mod_obj_linter.html +++ b/reference/box_unused_att_mod_obj_linter.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_unused_att_pkg_fun_linter.html b/reference/box_unused_att_pkg_fun_linter.html index 335e895..61f3a03 100644 --- a/reference/box_unused_att_pkg_fun_linter.html +++ b/reference/box_unused_att_pkg_fun_linter.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_unused_attached_mod_linter.html b/reference/box_unused_attached_mod_linter.html index c32736f..867d440 100644 --- a/reference/box_unused_attached_mod_linter.html +++ b/reference/box_unused_attached_mod_linter.html @@ -22,7 +22,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_unused_attached_pkg_linter.html b/reference/box_unused_attached_pkg_linter.html index cc9c43a..e5c5b8f 100644 --- a/reference/box_unused_attached_pkg_linter.html +++ b/reference/box_unused_attached_pkg_linter.html @@ -22,7 +22,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/box_usage_linter.html b/reference/box_usage_linter.html index c2a1308..2b43e89 100644 --- a/reference/box_usage_linter.html +++ b/reference/box_usage_linter.html @@ -24,7 +24,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/check_attached_mod_funs.html b/reference/check_attached_mod_funs.html index 3945d22..33cc64f 100644 --- a/reference/check_attached_mod_funs.html +++ b/reference/check_attached_mod_funs.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/check_attached_pkg_funs.html b/reference/check_attached_pkg_funs.html index 255f33a..2a47921 100644 --- a/reference/check_attached_pkg_funs.html +++ b/reference/check_attached_pkg_funs.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/extract_xml_and_text.html b/reference/extract_xml_and_text.html index 3c327ac..2e67749 100644 --- a/reference/extract_xml_and_text.html +++ b/reference/extract_xml_and_text.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_attached_mod_functions.html b/reference/get_attached_mod_functions.html index 846840e..db886a2 100644 --- a/reference/get_attached_mod_functions.html +++ b/reference/get_attached_mod_functions.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_attached_mod_three_dots.html b/reference/get_attached_mod_three_dots.html index 88a253d..d76ceab 100644 --- a/reference/get_attached_mod_three_dots.html +++ b/reference/get_attached_mod_three_dots.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_attached_modules.html b/reference/get_attached_modules.html index 0b3eea9..0c39bd9 100644 --- a/reference/get_attached_modules.html +++ b/reference/get_attached_modules.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_attached_packages.html b/reference/get_attached_packages.html index e0d3ac0..b343f49 100644 --- a/reference/get_attached_packages.html +++ b/reference/get_attached_packages.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_attached_pkg_functions.html b/reference/get_attached_pkg_functions.html index a77e2a2..4de605d 100644 --- a/reference/get_attached_pkg_functions.html +++ b/reference/get_attached_pkg_functions.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_attached_pkg_three_dots.html b/reference/get_attached_pkg_three_dots.html index 196bf21..6d39978 100644 --- a/reference/get_attached_pkg_three_dots.html +++ b/reference/get_attached_pkg_three_dots.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_box_module_exports.html b/reference/get_box_module_exports.html index dbd5d65..512b24f 100644 --- a/reference/get_box_module_exports.html +++ b/reference/get_box_module_exports.html @@ -22,7 +22,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_declared_functions.html b/reference/get_declared_functions.html index f4e8487..9585529 100644 --- a/reference/get_declared_functions.html +++ b/reference/get_declared_functions.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_declared_objects.html b/reference/get_declared_objects.html index dcecd0a..e4d45ea 100644 --- a/reference/get_declared_objects.html +++ b/reference/get_declared_objects.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_function_calls.html b/reference/get_function_calls.html index f2baea9..e85f2e0 100644 --- a/reference/get_function_calls.html +++ b/reference/get_function_calls.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_function_signature_objs.html b/reference/get_function_signature_objs.html index af6e2ab..b4d092b 100644 --- a/reference/get_function_signature_objs.html +++ b/reference/get_function_signature_objs.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_module_exports.html b/reference/get_module_exports.html index d509ada..3119d47 100644 --- a/reference/get_module_exports.html +++ b/reference/get_module_exports.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_object_calls.html b/reference/get_object_calls.html index 1b57e26..7568922 100644 --- a/reference/get_object_calls.html +++ b/reference/get_object_calls.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_packages_exports.html b/reference/get_packages_exports.html index 17ea75e..aaccb3a 100644 --- a/reference/get_packages_exports.html +++ b/reference/get_packages_exports.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/get_r6_components.html b/reference/get_r6_components.html index f0ed6b7..e4d052a 100644 --- a/reference/get_r6_components.html +++ b/reference/get_r6_components.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/index.html b/reference/index.html index d0a1b83..e70794f 100644 --- a/reference/index.html +++ b/reference/index.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/make_r6_components_xpath.html b/reference/make_r6_components_xpath.html index d483343..4e06811 100644 --- a/reference/make_r6_components_xpath.html +++ b/reference/make_r6_components_xpath.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/make_r6_internal_calls_xpath.html b/reference/make_r6_internal_calls_xpath.html index eca62e3..a9ebffc 100644 --- a/reference/make_r6_internal_calls_xpath.html +++ b/reference/make_r6_internal_calls_xpath.html @@ -20,7 +20,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/r6_usage_linter.html b/reference/r6_usage_linter.html index 752d62e..3efeed0 100644 --- a/reference/r6_usage_linter.html +++ b/reference/r6_usage_linter.html @@ -22,7 +22,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/rhino_default_linters.html b/reference/rhino_default_linters.html index 96e5593..1fad8d7 100644 --- a/reference/rhino_default_linters.html +++ b/reference/rhino_default_linters.html @@ -22,7 +22,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 @@ -97,7 +97,7 @@

Usage

Format

-

An object of class list of length 37.

+

An object of class list of length 38.

@@ -106,24 +106,24 @@

Examples names(linters) #> [1] "assignment_linter" "box_alphabetical_calls_linter" -#> [3] "box_func_import_count_linter" "box_pkg_fun_exists_linter" -#> [5] "box_separate_calls_linter" "box_trailing_commas_linter" -#> [7] "box_universal_import_linter" "box_unused_att_mod_obj_linter" -#> [9] "box_unused_att_pkg_linter" "box_unused_attached_mod_linter" -#> [11] "box_unused_attached_pkg_fun_linter" "box_usage_linter" -#> [13] "brace_linter" "commas_linter" -#> [15] "commented_code_linter" "cyclocomp_linter" -#> [17] "equals_na_linter" "function_left_parentheses_linter" -#> [19] "indentation_linter" "infix_spaces_linter" -#> [21] "line_length_linter" "object_length_linter" -#> [23] "object_name_linter" "paren_body_linter" -#> [25] "pipe_continuation_linter" "quotes_linter" -#> [27] "r6_usage_linter" "semicolon_linter" -#> [29] "seq_linter" "spaces_inside_linter" -#> [31] "spaces_left_parentheses_linter" "T_and_F_symbol_linter" -#> [33] "trailing_blank_lines_linter" "trailing_whitespace_linter" -#> [35] "unused_declared_object_linter" "vector_logic_linter" -#> [37] "whitespace_linter" +#> [3] "box_func_import_count_linter" "box_mod_fun_exists_linter" +#> [5] "box_pkg_fun_exists_linter" "box_separate_calls_linter" +#> [7] "box_trailing_commas_linter" "box_universal_import_linter" +#> [9] "box_unused_att_mod_obj_linter" "box_unused_att_pkg_linter" +#> [11] "box_unused_attached_mod_linter" "box_unused_attached_pkg_fun_linter" +#> [13] "box_usage_linter" "brace_linter" +#> [15] "commas_linter" "commented_code_linter" +#> [17] "cyclocomp_linter" "equals_na_linter" +#> [19] "function_left_parentheses_linter" "indentation_linter" +#> [21] "infix_spaces_linter" "line_length_linter" +#> [23] "object_length_linter" "object_name_linter" +#> [25] "paren_body_linter" "pipe_continuation_linter" +#> [27] "quotes_linter" "r6_usage_linter" +#> [29] "semicolon_linter" "seq_linter" +#> [31] "spaces_inside_linter" "spaces_left_parentheses_linter" +#> [33] "T_and_F_symbol_linter" "trailing_blank_lines_linter" +#> [35] "trailing_whitespace_linter" "unused_declared_object_linter" +#> [37] "vector_logic_linter" "whitespace_linter"

diff --git a/reference/unused_declared_object_linter.html b/reference/unused_declared_object_linter.html index 16cc702..b63eca6 100644 --- a/reference/unused_declared_object_linter.html +++ b/reference/unused_declared_object_linter.html @@ -22,7 +22,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/reference/use_box_lintr.html b/reference/use_box_lintr.html index 9a86718..da9efd8 100644 --- a/reference/use_box_lintr.html +++ b/reference/use_box_lintr.html @@ -22,7 +22,7 @@ box.linters - 0.9.0.9003 + 0.9.0.9004 diff --git a/search.json b/search.json index 10a1d29..9bdcce9 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":"https://appsilon.github.io/box.linters/articles/how-to/box-default.html","id":"setup-box-linters","dir":"Articles > How-to","previous_headings":"","what":"Setup box.linters","title":"Running lintr with box.linters on a project","text":"function use_box_lintr() creates minimal .lintr config file. create .lintr file project root:","code":"box.linters::use_box_lintr() linters: linters_with_defaults( defaults = box.linters::box_default_linters ) encoding: \"UTF-8\""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/box-default.html","id":"active-box-compatible-linters","dir":"Articles > How-to","previous_headings":"","what":"Active box-compatible linters","title":"Running lintr with box.linters on a project","text":"lintr::object_usage_linter() compatible box, following linter functions provided place object_usage_linter(). Examples considered lint included function reference pages. box_pkg_fun_exists_linter() box_unused_att_mod_obj_linter() box_unused_att_pkg_fun_linter() box_unused_attached_mod_linter() box_unused_attached_pkg_linter() box_usage_linter() r6_usage_linter() unused_declared_object_linter()","code":""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/box-default.html","id":"run-lintr","dir":"Articles > How-to","previous_headings":"","what":"Run lintr","title":"Running lintr with box.linters on a project","text":"Use lintr functions lint file directory.","code":"# Lint a file lintr::lint(\"some_file.R\") # Lint a directory lintr::lint_dir(\"some_dir\")"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/box-default.html","id":"example","dir":"Articles > How-to","previous_headings":"","what":"Example","title":"Running lintr with box.linters on a project","text":"Lint results","code":"box::use( stringr[function_not_exists], dplyr[`%>%`, filter, select, mutate], shiny ) unused_function <- function() { 1 } unused_object <- mtcars %>% select(mpg, cyl) %>% filter(mpg >= 10) %>% undefined_function() :2:11: warning: [box_pkg_fun_exists_linter] Function not exported by package. stringr[function_not_exists], ^~~~~~~~~~~~~~~~~~~ :2:11: warning: [box_unused_attached_pkg_fun_linter] Imported function unused. stringr[function_not_exists], ^~~~~~~~~~~~~~~~~~~ :3:32: warning: [box_unused_attached_pkg_fun_linter] Imported function unused. dplyr[`%>%`, filter, select, mutate], ^~~~~~ :4:3: warning: [box_unused_att_pkg_linter] Attached package unused. shiny ^~~~~ :7:1: warning: [unused_declared_object_linter] Declared function/object unused. unused_function <- function() { ^~~~~~~~~~~~~~~ :11:1: warning: [unused_declared_object_linter] Declared function/object unused. unused_object <- mtcars %>% ^~~~~~~~~~~~~ :14:3: warning: [box_usage_linter] Function not imported nor defined. undefined_function() ^~~~~~~~~~~~~~~~~~"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/custom-config.html","id":"activating-linters","dir":"Articles > How-to","previous_headings":"","what":"Activating linters","title":"Custom Configuration","text":"Unlike rhino_default_linters, box_default_linters comes subset linters provided box.linters. Inactive linters can added needed. following activates box_func_import_count_linter() box_default_linters","code":"linters: linters_with_defaults( defaults = box.linters::box_default_linters, box_func_import_count_linter = box.linters::box_func_import_count_linter() ) encoding: \"UTF-8\""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/custom-config.html","id":"disabling-linters","dir":"Articles > How-to","previous_headings":"","what":"Disabling linters","title":"Custom Configuration","text":"Specific linters can disabled setting appropriate linter name NULL: following disables box_func_import_count_linter():","code":"linters: linters_with_defaults( defaults = box.linters::rhino_default_linters, box_func_import_count_linter = NULL ) linters: linters_with_defaults( defaults = box.linters::box_default_linters, box_pkg_fun_exists_linter = NULL )"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/custom-config.html","id":"customizable-linters","dir":"Articles > How-to","previous_headings":"","what":"Customizable linters","title":"Custom Configuration","text":"linters provided can configured box_func_import_count_linter(). following changes maximum quantity attached functions 8 12: default linters provided lintr can also configured:","code":"linters: linters_with_defaults( defaults = box.linters::rhino_default_linters, box_func_import_count_linter = box.linters::box_func_import_count_linter(max = 12) ) linters: linters_with_defaults( defaults = box.linters::box_default_linters, line_length_linter = lintr::line_length_linter(100) )"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/custom-config.html","id":"more-information","dir":"Articles > How-to","previous_headings":"","what":"More information","title":"Custom Configuration","text":"detailed information customizing linters, please proceed lintr documentation Configuring linters","code":""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/rhino-default.html","id":"rhino-1-8-0","dir":"Articles > How-to","previous_headings":"","what":"Rhino (>= 1.8.0)","title":"Running lintr with box.linters on a rhino project","text":"Rhino 1.8.0 may yet available time release. Projects created rhino version 1.8.0 later come preconfigured .lintr file.","code":"linters: linters_with_defaults( defaults = box.linters::rhino_default_linters, line_length_linter = lintr::line_length_linter(100) )"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/rhino-default.html","id":"using-box-linters-with-an-existing-rhino-1-8-0-project","dir":"Articles > How-to","previous_headings":"","what":"Using box.linters with an existing Rhino (< 1.8.0) project","title":"Running lintr with box.linters on a rhino project","text":"Refer Rhino 1.8 Migration Guide upgrade latest version. following code used setup .lintr config file.","code":"box.linters::use_box_lintr(type = \"rhino\")"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/rhino-default.html","id":"active-box-compatible-linters-for-rhino","dir":"Articles > How-to","previous_headings":"","what":"Active box-compatible linters for rhino","title":"Running lintr with box.linters on a rhino project","text":"linter functions included box.linters package activated Rhino projects. Please refer Rhino style guide information.","code":""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/rhino-default.html","id":"linting-a-rhino-project","dir":"Articles > How-to","previous_headings":"","what":"Linting a Rhino project","title":"Running lintr with box.linters on a rhino project","text":"Use helper function included rhino package lint Rhino project.","code":"rhino::lint_r()"},{"path":"https://appsilon.github.io/box.linters/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Ricardo Rodrigo Basa. Author, maintainer. Jakub Nowicki. Author. Appsilon Sp. z o.o.. Copyright holder.","code":""},{"path":"https://appsilon.github.io/box.linters/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Basa R, Nowicki J (2024). box.linters: Linters 'box' Modules. R package version 0.9.0.9003, https://github.com/Appsilon/box.linters, https://appsilon.github.io/box.linters/.","code":"@Manual{, title = {box.linters: Linters for 'box' Modules}, author = {Ricardo Rodrigo Basa and Jakub Nowicki}, year = {2024}, note = {R package version 0.9.0.9003, https://github.com/Appsilon/box.linters}, url = {https://appsilon.github.io/box.linters/}, }"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"boxlinters-","dir":"","previous_headings":"","what":"Linters for box Modules","title":"Linters for box Modules","text":"lintr-compatible linters box modules R box.linters R package provides {lintr} package compatibility {box} package modules. addition providing code-styling checks box::use() function calls, box.linters includes collection linter functions replace lintr::object_usage_linter(). primary purpose box.linters use {rhino} package, functions features available use R code project uses box package modular R code.","code":""},{"path":"https://appsilon.github.io/box.linters/index.html","id":"motivation","dir":"","previous_headings":"","what":"Motivation","title":"Linters for box Modules","text":"lintr::object_usage_linter compatible box modules. order use lintr box together, necessary disable lintr::object_usage_linter(): However, meant lose functionality provided lintr::object_usage_linter().","code":"# use of box modules box::use( stringr[...] ) some_function <- function() { str_trim(\" String with trailing and leading white space\\t\") } > lintr::lint(box-module.R) :6:3: warning: [object_usage_linter] no visible global function definition for 'str_trim' str_trim(\" String with trailing and leading white space \") ^~~~~~~~ lintr::lint(box-module.R, linters = lintr::linters_with_defaults(object_usage_linter = NULL))"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Linters for box Modules","text":"Stable version: Development version:","code":"install.packages(\"box.linters\") # install.packages(\"remotes\") remotes::install_github(\"Appsilon/box.linters\")"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Linters for box Modules","text":"Create configuration file run selected linters:","code":""},{"path":"https://appsilon.github.io/box.linters/index.html","id":"lintr-setup","dir":"","previous_headings":"Usage","what":".lintr setup","title":"Linters for box Modules","text":"","code":"# create a .lintr file box.linters::use_box_lintr() # a file: lintr::lint(filename.R) # in a project: lintr::lint_dir()"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"manually","dir":"","previous_headings":"Usage","what":"Manually","title":"Linters for box Modules","text":", use box.linters manually lintr:","code":"# a file: lintr::lint(filename.R, linters = box.linters::box_default_linters) # in a project: lintr::lint_dir(linters = box.linters::box_default_linters)"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"rhino","dir":"","previous_headings":"Usage","what":"Rhino","title":"Linters for box Modules","text":", use box.linters within rhino project:","code":"# a .lintr file should already exist when a rhino project is created # box.linters::use_box_lintr(type = \"rhino\") # in a rhino project: rhino::lint_r()"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"contribute","dir":"","previous_headings":"","what":"Contribute","title":"Linters for box Modules","text":"want contribute project, please submit regular PR, ’re done new feature bug fix. Reporting bug also helpful - please use Github issues describe problem detailed possible.","code":""},{"path":"https://appsilon.github.io/box.linters/index.html","id":"appsilon","dir":"","previous_headings":"","what":"Appsilon","title":"Linters for box Modules","text":"Appsilon Posit (formerly RStudio) Full Service Certified Partner. Learn appsilon.com. Get touch opensource@appsilon.com Explore Rhinoverse - family R packages built around Rhino!","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"Checks module function imports sorted alphabetically. Aliases ignored. sort check package/module names attached function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"","code":"box_alphabetical_calls_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(packageB, packageA)\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=10::file=,line=1,col=10,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=20::file=,line=1,col=20,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. lintr::lint( text = \"box::use(package[functionB, functionA])\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=18::file=,line=1,col=18,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=29::file=,line=1,col=29,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. lintr::lint( text = \"box::use(path/to/B, path/to/A)\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=10::file=,line=1,col=10,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=21::file=,line=1,col=21,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. lintr::lint( text = \"box::use(path/to/A[functionB, functionA])\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=20::file=,line=1,col=20,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=31::file=,line=1,col=31,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. lintr::lint( text = \"box::use(path/to/A[alias = functionB, functionA])\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=28::file=,line=1,col=28,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=39::file=,line=1,col=39,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. # okay lintr::lint( text = \"box::use(packageA, packageB)\", linters = box_alphabetical_calls_linter() ) lintr::lint( text = \"box::use(package[functionA, functionB])\", linters = box_alphabetical_calls_linter() ) lintr::lint( text = \"box::use(path/to/A, path/to/B)\", linters = box_alphabetical_calls_linter() ) lintr::lint( text = \"box::use(path/to/A[functionA, functionB])\", linters = box_alphabetical_calls_linter() ) lintr::lint( text = \"box::use(path/to/A[functionA, alias = functionB])\", linters = box_alphabetical_calls_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_default_linters.html","id":null,"dir":"Reference","previous_headings":"","what":"Box-compatible default linters — box_default_linters","title":"Box-compatible default linters — box_default_linters","text":"replacement lintr::object_usage_linter() works box modules.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_default_linters.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Box-compatible default linters — box_default_linters","text":"","code":"box_default_linters"},{"path":"https://appsilon.github.io/box.linters/reference/box_default_linters.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Box-compatible default linters — box_default_linters","text":"object class list length 32.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_default_linters.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Box-compatible default linters — box_default_linters","text":"","code":"linters <- lintr::linters_with_defaults(defaults = box.linters::box_default_linters) names(linters) #> [1] \"assignment_linter\" \"box_pkg_fun_exists_linter\" #> [3] \"box_unused_att_mod_obj_linter\" \"box_unused_att_pkg_linter\" #> [5] \"box_unused_attached_mod_linter\" \"box_unused_attached_pkg_fun_linter\" #> [7] \"box_usage_linter\" \"brace_linter\" #> [9] \"commas_linter\" \"commented_code_linter\" #> [11] \"cyclocomp_linter\" \"equals_na_linter\" #> [13] \"function_left_parentheses_linter\" \"indentation_linter\" #> [15] \"infix_spaces_linter\" \"line_length_linter\" #> [17] \"object_length_linter\" \"object_name_linter\" #> [19] \"paren_body_linter\" \"pipe_continuation_linter\" #> [21] \"quotes_linter\" \"r6_usage_linter\" #> [23] \"semicolon_linter\" \"seq_linter\" #> [25] \"spaces_inside_linter\" \"spaces_left_parentheses_linter\" #> [27] \"T_and_F_symbol_linter\" \"trailing_blank_lines_linter\" #> [29] \"trailing_whitespace_linter\" \"unused_declared_object_linter\" #> [31] \"vector_logic_linter\" \"whitespace_linter\""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library function import count linter — box_func_import_count_linter","title":"box library function import count linter — box_func_import_count_linter","text":"Checks function imports exceed defined max.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library function import count linter — box_func_import_count_linter","text":"","code":"box_func_import_count_linter(max = 8L)"},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"box library function import count linter — box_func_import_count_linter","text":"max Maximum function imports allowed [ ]. Defaults 8.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library function import count linter — box_func_import_count_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library function import count linter — box_func_import_count_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library function import count linter — box_func_import_count_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(package[one, two, three, four, five, six, seven, eight, nine])\", linters = box_func_import_count_linter() ) #> ::warning file=,line=1,col=10::file=,line=1,col=10,[box_func_import_count_linter] Limit the function imports to a max of 8. lintr::lint( text = \"box::use(package[one, two, three, four])\", linters = box_func_import_count_linter(3) ) #> ::warning file=,line=1,col=10::file=,line=1,col=10,[box_func_import_count_linter] Limit the function imports to a max of 3. # okay lintr::lint( text = \"box::use(package[one, two, three, four, five])\", linters = box_func_import_count_linter() ) lintr::lint( text = \"box::use(package[one, two, three])\", linters = box_func_import_count_linter(3) )"},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"Checks functions attached exist exported local module called.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"","code":"box_mod_fun_exists_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"","code":"if (FALSE) { # will produce lint lintr::lint( text = \"box::use(path/to/module_a[function_not_exists],)\", linter = box_mod_fun_exists_linter() ) # okay lintr::lint( text = \"box::use(path/to/module_a[function_exists],)\", linter = box_mod_fun_exists_linter() ) }"},{"path":"https://appsilon.github.io/box.linters/reference/box_module_base_path.html","id":null,"dir":"Reference","previous_headings":"","what":"Find box::use calls for local modules — box_module_base_path","title":"Find box::use calls for local modules — box_module_base_path","text":"Find box::use calls local modules","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_module_base_path.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find box::use calls for local modules — box_module_base_path","text":"","code":"box_module_base_path()"},{"path":"https://appsilon.github.io/box.linters/reference/box_module_base_path.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find box::use calls for local modules — box_module_base_path","text":"XPath","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_module_base_path.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find box::use calls for local modules — box_module_base_path","text":"Base XPath find box::use declarations match following pattern: box::use( path//module, )","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/box_package_base_path.html","id":null,"dir":"Reference","previous_headings":"","what":"Find box::use calls for R libraries/packages — box_package_base_path","title":"Find box::use calls for R libraries/packages — box_package_base_path","text":"Find box::use calls R libraries/packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_package_base_path.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find box::use calls for R libraries/packages — box_package_base_path","text":"","code":"box_package_base_path()"},{"path":"https://appsilon.github.io/box.linters/reference/box_package_base_path.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find box::use calls for R libraries/packages — box_package_base_path","text":"XPath","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_package_base_path.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find box::use calls for R libraries/packages — box_package_base_path","text":"Base XPath find box::use declarations match following pattern: box::use( package, )","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"Checks functions attached exist exported package/library called.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"","code":"box_pkg_fun_exists_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"","code":"# will produce lint lintr::lint( text = \"box::use(stringr[function_not_exists],)\", linter = box_pkg_fun_exists_linter() ) #> ::warning file=,line=1,col=18::file=,line=1,col=18,[box_pkg_fun_exists_linter] Function not exported by package. # okay lintr::lint( text = \"box::use(stringr[str_pad],)\", linter = box_pkg_fun_exists_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library separate packages and module imports linter — box_separate_calls_linter","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"Checks packages modules imported separate box::use() statements.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"","code":"box_separate_calls_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(package, path/to/file)\", linters = box_separate_calls_linter() ) #> ::warning file=,line=1,col=1::file=,line=1,col=1,[box_separate_calls_linter] Separate packages and modules in their respective box::use() calls. lintr::lint( text = \"box::use(path/to/file, package)\", linters = box_separate_calls_linter() ) #> ::warning file=,line=1,col=1::file=,line=1,col=1,[box_separate_calls_linter] Separate packages and modules in their respective box::use() calls. # okay lintr::lint( text = \"box::use(package1, package2) box::use(path/to/file1, path/to/file2)\", linters = box_separate_calls_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library trailing commas linter — box_trailing_commas_linter","title":"box library trailing commas linter — box_trailing_commas_linter","text":"Checks box:use imports trailing comma. applies package module imports ( ), , optionally, function imports [ ]. Take note lintr::commas_linter() may come play.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library trailing commas linter — box_trailing_commas_linter","text":"","code":"box_trailing_commas_linter(check_functions = FALSE)"},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"box library trailing commas linter — box_trailing_commas_linter","text":"check_functions Boolean flag include function imports [ ]. Defaults FALSE.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library trailing commas linter — box_trailing_commas_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library trailing commas linter — box_trailing_commas_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library trailing commas linter — box_trailing_commas_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(base, rlang)\", linters = box_trailing_commas_linter() ) #> ::warning file=,line=1,col=21::file=,line=1,col=21,[box_trailing_commas_linter] Always have a trailing comma at the end of imports, before a `)`. lintr::lint( text = \"box::use( dplyr[select, mutate] )\", linters = box_trailing_commas_linter() ) #> ::warning file=,line=3,col=3::file=,line=3,col=3,[box_trailing_commas_linter] Always have a trailing comma at the end of imports, before a `)`. # okay lintr::lint( text = \"box::use(base, rlang, )\", linters = box_trailing_commas_linter() ) lintr::lint( text = \"box::use( dplyr[select, mutate], )\", linters = box_trailing_commas_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library universal import linter — box_universal_import_linter","title":"box library universal import linter — box_universal_import_linter","text":"Checks function imports explicit. package[...] used.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library universal import linter — box_universal_import_linter","text":"","code":"box_universal_import_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library universal import linter — box_universal_import_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library universal import linter — box_universal_import_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library universal import linter — box_universal_import_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(base[...])\", linters = box_universal_import_linter() ) #> ::warning file=,line=1,col=15::file=,line=1,col=15,[box_universal_import_linter] Explicitly declare imports rather than universally import with `...`. lintr::lint( text = \"box::use(path/to/file[...])\", linters = box_universal_import_linter() ) #> ::warning file=,line=1,col=23::file=,line=1,col=23,[box_universal_import_linter] Explicitly declare imports rather than universally import with `...`. # okay lintr::lint( text = \"box::use(base[print])\", linters = box_universal_import_linter() ) lintr::lint( text = \"box::use(path/to/file[do_something])\", linters = box_universal_import_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library unused attached module object linter — box_unused_att_mod_obj_linter","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"Checks attached module functions data objects used within source file.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"","code":"box_unused_att_mod_obj_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"","code":"if (FALSE) { # will produce lints code <- \" box::use( path/to/module[some_function, some_object], ) \" lintr::lint(text = code, linters = box_unused_att_mod_obj_linter()) code <- \" box::use( path/to/module[alias_func = some_function, alias_obj = some_object], ) \" lintr::lint(text = code, linters = box_unused_att_mod_obj_linter()) # okay code <- \" box::use( path/to/module[some_function, some_object], ) x <- sum(some_object) some_function() \" lintr::lint(text = code, linters = box_unused_att_mod_obj_linter()) code <- \" box::use( path/to/module[alias_func = some_function, alias_obj = some_object], ) x <- sum(alias_obj) alias_func() \" lintr::lint(text = code, linters = box_unused_att_mod_obj_linter()) }"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"Checks attached package functions used within source file.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"","code":"box_unused_att_pkg_fun_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"","code":"# will produce lints code <- \" box::use( stringr[str_pad], ) \" lintr::lint(text = code, linters = box_unused_att_pkg_fun_linter()) #> ::warning file=,line=3,col=11::file=,line=3,col=11,[box_unused_att_pkg_fun_linter] Imported function unused. code <- \" box::use( stringr[alias_func = str_pad], ) \" lintr::lint(text = code, linters = box_unused_att_pkg_fun_linter()) #> ::warning file=,line=3,col=24::file=,line=3,col=24,[box_unused_att_pkg_fun_linter] Imported function unused. # okay code <- \" box::use( stringr[str_pad], ) str_pad() \" lintr::lint(text = code, linters = box_unused_att_pkg_fun_linter()) code <- \" box::use( stringr[alias_func = str_pad], ) alias_func() \" lintr::lint(text = code, linters = box_unused_att_pkg_fun_linter())"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library unused attached module linter — box_unused_attached_mod_linter","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"Checks attached modules used within source file. also covers modules attached using ....","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"","code":"box_unused_attached_mod_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"","code":"if (FALSE) { # will produce lints code <- \" box::use( path/to/module ) \" lintr::lint(code, linters = box_unused_attached_mod_linter()) code <- \" box::use( alias = path/to/module ) \" lintr::lint(code, linters = box_unused_attached_mod_linter()) code <- \" box::use( path/to/module[...] ) \" lintr::lint(code, linters = box_unused_attached_mod_linter()) # okay code <- \" box::use( path/to/module ) module$some_function() \" lintr::lint(code, linters = box_unused_attached_mod_linter()) code <- \" box::use( alias = path/to/module ) alias$some_function() \" lintr::lint(code, linters = box_unused_attached_mod_linter()) code <- \" box::use( path/to/module[...] # module exports some_function() ) some_function() \" lintr::lint(code, linters = box_unused_attached_mod_linter()) }"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library unused attached package linter — box_unused_attached_pkg_linter","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"Checks attached packages used within source file. also covers packages attached using ....","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"","code":"box_unused_attached_pkg_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"","code":"# will produce lints code <- \" box::use( stringr ) \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) #> ::warning file=,line=3,col=3::file=,line=3,col=3,[box_unused_attached_pkg_linter] Attached package unused. code <- \" box::use( alias = stringr ) \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) #> ::warning file=,line=3,col=11::file=,line=3,col=11,[box_unused_attached_pkg_linter] Attached package unused. code <- \" box::use( stringr[...] ) \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) #> ::warning file=,line=3,col=3::file=,line=3,col=3,[box_unused_attached_pkg_linter] Three-dots attached package unused. # okay code <- \" box::use( stringr ) stringr$str_pad() \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) code <- \" box::use( alias = stringr ) alias$str_pad() \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) code <- \" box::use( stringr[...] ) str_pad() \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter())"},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library-aware object usage linter — box_usage_linter","title":"box library-aware object usage linter — box_usage_linter","text":"Checks function data object calls made within source file valid. three ways functions data object calls come \"valid\". First via base R packages. Second via local declaration/definition. third via box::use() attachment.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library-aware object usage linter — box_usage_linter","text":"","code":"box_usage_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library-aware object usage linter — box_usage_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library-aware object usage linter — box_usage_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library-aware object usage linter — box_usage_linter","text":"","code":"if (FALSE) { box::use( dplyr[`%>%`, filter, pull], stringr, ) mpg <- mtcars %>% filter(mpg <= 10) %>% pull(mpg) mpg <- mtcars %>% filter(mpg <= 10) %>% select(mpg) # will lint trimmed_string <- stringr$str_trim(\" some string \") trimmed_string <- stringr$strtrim(\" some string \") # will lint existing_function <- function(x, y, z) { mean(c(x, y, z)) } existing_function(1, 2, 3) non_existing_function(1, 2, 3) # will lint average(1, 2, 3) # will lint }"},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_mod_funs.html","id":null,"dir":"Reference","previous_headings":"","what":"Check if functions being attached exist and are being exported by the local module — check_attached_mod_funs","title":"Check if functions being attached exist and are being exported by the local module — check_attached_mod_funs","text":"Check functions attached exist exported local module","code":""},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_mod_funs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check if functions being attached exist and are being exported by the local module — check_attached_mod_funs","text":"","code":"check_attached_mod_funs(xml, xpath)"},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_mod_funs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check if functions being attached exist and are being exported by the local module — check_attached_mod_funs","text":"XML node list","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_pkg_funs.html","id":null,"dir":"Reference","previous_headings":"","what":"Check if functions being attached exist and are being exported by the library/package — check_attached_pkg_funs","title":"Check if functions being attached exist and are being exported by the library/package — check_attached_pkg_funs","text":"Check functions attached exist exported library/package","code":""},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_pkg_funs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check if functions being attached exist and are being exported by the library/package — check_attached_pkg_funs","text":"","code":"check_attached_pkg_funs(xml, xpath)"},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_pkg_funs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check if functions being attached exist and are being exported by the library/package — check_attached_pkg_funs","text":"XML node list","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/extract_xml_and_text.html","id":null,"dir":"Reference","previous_headings":"","what":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","title":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","text":"Extracts XML nodes text strings matched XML search","code":""},{"path":"https://appsilon.github.io/box.linters/reference/extract_xml_and_text.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","text":"","code":"extract_xml_and_text(xml, xpath)"},{"path":"https://appsilon.github.io/box.linters/reference/extract_xml_and_text.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","text":"xml XML node list. xpath XPath search xml nodes.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/extract_xml_and_text.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Get imported functions from modules — get_attached_mod_functions","title":"Get imported functions from modules — get_attached_mod_functions","text":"Get imported functions modules","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get imported functions from modules — get_attached_mod_functions","text":"","code":"get_attached_mod_functions(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get imported functions from modules — get_attached_mod_functions","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get imported functions from modules — get_attached_mod_functions","text":"xml list xml nodes, text list function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_three_dots.html","id":null,"dir":"Reference","previous_headings":"","what":"Get all functions exported from modules by ... — get_attached_mod_three_dots","title":"Get all functions exported from modules by ... — get_attached_mod_three_dots","text":"Get functions exported modules ...","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_three_dots.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get all functions exported from modules by ... — get_attached_mod_three_dots","text":"","code":"get_attached_mod_three_dots(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_three_dots.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get all functions exported from modules by ... — get_attached_mod_three_dots","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_three_dots.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get all functions exported from modules by ... — get_attached_mod_three_dots","text":"xml list xml_nodes, nested list module: function, text list function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_modules.html","id":null,"dir":"Reference","previous_headings":"","what":"Get all modules imported whole — get_attached_modules","title":"Get all modules imported whole — get_attached_modules","text":"Get modules imported whole","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_modules.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get all modules imported whole — get_attached_modules","text":"","code":"get_attached_modules(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_modules.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get all modules imported whole — get_attached_modules","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_modules.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get all modules imported whole — get_attached_modules","text":"xml list xml_nodes, nested list module: functions, aliases named list module = alias, text list module$function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_packages.html","id":null,"dir":"Reference","previous_headings":"","what":"Get all packages imported whole — get_attached_packages","title":"Get all packages imported whole — get_attached_packages","text":"Get packages imported whole","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_packages.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get all packages imported whole — get_attached_packages","text":"","code":"get_attached_packages(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_packages.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get all packages imported whole — get_attached_packages","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_packages.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get all packages imported whole — get_attached_packages","text":"xml list xml_nodes, nested list package: functions, aliases named list package = alias, text list package$function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Get imported functions from packages — get_attached_pkg_functions","title":"Get imported functions from packages — get_attached_pkg_functions","text":"Get imported functions packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get imported functions from packages — get_attached_pkg_functions","text":"","code":"get_attached_pkg_functions(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get imported functions from packages — get_attached_pkg_functions","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get imported functions from packages — get_attached_pkg_functions","text":"xml list xml nodes, text list function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_three_dots.html","id":null,"dir":"Reference","previous_headings":"","what":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","title":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","text":"Get functions exported packages ...","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_three_dots.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","text":"","code":"get_attached_pkg_three_dots(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_three_dots.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_three_dots.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","text":"xml list xml_nodes, nested list package: function, text list function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_box_module_exports.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","title":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","text":"implementation box modules provide similar functionality getNamespaceExports() libraries/packages.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_box_module_exports.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","text":"","code":"get_box_module_exports(declaration, alias = \"\", caller = globalenv())"},{"path":"https://appsilon.github.io/box.linters/reference/get_box_module_exports.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","text":"declaration mod package call expression. See box:::parse_spec() source code details. alias Mod package-level alias character string. See box:::parse_spec() source code details. Default fine box.linters use. caller environment box::use invoked. Default fine box.linters use.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_box_module_exports.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","text":"list exported functions data objects.","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Get locally declared/defined functions — get_declared_functions","title":"Get locally declared/defined functions — get_declared_functions","text":"Get locally declared/defined functions","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get locally declared/defined functions — get_declared_functions","text":"","code":"get_declared_functions(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get locally declared/defined functions — get_declared_functions","text":"xml XML node list.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get locally declared/defined functions — get_declared_functions","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_objects.html","id":null,"dir":"Reference","previous_headings":"","what":"Get locally declared/defined data objects — get_declared_objects","title":"Get locally declared/defined data objects — get_declared_objects","text":"Get locally declared/defined data objects","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_objects.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get locally declared/defined data objects — get_declared_objects","text":"","code":"get_declared_objects(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_objects.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get locally declared/defined data objects — get_declared_objects","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_objects.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get locally declared/defined data objects — get_declared_objects","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_calls.html","id":null,"dir":"Reference","previous_headings":"","what":"Get functions called in current source file — get_function_calls","title":"Get functions called in current source file — get_function_calls","text":"Get functions called current source file","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_calls.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get functions called in current source file — get_function_calls","text":"","code":"get_function_calls(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_function_calls.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get functions called in current source file — get_function_calls","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_calls.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get functions called in current source file — get_function_calls","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_signature_objs.html","id":null,"dir":"Reference","previous_headings":"","what":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","title":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","text":"brute-force extraction SYMBOL_FORMALS scope-aware.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_signature_objs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","text":"","code":"get_function_signature_objs(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_function_signature_objs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_signature_objs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_module_exports.html","id":null,"dir":"Reference","previous_headings":"","what":"Get functions exported by modules — get_module_exports","title":"Get functions exported by modules — get_module_exports","text":"Get functions exported modules","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_module_exports.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get functions exported by modules — get_module_exports","text":"","code":"get_module_exports(mod_list)"},{"path":"https://appsilon.github.io/box.linters/reference/get_module_exports.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get functions exported by modules — get_module_exports","text":"mod_list vector packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_module_exports.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get functions exported by modules — get_module_exports","text":"list (package_name = list(of_functions))","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_object_calls.html","id":null,"dir":"Reference","previous_headings":"","what":"Get objects called in current source file — get_object_calls","title":"Get objects called in current source file — get_object_calls","text":"Get objects called current source file","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_object_calls.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get objects called in current source file — get_object_calls","text":"","code":"get_object_calls(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_object_calls.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get objects called in current source file — get_object_calls","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_object_calls.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get objects called in current source file — get_object_calls","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_packages_exports.html","id":null,"dir":"Reference","previous_headings":"","what":"Get functions exported by packages — get_packages_exports","title":"Get functions exported by packages — get_packages_exports","text":"Get functions exported packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_packages_exports.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get functions exported by packages — get_packages_exports","text":"","code":"get_packages_exports(pkg_list)"},{"path":"https://appsilon.github.io/box.linters/reference/get_packages_exports.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get functions exported by packages — get_packages_exports","text":"pkg_list vector packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_packages_exports.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get functions exported by packages — get_packages_exports","text":"list (package_name = list(of_functions))","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_r6_components.html","id":null,"dir":"Reference","previous_headings":"","what":"Get declared/defined R6 class components — get_r6_components","title":"Get declared/defined R6 class components — get_r6_components","text":"Get declared/defined R6 class components","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_r6_components.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get declared/defined R6 class components — get_r6_components","text":"","code":"get_r6_components(xml, mode = c(\"public\", \"active\", \"private\"))"},{"path":"https://appsilon.github.io/box.linters/reference/get_r6_components.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get declared/defined R6 class components — get_r6_components","text":"xml XML representation R source code. mode Type internal component (public, active, private).","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_r6_components.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get declared/defined R6 class components — get_r6_components","text":"List XML nodes corresponding text string values nodes","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_components_xpath.html","id":null,"dir":"Reference","previous_headings":"","what":"XPath to get internal components of an R6 class — make_r6_components_xpath","title":"XPath to get internal components of an R6 class — make_r6_components_xpath","text":"XPath get internal components R6 class","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_components_xpath.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"XPath to get internal components of an R6 class — make_r6_components_xpath","text":"","code":"make_r6_components_xpath(mode = c(\"public\", \"active\", \"private\"))"},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_components_xpath.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"XPath to get internal components of an R6 class — make_r6_components_xpath","text":"mode Type internal component (public, active, private).","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_components_xpath.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"XPath to get internal components of an R6 class — make_r6_components_xpath","text":"XPath query","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_internal_calls_xpath.html","id":null,"dir":"Reference","previous_headings":"","what":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","title":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","text":"XPath get internal function data object calls inside R6 class","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_internal_calls_xpath.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","text":"","code":"make_r6_internal_calls_xpath(mode = c(\"self\", \"private\"))"},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_internal_calls_xpath.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","text":"mode Type internal call (self private).","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_internal_calls_xpath.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","text":"XPath query","code":""},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"R6 class usage linter — r6_usage_linter","title":"R6 class usage linter — r6_usage_linter","text":"Checks method attribute calls within R6 class. Covers public, private, active objects. internal calls exist. private methods attributes used.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"R6 class usage linter — r6_usage_linter","text":"","code":"r6_usage_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"R6 class usage linter — r6_usage_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"R6 class usage linter — r6_usage_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"R6 class usage linter — r6_usage_linter","text":"","code":"# will produce lints code = \" box::use( R6[R6Class], ) badClass <- R6Class('badClass', public = list( initialize = function() { private$not_exists() } ), private = list( unused_attribute = 'private data', unused_method = function() { self$attribute_not_exists self$function_not_exists() } ) ) \" lintr::lint( text = code, linters = r6_usage_linter() ) #> ::warning file=,line=9,col=7::file=,line=9,col=7,[r6_usage_linter] Internal object call not found. #> ::warning file=,line=13,col=5::file=,line=13,col=5,[r6_usage_linter] Private object not used. #> ::warning file=,line=14,col=5::file=,line=14,col=5,[r6_usage_linter] Private object not used. #> ::warning file=,line=15,col=7::file=,line=15,col=7,[r6_usage_linter] Internal object call not found. #> ::warning file=,line=16,col=7::file=,line=16,col=7,[r6_usage_linter] Internal object call not found. # okay code = \" box::use( R6[R6Class], ) goodClass <- R6Class('goodClass', public = list( public_attr = NULL, initialize = function() { private$private_func() }, some_function = function () { private$private_attr } ), private = list( private_attr = 'private data', private_func = function() { self$public_attr } ) ) \" lintr::lint( text = code, linters = r6_usage_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/rhino_default_linters.html","id":null,"dir":"Reference","previous_headings":"","what":"Rhino default linters — rhino_default_linters","title":"Rhino default linters — rhino_default_linters","text":"See Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/rhino_default_linters.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Rhino default linters — rhino_default_linters","text":"","code":"rhino_default_linters"},{"path":"https://appsilon.github.io/box.linters/reference/rhino_default_linters.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Rhino default linters — rhino_default_linters","text":"object class list length 37.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/rhino_default_linters.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Rhino default linters — rhino_default_linters","text":"","code":"linters <- lintr::linters_with_defaults(defaults = box.linters::rhino_default_linters) names(linters) #> [1] \"assignment_linter\" \"box_alphabetical_calls_linter\" #> [3] \"box_func_import_count_linter\" \"box_pkg_fun_exists_linter\" #> [5] \"box_separate_calls_linter\" \"box_trailing_commas_linter\" #> [7] \"box_universal_import_linter\" \"box_unused_att_mod_obj_linter\" #> [9] \"box_unused_att_pkg_linter\" \"box_unused_attached_mod_linter\" #> [11] \"box_unused_attached_pkg_fun_linter\" \"box_usage_linter\" #> [13] \"brace_linter\" \"commas_linter\" #> [15] \"commented_code_linter\" \"cyclocomp_linter\" #> [17] \"equals_na_linter\" \"function_left_parentheses_linter\" #> [19] \"indentation_linter\" \"infix_spaces_linter\" #> [21] \"line_length_linter\" \"object_length_linter\" #> [23] \"object_name_linter\" \"paren_body_linter\" #> [25] \"pipe_continuation_linter\" \"quotes_linter\" #> [27] \"r6_usage_linter\" \"semicolon_linter\" #> [29] \"seq_linter\" \"spaces_inside_linter\" #> [31] \"spaces_left_parentheses_linter\" \"T_and_F_symbol_linter\" #> [33] \"trailing_blank_lines_linter\" \"trailing_whitespace_linter\" #> [35] \"unused_declared_object_linter\" \"vector_logic_linter\" #> [37] \"whitespace_linter\""},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"Unused declared function and data objects linter — unused_declared_object_linter","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"Checks defined/declared functions data objects used within source file. Functions data objects marked @export ignored.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"","code":"unused_declared_object_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"","code":"# will produce lint code <- \" #' @export public_function <- function() { } private_function <- function() { } local_data <- \\\"A\\\" \" lintr::lint(text = code, linters = unused_declared_object_linter()) #> ::warning file=,line=7,col=1::file=,line=7,col=1,[unused_declared_object_linter] Declared function/object unused. #> ::warning file=,line=11,col=1::file=,line=11,col=1,[unused_declared_object_linter] Declared function/object unused. # okay code <- \" #' @export public_function <- function() { some_variable <- local_data private_function() } private_function <- function() { } local_data <- \\\"A\\\" \" lintr::lint(text = code, linters = unused_declared_object_linter()) #> ::warning file=,line=4,col=3::file=,line=4,col=3,[unused_declared_object_linter] Declared function/object unused."},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":null,"dir":"Reference","previous_headings":"","what":"Use lintr with box.linters in your project — use_box_lintr","title":"Use lintr with box.linters in your project — use_box_lintr","text":"Create minimal lintr config file box modules support starting point customization","code":""},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use lintr with box.linters in your project — use_box_lintr","text":"","code":"use_box_lintr(path = \".\", type = c(\"basic_box\", \"rhino\"))"},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use lintr with box.linters in your project — use_box_lintr","text":"path Path project root .lintr file created. .lintr file already exists, error thrown. type kind configuration create basic_box creates minimal lintr config based tidyverse configuration lintr. starts lintr::linters_with_defaults() customized box module compatibility rhino creates lintr config based Rhino style guide","code":""},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use lintr with box.linters in your project — use_box_lintr","text":"Path generated configuration, invisibly.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use lintr with box.linters in your project — use_box_lintr","text":"","code":"if (FALSE) { # use default box-compatible set of linters box.linters::use_box_lintr() # use `rhino` set of linters box.linters::use_box_lintr(type = \"rhino\") }"},{"path":"https://appsilon.github.io/box.linters/news/index.html","id":"boxlinters-development-version","dir":"Changelog","previous_headings":"","what":"box.linters (development version)","title":"box.linters (development version)","text":"[bug fix] box_trailing_commas_linter() now properly handles #nolint linters [bug fix] box_unused_att_pkg_fun_linter() issues lists functions. Linter function now drops nested function name retains list name (list_name$function_name()) performing check. [bug fix] get_attached_modules() properly finding whole modules attached short path/module declarations","code":""},{"path":"https://appsilon.github.io/box.linters/news/index.html","id":"boxlinters-090","dir":"Changelog","previous_headings":"","what":"box.linters 0.9.0","title":"box.linters 0.9.0","text":"CRAN release: 2024-05-25 Handle box-exported functions objects Handle functional programming, cloned functions, curried functions R6 class awareness Data objects inside function definitions lint Functions passed arguments used inside function definitions lint List data objects passed functions lint Functions lists lint. x$y() pattern package$function() … function signature lint. Test dplyr column names Rationalize file names box-attached modules without aliases used box-attached module functions without aliases used Catches non-existing module[function] module[data_object] imports Catches non-existing module$function() module$data_object calls Catches functions box-imported box-attached packages without aliases used box-attached functions without aliases used Catches non-existing package[function] imports Catches non-existing package$function() calls Catches functions box-imported Catches functions defined defined functions used Handles internal R6 class object calls Added rhino_default_linters Import calls alphabetical Maximum quantity function imports Separate packages modules Enforce trailing commas Block universal […] imports Added NEWS.md file track changes package.","code":""},{"path":"https://appsilon.github.io/box.linters/news/index.html","id":"boxlinters-000","dir":"Changelog","previous_headings":"","what":"box.linters 0.0.0","title":"box.linters 0.0.0","text":"Create box.linters","code":""}] +[{"path":"https://appsilon.github.io/box.linters/articles/how-to/box-default.html","id":"setup-box-linters","dir":"Articles > How-to","previous_headings":"","what":"Setup box.linters","title":"Running lintr with box.linters on a project","text":"function use_box_lintr() creates minimal .lintr config file. create .lintr file project root:","code":"box.linters::use_box_lintr() linters: linters_with_defaults( defaults = box.linters::box_default_linters ) encoding: \"UTF-8\""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/box-default.html","id":"active-box-compatible-linters","dir":"Articles > How-to","previous_headings":"","what":"Active box-compatible linters","title":"Running lintr with box.linters on a project","text":"lintr::object_usage_linter() compatible box, following linter functions provided place object_usage_linter(). Examples considered lint included function reference pages. box_pkg_fun_exists_linter() box_unused_att_mod_obj_linter() box_unused_att_pkg_fun_linter() box_unused_attached_mod_linter() box_unused_attached_pkg_linter() box_usage_linter() r6_usage_linter() unused_declared_object_linter()","code":""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/box-default.html","id":"run-lintr","dir":"Articles > How-to","previous_headings":"","what":"Run lintr","title":"Running lintr with box.linters on a project","text":"Use lintr functions lint file directory.","code":"# Lint a file lintr::lint(\"some_file.R\") # Lint a directory lintr::lint_dir(\"some_dir\")"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/box-default.html","id":"example","dir":"Articles > How-to","previous_headings":"","what":"Example","title":"Running lintr with box.linters on a project","text":"Lint results","code":"box::use( stringr[function_not_exists], dplyr[`%>%`, filter, select, mutate], shiny ) unused_function <- function() { 1 } unused_object <- mtcars %>% select(mpg, cyl) %>% filter(mpg >= 10) %>% undefined_function() :2:11: warning: [box_pkg_fun_exists_linter] Function not exported by package. stringr[function_not_exists], ^~~~~~~~~~~~~~~~~~~ :2:11: warning: [box_unused_attached_pkg_fun_linter] Imported function unused. stringr[function_not_exists], ^~~~~~~~~~~~~~~~~~~ :3:32: warning: [box_unused_attached_pkg_fun_linter] Imported function unused. dplyr[`%>%`, filter, select, mutate], ^~~~~~ :4:3: warning: [box_unused_att_pkg_linter] Attached package unused. shiny ^~~~~ :7:1: warning: [unused_declared_object_linter] Declared function/object unused. unused_function <- function() { ^~~~~~~~~~~~~~~ :11:1: warning: [unused_declared_object_linter] Declared function/object unused. unused_object <- mtcars %>% ^~~~~~~~~~~~~ :14:3: warning: [box_usage_linter] Function not imported nor defined. undefined_function() ^~~~~~~~~~~~~~~~~~"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/custom-config.html","id":"activating-linters","dir":"Articles > How-to","previous_headings":"","what":"Activating linters","title":"Custom Configuration","text":"Unlike rhino_default_linters, box_default_linters comes subset linters provided box.linters. Inactive linters can added needed. following activates box_func_import_count_linter() box_default_linters","code":"linters: linters_with_defaults( defaults = box.linters::box_default_linters, box_func_import_count_linter = box.linters::box_func_import_count_linter() ) encoding: \"UTF-8\""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/custom-config.html","id":"disabling-linters","dir":"Articles > How-to","previous_headings":"","what":"Disabling linters","title":"Custom Configuration","text":"Specific linters can disabled setting appropriate linter name NULL: following disables box_func_import_count_linter():","code":"linters: linters_with_defaults( defaults = box.linters::rhino_default_linters, box_func_import_count_linter = NULL ) linters: linters_with_defaults( defaults = box.linters::box_default_linters, box_pkg_fun_exists_linter = NULL )"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/custom-config.html","id":"customizable-linters","dir":"Articles > How-to","previous_headings":"","what":"Customizable linters","title":"Custom Configuration","text":"linters provided can configured box_func_import_count_linter(). following changes maximum quantity attached functions 8 12: default linters provided lintr can also configured:","code":"linters: linters_with_defaults( defaults = box.linters::rhino_default_linters, box_func_import_count_linter = box.linters::box_func_import_count_linter(max = 12) ) linters: linters_with_defaults( defaults = box.linters::box_default_linters, line_length_linter = lintr::line_length_linter(100) )"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/custom-config.html","id":"more-information","dir":"Articles > How-to","previous_headings":"","what":"More information","title":"Custom Configuration","text":"detailed information customizing linters, please proceed lintr documentation Configuring linters","code":""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/rhino-default.html","id":"rhino-1-8-0","dir":"Articles > How-to","previous_headings":"","what":"Rhino (>= 1.8.0)","title":"Running lintr with box.linters on a rhino project","text":"Rhino 1.8.0 may yet available time release. Projects created rhino version 1.8.0 later come preconfigured .lintr file.","code":"linters: linters_with_defaults( defaults = box.linters::rhino_default_linters, line_length_linter = lintr::line_length_linter(100) )"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/rhino-default.html","id":"using-box-linters-with-an-existing-rhino-1-8-0-project","dir":"Articles > How-to","previous_headings":"","what":"Using box.linters with an existing Rhino (< 1.8.0) project","title":"Running lintr with box.linters on a rhino project","text":"Refer Rhino 1.8 Migration Guide upgrade latest version. following code used setup .lintr config file.","code":"box.linters::use_box_lintr(type = \"rhino\")"},{"path":"https://appsilon.github.io/box.linters/articles/how-to/rhino-default.html","id":"active-box-compatible-linters-for-rhino","dir":"Articles > How-to","previous_headings":"","what":"Active box-compatible linters for rhino","title":"Running lintr with box.linters on a rhino project","text":"linter functions included box.linters package activated Rhino projects. Please refer Rhino style guide information.","code":""},{"path":"https://appsilon.github.io/box.linters/articles/how-to/rhino-default.html","id":"linting-a-rhino-project","dir":"Articles > How-to","previous_headings":"","what":"Linting a Rhino project","title":"Running lintr with box.linters on a rhino project","text":"Use helper function included rhino package lint Rhino project.","code":"rhino::lint_r()"},{"path":"https://appsilon.github.io/box.linters/authors.html","id":null,"dir":"","previous_headings":"","what":"Authors","title":"Authors and Citation","text":"Ricardo Rodrigo Basa. Author, maintainer. Jakub Nowicki. Author. Appsilon Sp. z o.o.. Copyright holder.","code":""},{"path":"https://appsilon.github.io/box.linters/authors.html","id":"citation","dir":"","previous_headings":"","what":"Citation","title":"Authors and Citation","text":"Basa R, Nowicki J (2024). box.linters: Linters 'box' Modules. R package version 0.9.0.9004, https://github.com/Appsilon/box.linters, https://appsilon.github.io/box.linters/.","code":"@Manual{, title = {box.linters: Linters for 'box' Modules}, author = {Ricardo Rodrigo Basa and Jakub Nowicki}, year = {2024}, note = {R package version 0.9.0.9004, https://github.com/Appsilon/box.linters}, url = {https://appsilon.github.io/box.linters/}, }"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"boxlinters-","dir":"","previous_headings":"","what":"Linters for box Modules","title":"Linters for box Modules","text":"lintr-compatible linters box modules R box.linters R package provides {lintr} package compatibility {box} package modules. addition providing code-styling checks box::use() function calls, box.linters includes collection linter functions replace lintr::object_usage_linter(). primary purpose box.linters use {rhino} package, functions features available use R code project uses box package modular R code.","code":""},{"path":"https://appsilon.github.io/box.linters/index.html","id":"motivation","dir":"","previous_headings":"","what":"Motivation","title":"Linters for box Modules","text":"lintr::object_usage_linter compatible box modules. order use lintr box together, necessary disable lintr::object_usage_linter(): However, meant lose functionality provided lintr::object_usage_linter().","code":"# use of box modules box::use( stringr[...] ) some_function <- function() { str_trim(\" String with trailing and leading white space\\t\") } > lintr::lint(box-module.R) :6:3: warning: [object_usage_linter] no visible global function definition for 'str_trim' str_trim(\" String with trailing and leading white space \") ^~~~~~~~ lintr::lint(box-module.R, linters = lintr::linters_with_defaults(object_usage_linter = NULL))"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"installation","dir":"","previous_headings":"","what":"Installation","title":"Linters for box Modules","text":"Stable version: Development version:","code":"install.packages(\"box.linters\") # install.packages(\"remotes\") remotes::install_github(\"Appsilon/box.linters\")"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"usage","dir":"","previous_headings":"","what":"Usage","title":"Linters for box Modules","text":"Create configuration file run selected linters:","code":""},{"path":"https://appsilon.github.io/box.linters/index.html","id":"lintr-setup","dir":"","previous_headings":"Usage","what":".lintr setup","title":"Linters for box Modules","text":"","code":"# create a .lintr file box.linters::use_box_lintr() # a file: lintr::lint(filename.R) # in a project: lintr::lint_dir()"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"manually","dir":"","previous_headings":"Usage","what":"Manually","title":"Linters for box Modules","text":", use box.linters manually lintr:","code":"# a file: lintr::lint(filename.R, linters = box.linters::box_default_linters) # in a project: lintr::lint_dir(linters = box.linters::box_default_linters)"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"rhino","dir":"","previous_headings":"Usage","what":"Rhino","title":"Linters for box Modules","text":", use box.linters within rhino project:","code":"# a .lintr file should already exist when a rhino project is created # box.linters::use_box_lintr(type = \"rhino\") # in a rhino project: rhino::lint_r()"},{"path":"https://appsilon.github.io/box.linters/index.html","id":"contribute","dir":"","previous_headings":"","what":"Contribute","title":"Linters for box Modules","text":"want contribute project, please submit regular PR, ’re done new feature bug fix. Reporting bug also helpful - please use Github issues describe problem detailed possible.","code":""},{"path":"https://appsilon.github.io/box.linters/index.html","id":"appsilon","dir":"","previous_headings":"","what":"Appsilon","title":"Linters for box Modules","text":"Appsilon Posit (formerly RStudio) Full Service Certified Partner. Learn appsilon.com. Get touch opensource@appsilon.com Explore Rhinoverse - family R packages built around Rhino!","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"Checks module function imports sorted alphabetically. Aliases ignored. sort check package/module names attached function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"","code":"box_alphabetical_calls_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_alphabetical_calls_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library alphabetical module and function imports linter — box_alphabetical_calls_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(packageB, packageA)\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=10::file=,line=1,col=10,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=20::file=,line=1,col=20,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. lintr::lint( text = \"box::use(package[functionB, functionA])\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=18::file=,line=1,col=18,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=29::file=,line=1,col=29,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. lintr::lint( text = \"box::use(path/to/B, path/to/A)\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=10::file=,line=1,col=10,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=21::file=,line=1,col=21,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. lintr::lint( text = \"box::use(path/to/A[functionB, functionA])\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=20::file=,line=1,col=20,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=31::file=,line=1,col=31,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. lintr::lint( text = \"box::use(path/to/A[alias = functionB, functionA])\", linters = box_alphabetical_calls_linter() ) #> ::warning file=,line=1,col=28::file=,line=1,col=28,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. #> ::warning file=,line=1,col=39::file=,line=1,col=39,[box_alphabetical_calls_linter] Module and function imports must be sorted alphabetically. # okay lintr::lint( text = \"box::use(packageA, packageB)\", linters = box_alphabetical_calls_linter() ) lintr::lint( text = \"box::use(package[functionA, functionB])\", linters = box_alphabetical_calls_linter() ) lintr::lint( text = \"box::use(path/to/A, path/to/B)\", linters = box_alphabetical_calls_linter() ) lintr::lint( text = \"box::use(path/to/A[functionA, functionB])\", linters = box_alphabetical_calls_linter() ) lintr::lint( text = \"box::use(path/to/A[functionA, alias = functionB])\", linters = box_alphabetical_calls_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_default_linters.html","id":null,"dir":"Reference","previous_headings":"","what":"Box-compatible default linters — box_default_linters","title":"Box-compatible default linters — box_default_linters","text":"replacement lintr::object_usage_linter() works box modules.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_default_linters.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Box-compatible default linters — box_default_linters","text":"","code":"box_default_linters"},{"path":"https://appsilon.github.io/box.linters/reference/box_default_linters.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Box-compatible default linters — box_default_linters","text":"object class list length 33.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_default_linters.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Box-compatible default linters — box_default_linters","text":"","code":"linters <- lintr::linters_with_defaults(defaults = box.linters::box_default_linters) names(linters) #> [1] \"assignment_linter\" \"box_mod_fun_exists_linter\" #> [3] \"box_pkg_fun_exists_linter\" \"box_unused_att_mod_obj_linter\" #> [5] \"box_unused_att_pkg_linter\" \"box_unused_attached_mod_linter\" #> [7] \"box_unused_attached_pkg_fun_linter\" \"box_usage_linter\" #> [9] \"brace_linter\" \"commas_linter\" #> [11] \"commented_code_linter\" \"cyclocomp_linter\" #> [13] \"equals_na_linter\" \"function_left_parentheses_linter\" #> [15] \"indentation_linter\" \"infix_spaces_linter\" #> [17] \"line_length_linter\" \"object_length_linter\" #> [19] \"object_name_linter\" \"paren_body_linter\" #> [21] \"pipe_continuation_linter\" \"quotes_linter\" #> [23] \"r6_usage_linter\" \"semicolon_linter\" #> [25] \"seq_linter\" \"spaces_inside_linter\" #> [27] \"spaces_left_parentheses_linter\" \"T_and_F_symbol_linter\" #> [29] \"trailing_blank_lines_linter\" \"trailing_whitespace_linter\" #> [31] \"unused_declared_object_linter\" \"vector_logic_linter\" #> [33] \"whitespace_linter\""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library function import count linter — box_func_import_count_linter","title":"box library function import count linter — box_func_import_count_linter","text":"Checks function imports exceed defined max.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library function import count linter — box_func_import_count_linter","text":"","code":"box_func_import_count_linter(max = 8L)"},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"box library function import count linter — box_func_import_count_linter","text":"max Maximum function imports allowed [ ]. Defaults 8.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library function import count linter — box_func_import_count_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library function import count linter — box_func_import_count_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_func_import_count_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library function import count linter — box_func_import_count_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(package[one, two, three, four, five, six, seven, eight, nine])\", linters = box_func_import_count_linter() ) #> ::warning file=,line=1,col=10::file=,line=1,col=10,[box_func_import_count_linter] Limit the function imports to a max of 8. lintr::lint( text = \"box::use(package[one, two, three, four])\", linters = box_func_import_count_linter(3) ) #> ::warning file=,line=1,col=10::file=,line=1,col=10,[box_func_import_count_linter] Limit the function imports to a max of 3. # okay lintr::lint( text = \"box::use(package[one, two, three, four, five])\", linters = box_func_import_count_linter() ) lintr::lint( text = \"box::use(package[one, two, three])\", linters = box_func_import_count_linter(3) )"},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"Checks functions attached exist exported local module called.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"","code":"box_mod_fun_exists_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_mod_fun_exists_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library attached function exists and exported by called module linter — box_mod_fun_exists_linter","text":"","code":"if (FALSE) { # will produce lint lintr::lint( text = \"box::use(path/to/module_a[function_not_exists],)\", linter = box_mod_fun_exists_linter() ) # okay lintr::lint( text = \"box::use(path/to/module_a[function_exists],)\", linter = box_mod_fun_exists_linter() ) }"},{"path":"https://appsilon.github.io/box.linters/reference/box_module_base_path.html","id":null,"dir":"Reference","previous_headings":"","what":"Find box::use calls for local modules — box_module_base_path","title":"Find box::use calls for local modules — box_module_base_path","text":"Find box::use calls local modules","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_module_base_path.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find box::use calls for local modules — box_module_base_path","text":"","code":"box_module_base_path()"},{"path":"https://appsilon.github.io/box.linters/reference/box_module_base_path.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find box::use calls for local modules — box_module_base_path","text":"XPath","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_module_base_path.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find box::use calls for local modules — box_module_base_path","text":"Base XPath find box::use declarations match following pattern: box::use( path//module, )","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/box_package_base_path.html","id":null,"dir":"Reference","previous_headings":"","what":"Find box::use calls for R libraries/packages — box_package_base_path","title":"Find box::use calls for R libraries/packages — box_package_base_path","text":"Find box::use calls R libraries/packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_package_base_path.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Find box::use calls for R libraries/packages — box_package_base_path","text":"","code":"box_package_base_path()"},{"path":"https://appsilon.github.io/box.linters/reference/box_package_base_path.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Find box::use calls for R libraries/packages — box_package_base_path","text":"XPath","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_package_base_path.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Find box::use calls for R libraries/packages — box_package_base_path","text":"Base XPath find box::use declarations match following pattern: box::use( package, )","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"Checks functions attached exist exported package/library called.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"","code":"box_pkg_fun_exists_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_pkg_fun_exists_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library attached function exists and exported by package linter — box_pkg_fun_exists_linter","text":"","code":"# will produce lint lintr::lint( text = \"box::use(stringr[function_not_exists],)\", linter = box_pkg_fun_exists_linter() ) #> ::warning file=,line=1,col=18::file=,line=1,col=18,[box_pkg_fun_exists_linter] Function not exported by package. # okay lintr::lint( text = \"box::use(stringr[str_pad],)\", linter = box_pkg_fun_exists_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library separate packages and module imports linter — box_separate_calls_linter","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"Checks packages modules imported separate box::use() statements.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"","code":"box_separate_calls_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_separate_calls_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library separate packages and module imports linter — box_separate_calls_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(package, path/to/file)\", linters = box_separate_calls_linter() ) #> ::warning file=,line=1,col=1::file=,line=1,col=1,[box_separate_calls_linter] Separate packages and modules in their respective box::use() calls. lintr::lint( text = \"box::use(path/to/file, package)\", linters = box_separate_calls_linter() ) #> ::warning file=,line=1,col=1::file=,line=1,col=1,[box_separate_calls_linter] Separate packages and modules in their respective box::use() calls. # okay lintr::lint( text = \"box::use(package1, package2) box::use(path/to/file1, path/to/file2)\", linters = box_separate_calls_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library trailing commas linter — box_trailing_commas_linter","title":"box library trailing commas linter — box_trailing_commas_linter","text":"Checks box:use imports trailing comma. applies package module imports ( ), , optionally, function imports [ ]. Take note lintr::commas_linter() may come play.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library trailing commas linter — box_trailing_commas_linter","text":"","code":"box_trailing_commas_linter(check_functions = FALSE)"},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"box library trailing commas linter — box_trailing_commas_linter","text":"check_functions Boolean flag include function imports [ ]. Defaults FALSE.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library trailing commas linter — box_trailing_commas_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library trailing commas linter — box_trailing_commas_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_trailing_commas_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library trailing commas linter — box_trailing_commas_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(base, rlang)\", linters = box_trailing_commas_linter() ) #> ::warning file=,line=1,col=21::file=,line=1,col=21,[box_trailing_commas_linter] Always have a trailing comma at the end of imports, before a `)`. lintr::lint( text = \"box::use( dplyr[select, mutate] )\", linters = box_trailing_commas_linter() ) #> ::warning file=,line=3,col=3::file=,line=3,col=3,[box_trailing_commas_linter] Always have a trailing comma at the end of imports, before a `)`. # okay lintr::lint( text = \"box::use(base, rlang, )\", linters = box_trailing_commas_linter() ) lintr::lint( text = \"box::use( dplyr[select, mutate], )\", linters = box_trailing_commas_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library universal import linter — box_universal_import_linter","title":"box library universal import linter — box_universal_import_linter","text":"Checks function imports explicit. package[...] used.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library universal import linter — box_universal_import_linter","text":"","code":"box_universal_import_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library universal import linter — box_universal_import_linter","text":"custom linter function use r-lib/lintr","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library universal import linter — box_universal_import_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_universal_import_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library universal import linter — box_universal_import_linter","text":"","code":"# will produce lints lintr::lint( text = \"box::use(base[...])\", linters = box_universal_import_linter() ) #> ::warning file=,line=1,col=15::file=,line=1,col=15,[box_universal_import_linter] Explicitly declare imports rather than universally import with `...`. lintr::lint( text = \"box::use(path/to/file[...])\", linters = box_universal_import_linter() ) #> ::warning file=,line=1,col=23::file=,line=1,col=23,[box_universal_import_linter] Explicitly declare imports rather than universally import with `...`. # okay lintr::lint( text = \"box::use(base[print])\", linters = box_universal_import_linter() ) lintr::lint( text = \"box::use(path/to/file[do_something])\", linters = box_universal_import_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library unused attached module object linter — box_unused_att_mod_obj_linter","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"Checks attached module functions data objects used within source file.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"","code":"box_unused_att_mod_obj_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_mod_obj_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library unused attached module object linter — box_unused_att_mod_obj_linter","text":"","code":"if (FALSE) { # will produce lints code <- \" box::use( path/to/module[some_function, some_object], ) \" lintr::lint(text = code, linters = box_unused_att_mod_obj_linter()) code <- \" box::use( path/to/module[alias_func = some_function, alias_obj = some_object], ) \" lintr::lint(text = code, linters = box_unused_att_mod_obj_linter()) # okay code <- \" box::use( path/to/module[some_function, some_object], ) x <- sum(some_object) some_function() \" lintr::lint(text = code, linters = box_unused_att_mod_obj_linter()) code <- \" box::use( path/to/module[alias_func = some_function, alias_obj = some_object], ) x <- sum(alias_obj) alias_func() \" lintr::lint(text = code, linters = box_unused_att_mod_obj_linter()) }"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"Checks attached package functions used within source file.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"","code":"box_unused_att_pkg_fun_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_att_pkg_fun_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library unused attached package function linter — box_unused_att_pkg_fun_linter","text":"","code":"# will produce lints code <- \" box::use( stringr[str_pad], ) \" lintr::lint(text = code, linters = box_unused_att_pkg_fun_linter()) #> ::warning file=,line=3,col=11::file=,line=3,col=11,[box_unused_att_pkg_fun_linter] Imported function unused. code <- \" box::use( stringr[alias_func = str_pad], ) \" lintr::lint(text = code, linters = box_unused_att_pkg_fun_linter()) #> ::warning file=,line=3,col=24::file=,line=3,col=24,[box_unused_att_pkg_fun_linter] Imported function unused. # okay code <- \" box::use( stringr[str_pad], ) str_pad() \" lintr::lint(text = code, linters = box_unused_att_pkg_fun_linter()) code <- \" box::use( stringr[alias_func = str_pad], ) alias_func() \" lintr::lint(text = code, linters = box_unused_att_pkg_fun_linter())"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library unused attached module linter — box_unused_attached_mod_linter","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"Checks attached modules used within source file. also covers modules attached using ....","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"","code":"box_unused_attached_mod_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_mod_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library unused attached module linter — box_unused_attached_mod_linter","text":"","code":"if (FALSE) { # will produce lints code <- \" box::use( path/to/module ) \" lintr::lint(code, linters = box_unused_attached_mod_linter()) code <- \" box::use( alias = path/to/module ) \" lintr::lint(code, linters = box_unused_attached_mod_linter()) code <- \" box::use( path/to/module[...] ) \" lintr::lint(code, linters = box_unused_attached_mod_linter()) # okay code <- \" box::use( path/to/module ) module$some_function() \" lintr::lint(code, linters = box_unused_attached_mod_linter()) code <- \" box::use( alias = path/to/module ) alias$some_function() \" lintr::lint(code, linters = box_unused_attached_mod_linter()) code <- \" box::use( path/to/module[...] # module exports some_function() ) some_function() \" lintr::lint(code, linters = box_unused_attached_mod_linter()) }"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library unused attached package linter — box_unused_attached_pkg_linter","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"Checks attached packages used within source file. also covers packages attached using ....","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"","code":"box_unused_attached_pkg_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_unused_attached_pkg_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library unused attached package linter — box_unused_attached_pkg_linter","text":"","code":"# will produce lints code <- \" box::use( stringr ) \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) #> ::warning file=,line=3,col=3::file=,line=3,col=3,[box_unused_attached_pkg_linter] Attached package unused. code <- \" box::use( alias = stringr ) \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) #> ::warning file=,line=3,col=11::file=,line=3,col=11,[box_unused_attached_pkg_linter] Attached package unused. code <- \" box::use( stringr[...] ) \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) #> ::warning file=,line=3,col=3::file=,line=3,col=3,[box_unused_attached_pkg_linter] Three-dots attached package unused. # okay code <- \" box::use( stringr ) stringr$str_pad() \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) code <- \" box::use( alias = stringr ) alias$str_pad() \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter()) code <- \" box::use( stringr[...] ) str_pad() \" lintr::lint(text = code, linters = box_unused_attached_pkg_linter())"},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"box library-aware object usage linter — box_usage_linter","title":"box library-aware object usage linter — box_usage_linter","text":"Checks function data object calls made within source file valid. three ways functions data object calls come \"valid\". First via base R packages. Second via local declaration/definition. third via box::use() attachment.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"box library-aware object usage linter — box_usage_linter","text":"","code":"box_usage_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"box library-aware object usage linter — box_usage_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"box library-aware object usage linter — box_usage_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/box_usage_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"box library-aware object usage linter — box_usage_linter","text":"","code":"if (FALSE) { box::use( dplyr[`%>%`, filter, pull], stringr, ) mpg <- mtcars %>% filter(mpg <= 10) %>% pull(mpg) mpg <- mtcars %>% filter(mpg <= 10) %>% select(mpg) # will lint trimmed_string <- stringr$str_trim(\" some string \") trimmed_string <- stringr$strtrim(\" some string \") # will lint existing_function <- function(x, y, z) { mean(c(x, y, z)) } existing_function(1, 2, 3) non_existing_function(1, 2, 3) # will lint average(1, 2, 3) # will lint }"},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_mod_funs.html","id":null,"dir":"Reference","previous_headings":"","what":"Check if functions being attached exist and are being exported by the local module — check_attached_mod_funs","title":"Check if functions being attached exist and are being exported by the local module — check_attached_mod_funs","text":"Check functions attached exist exported local module","code":""},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_mod_funs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check if functions being attached exist and are being exported by the local module — check_attached_mod_funs","text":"","code":"check_attached_mod_funs(xml, xpath)"},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_mod_funs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check if functions being attached exist and are being exported by the local module — check_attached_mod_funs","text":"XML node list","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_pkg_funs.html","id":null,"dir":"Reference","previous_headings":"","what":"Check if functions being attached exist and are being exported by the library/package — check_attached_pkg_funs","title":"Check if functions being attached exist and are being exported by the library/package — check_attached_pkg_funs","text":"Check functions attached exist exported library/package","code":""},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_pkg_funs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Check if functions being attached exist and are being exported by the library/package — check_attached_pkg_funs","text":"","code":"check_attached_pkg_funs(xml, xpath)"},{"path":"https://appsilon.github.io/box.linters/reference/check_attached_pkg_funs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Check if functions being attached exist and are being exported by the library/package — check_attached_pkg_funs","text":"XML node list","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/extract_xml_and_text.html","id":null,"dir":"Reference","previous_headings":"","what":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","title":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","text":"Extracts XML nodes text strings matched XML search","code":""},{"path":"https://appsilon.github.io/box.linters/reference/extract_xml_and_text.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","text":"","code":"extract_xml_and_text(xml, xpath)"},{"path":"https://appsilon.github.io/box.linters/reference/extract_xml_and_text.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","text":"xml XML node list. xpath XPath search xml nodes.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/extract_xml_and_text.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Extracts XML nodes and text strings matched by XML search — extract_xml_and_text","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Get imported functions from modules — get_attached_mod_functions","title":"Get imported functions from modules — get_attached_mod_functions","text":"Get imported functions modules","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get imported functions from modules — get_attached_mod_functions","text":"","code":"get_attached_mod_functions(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get imported functions from modules — get_attached_mod_functions","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get imported functions from modules — get_attached_mod_functions","text":"xml list xml nodes, text list function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_three_dots.html","id":null,"dir":"Reference","previous_headings":"","what":"Get all functions exported from modules by ... — get_attached_mod_three_dots","title":"Get all functions exported from modules by ... — get_attached_mod_three_dots","text":"Get functions exported modules ...","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_three_dots.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get all functions exported from modules by ... — get_attached_mod_three_dots","text":"","code":"get_attached_mod_three_dots(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_three_dots.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get all functions exported from modules by ... — get_attached_mod_three_dots","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_mod_three_dots.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get all functions exported from modules by ... — get_attached_mod_three_dots","text":"xml list xml_nodes, nested list module: function, text list function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_modules.html","id":null,"dir":"Reference","previous_headings":"","what":"Get all modules imported whole — get_attached_modules","title":"Get all modules imported whole — get_attached_modules","text":"Get modules imported whole","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_modules.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get all modules imported whole — get_attached_modules","text":"","code":"get_attached_modules(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_modules.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get all modules imported whole — get_attached_modules","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_modules.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get all modules imported whole — get_attached_modules","text":"xml list xml_nodes, nested list module: functions, aliases named list module = alias, text list module$function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_packages.html","id":null,"dir":"Reference","previous_headings":"","what":"Get all packages imported whole — get_attached_packages","title":"Get all packages imported whole — get_attached_packages","text":"Get packages imported whole","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_packages.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get all packages imported whole — get_attached_packages","text":"","code":"get_attached_packages(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_packages.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get all packages imported whole — get_attached_packages","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_packages.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get all packages imported whole — get_attached_packages","text":"xml list xml_nodes, nested list package: functions, aliases named list package = alias, text list package$function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Get imported functions from packages — get_attached_pkg_functions","title":"Get imported functions from packages — get_attached_pkg_functions","text":"Get imported functions packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get imported functions from packages — get_attached_pkg_functions","text":"","code":"get_attached_pkg_functions(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get imported functions from packages — get_attached_pkg_functions","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get imported functions from packages — get_attached_pkg_functions","text":"xml list xml nodes, text list function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_three_dots.html","id":null,"dir":"Reference","previous_headings":"","what":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","title":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","text":"Get functions exported packages ...","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_three_dots.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","text":"","code":"get_attached_pkg_three_dots(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_three_dots.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_attached_pkg_three_dots.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get all functions exported from packages by ... — get_attached_pkg_three_dots","text":"xml list xml_nodes, nested list package: function, text list function names.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_box_module_exports.html","id":null,"dir":"Reference","previous_headings":"","what":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","title":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","text":"implementation box modules provide similar functionality getNamespaceExports() libraries/packages.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_box_module_exports.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","text":"","code":"get_box_module_exports(declaration, alias = \"\", caller = globalenv())"},{"path":"https://appsilon.github.io/box.linters/reference/get_box_module_exports.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","text":"declaration mod package call expression. See box:::parse_spec() source code details. alias Mod package-level alias character string. See box:::parse_spec() source code details. Default fine box.linters use. caller environment box::use invoked. Default fine box.linters use.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_box_module_exports.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get a list of functions and data objects exported by a local box module — get_box_module_exports","text":"list exported functions data objects.","code":""},{"path":[]},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_functions.html","id":null,"dir":"Reference","previous_headings":"","what":"Get locally declared/defined functions — get_declared_functions","title":"Get locally declared/defined functions — get_declared_functions","text":"Get locally declared/defined functions","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_functions.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get locally declared/defined functions — get_declared_functions","text":"","code":"get_declared_functions(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_functions.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get locally declared/defined functions — get_declared_functions","text":"xml XML node list.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_functions.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get locally declared/defined functions — get_declared_functions","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_objects.html","id":null,"dir":"Reference","previous_headings":"","what":"Get locally declared/defined data objects — get_declared_objects","title":"Get locally declared/defined data objects — get_declared_objects","text":"Get locally declared/defined data objects","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_objects.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get locally declared/defined data objects — get_declared_objects","text":"","code":"get_declared_objects(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_objects.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get locally declared/defined data objects — get_declared_objects","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_declared_objects.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get locally declared/defined data objects — get_declared_objects","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_calls.html","id":null,"dir":"Reference","previous_headings":"","what":"Get functions called in current source file — get_function_calls","title":"Get functions called in current source file — get_function_calls","text":"Get functions called current source file","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_calls.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get functions called in current source file — get_function_calls","text":"","code":"get_function_calls(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_function_calls.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get functions called in current source file — get_function_calls","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_calls.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get functions called in current source file — get_function_calls","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_signature_objs.html","id":null,"dir":"Reference","previous_headings":"","what":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","title":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","text":"brute-force extraction SYMBOL_FORMALS scope-aware.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_signature_objs.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","text":"","code":"get_function_signature_objs(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_function_signature_objs.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_function_signature_objs.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get objects names in function signatures from all functions in current source file — get_function_signature_objs","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_module_exports.html","id":null,"dir":"Reference","previous_headings":"","what":"Get functions exported by modules — get_module_exports","title":"Get functions exported by modules — get_module_exports","text":"Get functions exported modules","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_module_exports.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get functions exported by modules — get_module_exports","text":"","code":"get_module_exports(mod_list)"},{"path":"https://appsilon.github.io/box.linters/reference/get_module_exports.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get functions exported by modules — get_module_exports","text":"mod_list vector packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_module_exports.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get functions exported by modules — get_module_exports","text":"list (package_name = list(of_functions))","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_object_calls.html","id":null,"dir":"Reference","previous_headings":"","what":"Get objects called in current source file — get_object_calls","title":"Get objects called in current source file — get_object_calls","text":"Get objects called current source file","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_object_calls.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get objects called in current source file — get_object_calls","text":"","code":"get_object_calls(xml)"},{"path":"https://appsilon.github.io/box.linters/reference/get_object_calls.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get objects called in current source file — get_object_calls","text":"xml XML node list","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_object_calls.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get objects called in current source file — get_object_calls","text":"list xml_nodes text.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_packages_exports.html","id":null,"dir":"Reference","previous_headings":"","what":"Get functions exported by packages — get_packages_exports","title":"Get functions exported by packages — get_packages_exports","text":"Get functions exported packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_packages_exports.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get functions exported by packages — get_packages_exports","text":"","code":"get_packages_exports(pkg_list)"},{"path":"https://appsilon.github.io/box.linters/reference/get_packages_exports.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get functions exported by packages — get_packages_exports","text":"pkg_list vector packages","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_packages_exports.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get functions exported by packages — get_packages_exports","text":"list (package_name = list(of_functions))","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_r6_components.html","id":null,"dir":"Reference","previous_headings":"","what":"Get declared/defined R6 class components — get_r6_components","title":"Get declared/defined R6 class components — get_r6_components","text":"Get declared/defined R6 class components","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_r6_components.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Get declared/defined R6 class components — get_r6_components","text":"","code":"get_r6_components(xml, mode = c(\"public\", \"active\", \"private\"))"},{"path":"https://appsilon.github.io/box.linters/reference/get_r6_components.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Get declared/defined R6 class components — get_r6_components","text":"xml XML representation R source code. mode Type internal component (public, active, private).","code":""},{"path":"https://appsilon.github.io/box.linters/reference/get_r6_components.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Get declared/defined R6 class components — get_r6_components","text":"List XML nodes corresponding text string values nodes","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_components_xpath.html","id":null,"dir":"Reference","previous_headings":"","what":"XPath to get internal components of an R6 class — make_r6_components_xpath","title":"XPath to get internal components of an R6 class — make_r6_components_xpath","text":"XPath get internal components R6 class","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_components_xpath.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"XPath to get internal components of an R6 class — make_r6_components_xpath","text":"","code":"make_r6_components_xpath(mode = c(\"public\", \"active\", \"private\"))"},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_components_xpath.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"XPath to get internal components of an R6 class — make_r6_components_xpath","text":"mode Type internal component (public, active, private).","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_components_xpath.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"XPath to get internal components of an R6 class — make_r6_components_xpath","text":"XPath query","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_internal_calls_xpath.html","id":null,"dir":"Reference","previous_headings":"","what":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","title":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","text":"XPath get internal function data object calls inside R6 class","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_internal_calls_xpath.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","text":"","code":"make_r6_internal_calls_xpath(mode = c(\"self\", \"private\"))"},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_internal_calls_xpath.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","text":"mode Type internal call (self private).","code":""},{"path":"https://appsilon.github.io/box.linters/reference/make_r6_internal_calls_xpath.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"XPath to get internal function or data object calls inside an R6 class — make_r6_internal_calls_xpath","text":"XPath query","code":""},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"R6 class usage linter — r6_usage_linter","title":"R6 class usage linter — r6_usage_linter","text":"Checks method attribute calls within R6 class. Covers public, private, active objects. internal calls exist. private methods attributes used.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"R6 class usage linter — r6_usage_linter","text":"","code":"r6_usage_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"R6 class usage linter — r6_usage_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"R6 class usage linter — r6_usage_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/r6_usage_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"R6 class usage linter — r6_usage_linter","text":"","code":"# will produce lints code = \" box::use( R6[R6Class], ) badClass <- R6Class('badClass', public = list( initialize = function() { private$not_exists() } ), private = list( unused_attribute = 'private data', unused_method = function() { self$attribute_not_exists self$function_not_exists() } ) ) \" lintr::lint( text = code, linters = r6_usage_linter() ) #> ::warning file=,line=9,col=7::file=,line=9,col=7,[r6_usage_linter] Internal object call not found. #> ::warning file=,line=13,col=5::file=,line=13,col=5,[r6_usage_linter] Private object not used. #> ::warning file=,line=14,col=5::file=,line=14,col=5,[r6_usage_linter] Private object not used. #> ::warning file=,line=15,col=7::file=,line=15,col=7,[r6_usage_linter] Internal object call not found. #> ::warning file=,line=16,col=7::file=,line=16,col=7,[r6_usage_linter] Internal object call not found. # okay code = \" box::use( R6[R6Class], ) goodClass <- R6Class('goodClass', public = list( public_attr = NULL, initialize = function() { private$private_func() }, some_function = function () { private$private_attr } ), private = list( private_attr = 'private data', private_func = function() { self$public_attr } ) ) \" lintr::lint( text = code, linters = r6_usage_linter() )"},{"path":"https://appsilon.github.io/box.linters/reference/rhino_default_linters.html","id":null,"dir":"Reference","previous_headings":"","what":"Rhino default linters — rhino_default_linters","title":"Rhino default linters — rhino_default_linters","text":"See Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/rhino_default_linters.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Rhino default linters — rhino_default_linters","text":"","code":"rhino_default_linters"},{"path":"https://appsilon.github.io/box.linters/reference/rhino_default_linters.html","id":"format","dir":"Reference","previous_headings":"","what":"Format","title":"Rhino default linters — rhino_default_linters","text":"object class list length 38.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/rhino_default_linters.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Rhino default linters — rhino_default_linters","text":"","code":"linters <- lintr::linters_with_defaults(defaults = box.linters::rhino_default_linters) names(linters) #> [1] \"assignment_linter\" \"box_alphabetical_calls_linter\" #> [3] \"box_func_import_count_linter\" \"box_mod_fun_exists_linter\" #> [5] \"box_pkg_fun_exists_linter\" \"box_separate_calls_linter\" #> [7] \"box_trailing_commas_linter\" \"box_universal_import_linter\" #> [9] \"box_unused_att_mod_obj_linter\" \"box_unused_att_pkg_linter\" #> [11] \"box_unused_attached_mod_linter\" \"box_unused_attached_pkg_fun_linter\" #> [13] \"box_usage_linter\" \"brace_linter\" #> [15] \"commas_linter\" \"commented_code_linter\" #> [17] \"cyclocomp_linter\" \"equals_na_linter\" #> [19] \"function_left_parentheses_linter\" \"indentation_linter\" #> [21] \"infix_spaces_linter\" \"line_length_linter\" #> [23] \"object_length_linter\" \"object_name_linter\" #> [25] \"paren_body_linter\" \"pipe_continuation_linter\" #> [27] \"quotes_linter\" \"r6_usage_linter\" #> [29] \"semicolon_linter\" \"seq_linter\" #> [31] \"spaces_inside_linter\" \"spaces_left_parentheses_linter\" #> [33] \"T_and_F_symbol_linter\" \"trailing_blank_lines_linter\" #> [35] \"trailing_whitespace_linter\" \"unused_declared_object_linter\" #> [37] \"vector_logic_linter\" \"whitespace_linter\""},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":null,"dir":"Reference","previous_headings":"","what":"Unused declared function and data objects linter — unused_declared_object_linter","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"Checks defined/declared functions data objects used within source file. Functions data objects marked @export ignored.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"","code":"unused_declared_object_linter()"},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"custom linter function use r-lib/lintr.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":"details","dir":"Reference","previous_headings":"","what":"Details","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"use rhino, see Explanation: Rhino style guide learn details.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/unused_declared_object_linter.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Unused declared function and data objects linter — unused_declared_object_linter","text":"","code":"# will produce lint code <- \" #' @export public_function <- function() { } private_function <- function() { } local_data <- \\\"A\\\" \" lintr::lint(text = code, linters = unused_declared_object_linter()) #> ::warning file=,line=7,col=1::file=,line=7,col=1,[unused_declared_object_linter] Declared function/object unused. #> ::warning file=,line=11,col=1::file=,line=11,col=1,[unused_declared_object_linter] Declared function/object unused. # okay code <- \" #' @export public_function <- function() { some_variable <- local_data private_function() } private_function <- function() { } local_data <- \\\"A\\\" \" lintr::lint(text = code, linters = unused_declared_object_linter()) #> ::warning file=,line=4,col=3::file=,line=4,col=3,[unused_declared_object_linter] Declared function/object unused."},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":null,"dir":"Reference","previous_headings":"","what":"Use lintr with box.linters in your project — use_box_lintr","title":"Use lintr with box.linters in your project — use_box_lintr","text":"Create minimal lintr config file box modules support starting point customization","code":""},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":"ref-usage","dir":"Reference","previous_headings":"","what":"Usage","title":"Use lintr with box.linters in your project — use_box_lintr","text":"","code":"use_box_lintr(path = \".\", type = c(\"basic_box\", \"rhino\"))"},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":"arguments","dir":"Reference","previous_headings":"","what":"Arguments","title":"Use lintr with box.linters in your project — use_box_lintr","text":"path Path project root .lintr file created. .lintr file already exists, error thrown. type kind configuration create basic_box creates minimal lintr config based tidyverse configuration lintr. starts lintr::linters_with_defaults() customized box module compatibility rhino creates lintr config based Rhino style guide","code":""},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":"value","dir":"Reference","previous_headings":"","what":"Value","title":"Use lintr with box.linters in your project — use_box_lintr","text":"Path generated configuration, invisibly.","code":""},{"path":"https://appsilon.github.io/box.linters/reference/use_box_lintr.html","id":"ref-examples","dir":"Reference","previous_headings":"","what":"Examples","title":"Use lintr with box.linters in your project — use_box_lintr","text":"","code":"if (FALSE) { # use default box-compatible set of linters box.linters::use_box_lintr() # use `rhino` set of linters box.linters::use_box_lintr(type = \"rhino\") }"},{"path":"https://appsilon.github.io/box.linters/news/index.html","id":"boxlinters-development-version","dir":"Changelog","previous_headings":"","what":"box.linters (development version)","title":"box.linters (development version)","text":"Added box_mod_fun_exists_linter() default linters [bug fix] box_trailing_commas_linter() now properly handles #nolint linters [bug fix] box_unused_att_pkg_fun_linter() issues lists functions. Linter function now drops nested function name retains list name (list_name$function_name()) performing check. [bug fix] get_attached_modules() properly finding whole modules attached short path/module declarations","code":""},{"path":"https://appsilon.github.io/box.linters/news/index.html","id":"boxlinters-090","dir":"Changelog","previous_headings":"","what":"box.linters 0.9.0","title":"box.linters 0.9.0","text":"CRAN release: 2024-05-25 Handle box-exported functions objects Handle functional programming, cloned functions, curried functions R6 class awareness Data objects inside function definitions lint Functions passed arguments used inside function definitions lint List data objects passed functions lint Functions lists lint. x$y() pattern package$function() … function signature lint. Test dplyr column names Rationalize file names box-attached modules without aliases used box-attached module functions without aliases used Catches non-existing module[function] module[data_object] imports Catches non-existing module$function() module$data_object calls Catches functions box-imported box-attached packages without aliases used box-attached functions without aliases used Catches non-existing package[function] imports Catches non-existing package$function() calls Catches functions box-imported Catches functions defined defined functions used Handles internal R6 class object calls Added rhino_default_linters Import calls alphabetical Maximum quantity function imports Separate packages modules Enforce trailing commas Block universal […] imports Added NEWS.md file track changes package.","code":""},{"path":"https://appsilon.github.io/box.linters/news/index.html","id":"boxlinters-000","dir":"Changelog","previous_headings":"","what":"box.linters 0.0.0","title":"box.linters 0.0.0","text":"Create box.linters","code":""}]