tergo-lib 0.2.12

A tool to format R code
Documentation
# `tergo-lib`

## Description

This is the main entry point for `tergo` as a formatting tool.
It is a library, written in Rust, which exposes basic functions
to format source code of the R programming language given
a user-supplied or default formatting configuration.

## Configuration

You can see an example of a configuration file
in the [examples directory](./examples/tergo.toml).

- indent (`i32`): the number of characters constituting a single
  indent. Default: 2.

- line_length (`i32`): the maximum length of the line allowed
  in the formatted output. Default: 120.

- embracing_op_no_nl (`bool`): whether to remove line breaks inside
  the embracing operator (`{{ }}`).
  See: <https://style.tidyverse.org/syntax.html#embracing>
  Default: true.

- allow_nl_after_assignment (`bool`): whether to allow new lines after
  any kind of assignment operator (`=`, `<-`, `:=`) for a very long
  binary expressions. Default: false.

- space_before_complex_rhs_in_formula (`bool`): whether to add a space
  before complex expression in formulas. Default: true.
  See <https://style.tidyverse.org/syntax.html#infix-operators>.

- strip_suffix_whitespace_in_function_defs (`bool`): whether to strip
  any remaining whitespace (including new lines) from ends of the
  function definitions. Example:

  ```R
  function() {
    TRUE

  }
  ```

  If `strip_suffix_whitespace_in_function_defs` is set to `true`, then
  the above is formatted to:

  ```R
  function() {
    TRUE
  }
  ```

  Default: true.

- function_line_breaks (`string`): possible values include:
  `"single"`, `"double"`, `"hanging"`.
  See <https://style.tidyverse.org/functions.html#multi-line-function-definitions>
  `"double"` works the same as `"single"`, except the amount of indent for
  function arguments is doubled. Default: "hanging".

- insert_newline_in_quote_call (`bool`): whether to insert a new line
  in calls to `quote` where the inside expression is very long
  and contains mandatory line breaks (like a closure with `{}`).
  Default: true.

- exclusion_list (array of `string`): the list of paths to exclude
  from formatting. The paths are relative to the root of the project.
  E.g. `["./aqua", "./balnea"]`.
  These will not work: `"aqua", "balnea`.
  Default: `[]`.