AlignAssign
AlignAssign copied to clipboard
dealing with multiple assignment operator
The zeallot package provides multiple assignment operator %<-%, but {AlignAssign} detects it as assignment operator.
AlignAssign:::guess_operator("%<-%")
#> [1] "<-"
Created on 2021-11-11 by the reprex package (v2.0.1)
This leads to AlignAssign incorrectly formatting code of the following form
if (type == "parametric") c(.ns, .fn) %<-% c("metafor", "rma")
if (type == "robust") c(.ns, .fn) %<-% c("metaplus", "metaplus")
if (type == "bayes") c(.ns, .fn) %<-% c("metaBMA", "meta_random")
to
if (type == "parametric") c(.ns, .fn) %<-% c("metafor", "rma")
if (type == "robust") c(.ns, .fn) % <-% c("metaplus", "metaplus")
if (type == "bayes") c(.ns, .fn) % <-% c("metaBMA", "meta_random")
A way around this is either to make guess_operator() smart enough to detect multiple assignment operator, or to just add support for the multiple assignment operator.
It should be a matter of logic in ‘guess_operator()’ and then writing an ‘alignAssignZeallot()’ function for the addin.