Skip to contents

[Experimental]

Formater kode etter Rapwhale-kodestilen.

Usage

rapwhale_style(
  scope = "tokens",
  strict = TRUE,
  indent_by = 2,
  start_comments_with_one_space = TRUE,
  reindention = styler::tidyverse_reindention(),
  math_token_spacing = styler::tidyverse_math_token_spacing(),
  maks_blanke_linjer = 3L
)

Arguments

scope

Omfanget av manipulasjon. Kan variera frå "none" (minst inngripande) til "tokens" (mest inngripande). Sjå 'Details'. Dette argumentet er ein tekststreng eller ein vektor av klassen AsIs.

strict

Ein logisk verdi som indikerer om eit sett med strenge eller ikkje så strenge transformasjonsfunksjonar skal returnerast. Samanlikn funksjonane returnert med eller utan strict = TRUE. Til dømes vil det med strict = TRUE tvingast eitt mellomrom etter ",", og eitt linjeskift etter avsluttande krøllparentes. Med strict = FALSE vil det leggjast til mellomrom og linjeskift viss det ikkje finst, men ikkje endrast noko viss det finst fleire. Sjå Examples'.

indent_by

Kor mange mellomrom med innrykk skal setjast inn etter operatorar som (.

start_comments_with_one_space

Skal kommentarar starta med berre eitt mellomrom etter #-teiknet? Standard er TRUE. (sjå styler::start_comments_with_space()).

reindention

Ei liste over parametrar for regex re-innrykk, mest føremålstenleg laga med styler::specify_reindention().

math_token_spacing

Ei liste over parametrar som definerar mellomrom i kring matematiske teikn, føremålstenleg laga med styler::specify_math_token_spacing().

maks_blanke_linjer

Eit heiltal med høgste tal på blanke linjer på rad som er tillatne i koden. Standard er 3.

Value

Stilguide, ei liste med funksjonar og annan info, til bruk ved formatering av kode med styler-pakken.

Details

Rapwhale-kodestilen er lik Tidyverse-stilen styler::tidyverse_style(), med ei lita endring: Den brukar =-operatoren i staden for <--operatoren.

Fylgjande nivå for scope er tilgjengelege:

  • "none": Utfører ingen transformasjon.

  • "spaces": Manipulerar mellomrom mellom teikn på same linje.

  • "indention": Manipulerar innrykk, dvs. tal på mellomrom i starten av kvar linje.

  • "line_breaks": Manipulerar linjeskift.

  • "tokens": Manipulerar tokens (symbol og teikn).

scope kan spesifiserast på to måtar:

  • Som ein tekststreng: I dette tilfellet er alle mindre inngripande scope-nivå underforstått, t.d. "line_breaks" inkluderar "indention" og "spaces". Dette er kort og det ein oftast treng.

  • Som ein vektor av klassen AsIs: Kvart nivå må listas opp eksplisitt ved å leggja eitt eller fleire nivå inn i I().

Sjå 'Examples' for detaljar.

Examples

library(styler)

style_text("call( 1)", style = rapwhale_style, scope = "spaces")
#> Warning: Could not use `colored = TRUE`, as the package prettycode is not installed.
#> Please install it if you want to see colored output or see
#> `?styler::print.vertical()` for more information.
#> call(1)
style_text("call( 1)", transformers = rapwhale_style(strict = TRUE))
#> Warning: Could not use `colored = TRUE`, as the package prettycode is not installed.
#> Please install it if you want to see colored output or see
#> `?styler::print.vertical()` for more information.
#> call(1)
style_text(c("ab = 3", "a  =3"),
  style = rapwhale_style,
  strict = FALSE
) # Tek vare på justering av "="
#> Warning: Could not use `colored = TRUE`, as the package prettycode is not installed.
#> Please install it if you want to see colored output or see
#> `?styler::print.vertical()` for more information.
#> ab = 3
#> a  = 3
style_text(c("ab = 3", "a  =3"),
  style = rapwhale_style,
  strict = TRUE
) # Fjernar justering av "="
#> Warning: Could not use `colored = TRUE`, as the package prettycode is not installed.
#> Please install it if you want to see colored output or see
#> `?styler::print.vertical()` for more information.
#> ab = 3
#> a = 3

# Endrar linjeskift og symbol, men ikkje mellomrom
style_text(c("ab <- 3", "a =3"),
  style = rapwhale_style,
  strict = TRUE, scope = I(c("line_breaks", "tokens"))
)
#> Warning: Could not use `colored = TRUE`, as the package prettycode is not installed.
#> Please install it if you want to see colored output or see
#> `?styler::print.vertical()` for more information.
#> ab = 3
#> a =3