AlignAssign icon indicating copy to clipboard operation
AlignAssign copied to clipboard

dealing with multiple assignment operator

Open IndrajeetPatil opened this issue 4 years ago • 1 comments

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.

IndrajeetPatil avatar Nov 11 '21 10:11 IndrajeetPatil

It should be a matter of logic in ‘guess_operator()’ and then writing an ‘alignAssignZeallot()’ function for the addin.

seasmith avatar Nov 16 '21 21:11 seasmith