[ESS] Indent for R's 'switch'

Alex Branham @lex@br@nh@m @ending from gm@il@com
Fri Jun 22 16:56:41 CEST 2018


On Fri 22 Jun 2018 at 09:50, Marius Hofert via ESS-help <ess-help using r-project.org> wrote:

> Hi,
>
> ESS (version 16.10-1 but also earlier) gives the following indentation
> for switch statements in r:
>
> f <- function(method = c("foo", "bar"))
> {
>     switch(match.arg(method),
>            "foo" = { # (*)
>         cat("Will use 'method' = \"foo\".\n")
>     },
>     "bar" = {
>         cat("Will use 'method' = \"bar\".\n")
>     },
>     stop("Wrong 'method'"))
> }
>
> Line (*) is not ideal. Looking over the various cases (in longer
> switch statements) along column 4 (containing the "s" of "switch()"),
> one can easily overlook the case "foo". The following would be great
> to have:
>
> f <- function(method = c("foo", "bar"))
> {
>     switch(match.arg(method),
>     "foo" = {
>         cat("Will use 'method' = \"foo\".\n")
>     },
>     "bar" = {
>         cat("Will use 'method' = \"bar\".\n")
>     },
>     stop("Wrong 'method'"))
> }
>
> Is that possible?

This is what I get when using the default style, FWIW.



More information about the ESS-help mailing list