-
-
Notifications
You must be signed in to change notification settings - Fork 12
Comparing changes
Open a pull request
base repository: arduino/arduino-lint
base: c6e7e93
head repository: arduino/arduino-lint
compare: ff3b56a
- 7 commits
- 24 files changed
- 1 contributor
Commits on Aug 26, 2021
-
Add and expand rule descriptions
The `Description` field of the rule configuration was previously only used to add supplemental information to the verbose tool output. In this usage, it did not need to stand on its own as a complete documentation of the rule, and also was not a high priority since the verbose output is likely not as frequently used. A new requirement for the rule configuration data has emerged from the project to publish a list of rules. The `MessageTemplate` data is not suitable for use in this application due to being written for use in indicating a problem that was found, rather than a documentation of the rule. The new requirement is compatible with the existing use of the `Description` field, so it is not necessary to add a new field. However, the existing content of the `Description field is mostly not inadequate, so it must be expanded. This content is now written in Markdown. Its existing use is limited to the JSON format output. Since the Markdown syntax is very lightweight and intuitive, and any reader of the JSON format output will already have been presented with plenty of syntax, I don't think the change has a harmful effect on that output.
Configuration menu - View commit details
-
Copy full SHA for d126e70 - Browse repository at this point
Copy the full SHA d126e70View commit details -
Add test for empty required rule configuration fields
The tool output and rules list assume that the text in the required rule configuration fields is present. In cases where it is left empty, this assumption might result in strange or misformatted output. At the moment they are all populated, so that assumption is fine. In the event the test catches an empty field, it can either be fixed or the code changed to not rely on that field being populated.
Configuration menu - View commit details
-
Copy full SHA for 8aca928 - Browse repository at this point
Copy the full SHA 8aca928View commit details -
Publish generated list of rules on documentation website
This will provide a convenient reference for information about the rules Arduino Lint applies to projects. - More verbose description of the rule than would be appropriate for the command line output. - Link to the reference information that will allow the reader to fully understand the cause of the rule violation and how to fix it. - Table showing the rule violation level (i.e., error/warning/disabled) vs. common tool configuration. I added a bespoke "Rules > Introduction" page to give some general information about the rule system. , but the "Sketch", "Library", "Platform", and "Package index" pages are all auto-generated from the Arduino Lint source code and will be automatically updated any time rules are added or modified without any additional effort. The rule documentation content is generated by the "ruledocsgen" Go program, which is a separate module, located in its own subfolder of the repository, similar to the standardized "docsgen" program that generates the command line reference.
Configuration menu - View commit details
-
Copy full SHA for 13d8760 - Browse repository at this point
Copy the full SHA 13d8760View commit details -
Use different syntax style for arbitrary array elements in rule descr…
…iptions Some of the rules must refer to data paths in configuration files such as the package index. In the case of arrays, it is necessary to indicate that the reference applies to an arbitrary element. Prefiously, the `[]` syntax was used for this purpose (e.g., `packages[].tools[]`). It is now changed to using `[*]` (e.g., `packages[*].tools[*]`).
Configuration menu - View commit details
-
Copy full SHA for 5fc2ed4 - Browse repository at this point
Copy the full SHA 5fc2ed4View commit details -
Escape Markdown markup in rule reference Brief text
The primary purpose of text of the rule configuration's `Description` field is for display in the rule reference section of the documentation website. For this reason, it is written in Markdown, and thus can be output as is. The situation is different with the rule configuration's `Brief` field, since it is displayed prominently in the tool output. For this reason, the use of Markdown would not be appropriate. This text may contain incidental markup characters that would result in unwanted formatting and thus the `Brief` field text must be escaped for display on the website.
Configuration menu - View commit details
-
Copy full SHA for f62a372 - Browse repository at this point
Copy the full SHA f62a372View commit details -
Refer to the platform "extra_flags" properties in a less confusing ma…
…nner There is a convention of configuring Arduino boards platforms to provide a user interface for configuring the build process through the addition of references and fallback empty definitions of a series of properties that follow the format of `compiler.<pattern type>.extra_flags`, where "<pattern type>" corresponds to the compilation pattern that references them: - `c` - `cpp` - `S` - `ar` - `c.elf` Previously, `x` was used as a placeholder for the component of the property name that varies in order to allow a single rule to refer to the entire set. "<pattern type>" is a little bit more clear than "x".
Configuration menu - View commit details
-
Copy full SHA for fbda05e - Browse repository at this point
Copy the full SHA fbda05eView commit details -
Use a different term when referring to additional data properties in …
…rule messages Feedback was provided that the previous "additional" term was not very clear. "Unrecognized" was determined to be better.
Configuration menu - View commit details
-
Copy full SHA for ff3b56a - Browse repository at this point
Copy the full SHA ff3b56aView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff c6e7e93...ff3b56a