left_parenthesis_style
failed on composite
expressions involving more than one operator, e.g. (x + y)
* 3 + 1
.
close_bracket_style
and open_bracket_style
now
accept that the preceding (resp. following) expression is on a
different line than the bracket.
close_parenthesis_style
and
open_parenthesis_style
now accept that the preceding
(resp. following) expression is on a different line than the
parenthesis.
ops_spaces_style
now also checks spacing around the
keyword in
used in for
loops.
left_parenthesis_style
now works correctly with the
unary operator !
and with parentheses used to echo the
result of an expression. The linter is also more robust and
reliable (although slower) for many other constructions.
Translations of messages from all_linters
completed.
all_style
utility function to validate code using all
available style linters at once.
nomagic_style
now allows non-ASCII uppercase letters
in symbol names.
nomagic_style
uses a more robust procedure to identify
valid assignments of magic numbers to variables.
line_length_style
now issues only one message per
line exceeding the length threshold.
commas_style
now allows spaces before a comma if the
preceeding symbol is also a comma. This exception to the general
rule is needed for consecutive commas commonly used in the
indexing of arrays.
roger_grade
gains a quiet
argument that was
missing in earlier releases.
Following changes in the base system, the interface
functions roger_grade
, roger_push
,
roger_switch
and roger_validate
now use a default
value of getwd()
for the dir
or repos
argument.
roger_push
and roger_switch
: to put the
mandatory argument ahead of optional ones, branch
is now
the first argument of these functions.
roger_clone
now correctly matches the arguments of
the corresponding base system tool: argument page_limit
is removed; argument rogerrc_file
is added; argument
api
is now NULL
by default.
comments_style
linter to check that comment
delimiters and the text of comments, when there is
any, are separated by at least one space.
any_comments
now accepts comments without spaces
between the comment delimiters and the text. Use
comments_style
to test the actual styling of comments.
Add missing French translation for a message from
any_comments
.
Function any_comments
to check if a script file
contains at least one non empty comment.
To reflect an interface change in roger clone
of the
base system, argument api
of roger_clone
no longer
has a default value.
nomagic_style
now omits the logical values
TRUE
and FALSE
.
section_doc
now works correctly with user
submitted regex patterns that include alternation operators.
section_doc
now requires that only spaces can
possibly follow the section title on its line. This is to avoid
false positives caused by a description that starts with the
same expression as the section title. For example, a section
"Value" that starts with "Value of...".
The nomenclature of the interface functions changes from
foo
to roger_foo
.
The set of interface functions matches the new features
introduced in version 0.99-8 of the Roger base system:
roger_grade
gains a detached_head
argument;
roger_push
gains a quiet
argument; new interface
function roger_switch
.
Interface functions gain a .debugOnly
argument to
print the command that would be sent to roger-base without
actually executing it.
nomagic_style
now allows the digit 0
in
variable names.
nomagic_style
now omits the special numerical
constants Inf
, NaN
and NA
.
The clone
interface now works correctly with multiple
additional curl arguments.
The clone
interface now correctly passes the
--machine
argument.
Required arguments are now shell quoted in interface functions.
The style and documentation linters now stop with an
informative error message when the parse data or source code in
argument is NULL
.
The any_doc
documentation linter now accepts
punctuation characters after the comment character.
The left_parenthesis_style
linter no longer requires
a space before a left parenthesis after the division and
exponent operators, and after an optional opening parenthesis.
Script options in interface functions are now path expanded on the R side.
Initial public release.
The package contains the following style linters:
assignment_style
,
comma_style
,
close_brace_style
,
close_bracket_style
,
close_parenthesis_style
,
left_parenthesis_style
,
line_length_style
,
nomagic_style
,
open_brace_style
,
open_brace_unique_style
,
open_bracket_style
,
open_parenthesis_style
,
ops_spaces_style
,
trailing_blank_style
,
trailing_whitespace_style
,
unneeded_concatenations_style
.
The available documentation linters are:
any_doc
,
signature_doc
,
section_doc
,
formals_doc
.
The package also contains interface functions to the shell
scripts of the Roger base system:
checkreq
,
clone
,
grade
,
push
,
validate
.