Last chance! 50% off unlimited learning
Sale ends in
Based on token
, find the rows in pd
that need to be indented.
compute_indent_indices(pd, token_opening, token_closing = NULL)
A parse table.
A character vector with tokens that could induce indention for subsequent tokens.
A character vector with tokens that could terminate
indention for previous tokens. If NULL
(the default), indention should
end with the last token in the parse table.
Two cases are fundamentally different:
Indention based on operators (e.g '+'), where all subsequent tokens should be indented.
Indention based on braces (e.g. '('), where just the tokens between the opening and the closing brace have to be indented.
To cover the second case, we need token_closing
because it cannot be taken
for granted that token_closing
is always the last token in pd
. For
example in if-else expressions, this is not the case and indenting
everything between '(' and the penultimate token would result in the wrong
formatting.