diff --git a/R/detect-alignment.R b/R/detect-alignment.R index 1232dd357..ab1362ad7 100644 --- a/R/detect-alignment.R +++ b/R/detect-alignment.R @@ -119,7 +119,7 @@ token_is_on_aligned_line <- function(pd_flat) { # when match via comma unsuccessful, matching by = must yield at least one = is_aligned <- length(unique(start_after_eq + previous_line)) == 1 && length(start_after_eq) > 1 - previous_line <- nchar(by_line) + previous_line <- nchar(by_line) + previous_line if (column >= start_eval && !is_aligned) { # when not all are named, we need colum 1 for previous_line return(FALSE) diff --git a/tests/testthat/alignment/named-in.R b/tests/testthat/alignment/named-in.R index f791b56eb..94500cb3a 100644 --- a/tests/testthat/alignment/named-in.R +++ b/tests/testthat/alignment/named-in.R @@ -192,9 +192,15 @@ ca( m = c(rm.na = 7) ) -# aligned +# aligned =, first all named fell( x = 8, annoying = 3, y = 23, # nothing in column 2 for row 2 zz = NULL, finally = "stuff" ) + +# aligned =, first not all named +gell( + p = 2, g = gg(x), n = 3 * 3, # + 31, fds = -1, gz = f / 3 + 1, +) diff --git a/tests/testthat/alignment/named-in_tree b/tests/testthat/alignment/named-in_tree index a47cb5fc7..8130c9c77 100644 --- a/tests/testthat/alignment/named-in_tree +++ b/tests/testthat/alignment/named-in_tree @@ -783,33 +783,86 @@ ROOT (token: short_text [lag_newlines/spaces] {pos_id}) ¦ ¦ °--')': ) [0/0] {779} ¦ °--')': ) [1/0] {780} ¦--COMMENT: # ali [2/0] {781} - °--expr: fell( [1/0] {782} - ¦--expr: fell [0/0] {784} - ¦ °--SYMBOL_FUNCTION_CALL: fell [0/0] {783} - ¦--'(': ( [0/2] {785} - ¦--SYMBOL_SUB: x [1/2] {786} - ¦--EQ_SUB: = [0/1] {787} - ¦--expr: 8 [0/0] {789} - ¦ °--NUM_CONST: 8 [0/0] {788} - ¦--',': , [0/1] {790} - ¦--SYMBOL_SUB: annoy [0/3] {791} - ¦--EQ_SUB: = [0/1] {792} - ¦--expr: 3 [0/0] {794} - ¦ °--NUM_CONST: 3 [0/0] {793} - ¦--',': , [0/2] {795} - ¦--SYMBOL_SUB: y [1/2] {796} - ¦--EQ_SUB: = [0/1] {797} - ¦--expr: 23 [0/0] {799} - ¦ °--NUM_CONST: 23 [0/0] {798} - ¦--',': , [0/1] {800} - ¦--COMMENT: # not [0/2] {801} - ¦--SYMBOL_SUB: zz [1/1] {802} - ¦--EQ_SUB: = [0/1] {803} - ¦--expr: NULL [0/0] {805} - ¦ °--NULL_CONST: NULL [0/0] {804} - ¦--',': , [0/1] {806} - ¦--SYMBOL_SUB: final [0/1] {807} - ¦--EQ_SUB: = [0/1] {808} - ¦--expr: "stuf [0/0] {810} - ¦ °--STR_CONST: "stuf [0/0] {809} - °--')': ) [1/0] {811} + ¦--expr: fell( [1/0] {782} + ¦ ¦--expr: fell [0/0] {784} + ¦ ¦ °--SYMBOL_FUNCTION_CALL: fell [0/0] {783} + ¦ ¦--'(': ( [0/2] {785} + ¦ ¦--SYMBOL_SUB: x [1/2] {786} + ¦ ¦--EQ_SUB: = [0/1] {787} + ¦ ¦--expr: 8 [0/0] {789} + ¦ ¦ °--NUM_CONST: 8 [0/0] {788} + ¦ ¦--',': , [0/1] {790} + ¦ ¦--SYMBOL_SUB: annoy [0/3] {791} + ¦ ¦--EQ_SUB: = [0/1] {792} + ¦ ¦--expr: 3 [0/0] {794} + ¦ ¦ °--NUM_CONST: 3 [0/0] {793} + ¦ ¦--',': , [0/2] {795} + ¦ ¦--SYMBOL_SUB: y [1/2] {796} + ¦ ¦--EQ_SUB: = [0/1] {797} + ¦ ¦--expr: 23 [0/0] {799} + ¦ ¦ °--NUM_CONST: 23 [0/0] {798} + ¦ ¦--',': , [0/1] {800} + ¦ ¦--COMMENT: # not [0/2] {801} + ¦ ¦--SYMBOL_SUB: zz [1/1] {802} + ¦ ¦--EQ_SUB: = [0/1] {803} + ¦ ¦--expr: NULL [0/0] {805} + ¦ ¦ °--NULL_CONST: NULL [0/0] {804} + ¦ ¦--',': , [0/1] {806} + ¦ ¦--SYMBOL_SUB: final [0/1] {807} + ¦ ¦--EQ_SUB: = [0/1] {808} + ¦ ¦--expr: "stuf [0/0] {810} + ¦ ¦ °--STR_CONST: "stuf [0/0] {809} + ¦ °--')': ) [1/0] {811} + ¦--COMMENT: # ali [2/0] {812} + °--expr: gell( [1/0] {813} + ¦--expr: gell [0/0] {815} + ¦ °--SYMBOL_FUNCTION_CALL: gell [0/0] {814} + ¦--'(': ( [0/2] {816} + ¦--SYMBOL_SUB: p [1/1] {817} + ¦--EQ_SUB: = [0/1] {818} + ¦--expr: 2 [0/0] {820} + ¦ °--NUM_CONST: 2 [0/0] {819} + ¦--',': , [0/3] {821} + ¦--SYMBOL_SUB: g [0/1] {822} + ¦--EQ_SUB: = [0/1] {823} + ¦--expr: gg(x) [0/0] {824} + ¦ ¦--expr: gg [0/0] {826} + ¦ ¦ °--SYMBOL_FUNCTION_CALL: gg [0/0] {825} + ¦ ¦--'(': ( [0/0] {827} + ¦ ¦--expr: x [0/0] {829} + ¦ ¦ °--SYMBOL: x [0/0] {828} + ¦ °--')': ) [0/0] {830} + ¦--',': , [0/1] {831} + ¦--SYMBOL_SUB: n [0/1] {832} + ¦--EQ_SUB: = [0/1] {833} + ¦--expr: 3 * 3 [0/0] {834} + ¦ ¦--expr: 3 [0/1] {836} + ¦ ¦ °--NUM_CONST: 3 [0/0] {835} + ¦ ¦--'*': * [0/1] {837} + ¦ °--expr: 3 [0/0] {839} + ¦ °--NUM_CONST: 3 [0/0] {838} + ¦--',': , [0/1] {840} + ¦--COMMENT: # [0/2] {841} + ¦--expr: 31 [1/0] {843} + ¦ °--NUM_CONST: 31 [0/0] {842} + ¦--',': , [0/4] {844} + ¦--SYMBOL_SUB: fds [0/1] {845} + ¦--EQ_SUB: = [0/1] {846} + ¦--expr: -1 [0/0] {847} + ¦ ¦--'-': - [0/0] {848} + ¦ °--expr: 1 [0/0] {850} + ¦ °--NUM_CONST: 1 [0/0] {849} + ¦--',': , [0/1] {851} + ¦--SYMBOL_SUB: gz [0/3] {852} + ¦--EQ_SUB: = [0/1] {853} + ¦--expr: f / 3 [0/0] {854} + ¦ ¦--expr: f [0/1] {857} + ¦ ¦ °--SYMBOL: f [0/0] {856} + ¦ ¦--'/': / [0/1] {858} + ¦ ¦--expr: 3 [0/1] {860} + ¦ ¦ °--NUM_CONST: 3 [0/0] {859} + ¦ ¦--'+': + [0/1] {861} + ¦ °--expr: 1 [0/0] {863} + ¦ °--NUM_CONST: 1 [0/0] {862} + ¦--',': , [0/0] {864} + °--')': ) [1/0] {865} diff --git a/tests/testthat/alignment/named-out.R b/tests/testthat/alignment/named-out.R index 8432b9f52..a4fb69041 100644 --- a/tests/testthat/alignment/named-out.R +++ b/tests/testthat/alignment/named-out.R @@ -190,9 +190,15 @@ ca( m = c(rm.na = 7) ) -# aligned +# aligned =, first all named fell( x = 8, annoying = 3, y = 23, # nothing in column 2 for row 2 zz = NULL, finally = "stuff" ) + +# aligned =, first not all named +gell( + p = 2, g = gg(x), n = 3 * 3, # + 31, fds = -1, gz = f / 3 + 1, +)