jspijker
ab86a85c77
Ignore redundant-override in the machine_* types
2023-01-10 11:02:08 +01:00
jspijker
6b810fbd6c
Allow for wildcard with printer-linter
2022-12-30 21:59:43 +01:00
Jelle Spijker
cab248c131
Use the same MAX_MESH_FILE_SIZE as the UT
2022-12-28 13:11:57 +01:00
Jelle Spijker
6109b4b9da
distinguish between (default_)value and other properties
2022-12-13 14:36:14 +01:00
jelle Spijker
8117087664
Revert "Fix multiline printer-linter PR suggestions"
...
This reverts commit 7820cc98
2022-12-13 11:30:13 +01:00
Joey de l'Arago
3f699a35f4
Merge pull request #13969 from lggomez/feat/pinter-linter_invfiles
...
printer-linter: exit on invalid definition file paths
2022-12-09 11:43:35 +01:00
Luis Gabriel Gomez
358f20a94e
printer-linter: exit on invalid definition file paths
...
This PR prevents silent failure with empty diagnostics if an invalid file path was provided
2022-12-04 19:45:25 -03:00
Luis Gabriel Gomez
651e56ca9d
Clarify linter steps for running locally
2022-12-04 19:33:48 -03:00
jspijker
7820cc9840
Fix multiline printer-linter PR suggestions
2022-12-02 10:28:42 +01:00
jspijker
6243cc11bd
Don't order the fdmprinter.def.json
...
The order in the settings in the front-end depends on it
2022-12-01 15:33:59 +01:00
Jelle Spijker
b011fc9561
Add comment referencing GH issue
...
https://github.com/platisd/clang-tidy-pr-comments/issues/37
2022-11-30 10:51:09 +01:00
jspijker
dbc0ac1180
Only suggest a fix if it is on a single line
2022-11-30 08:04:09 +01:00
jspijker
3eb98873a6
Fix diagnostic multiline
2022-11-30 07:38:05 +01:00
jspijker
c0d92e90f8
Fix extruders formatting/diagnosing
2022-11-29 17:29:44 +01:00
jspijker
8a1f94c832
Fix format-definition-paired-coordinate-array
2022-11-29 16:23:59 +01:00
Joey de l'Arago
3eb5f91fd6
align dictionary values and add comma to end of dict.
2022-11-28 09:14:42 +01:00
Joey de l'Arago
a809e5a91c
don't shadow format function.
2022-11-28 09:13:19 +01:00
Joey de l'Arago
57ec36b7fe
Fix typing
2022-11-25 14:37:22 +01:00
Joey de l'Arago
f8590be6da
Remove elif after returns
2022-11-25 14:29:33 +01:00
Joey de l'Arago
00acc3f31a
Update printer-linter/src/printerlinter/diagnostic.py
...
Co-authored-by: Jelle Spijker <j.spijker@ultimaker.com>
2022-11-25 14:29:03 +01:00
Joey de l'Arago
86ac4c4ab8
Fix regex for list/dict match last item in list without comma at end.
...
Add some custom ordering to the json. This is so that important values like "version" don't get pushed to the end of the json.
2022-11-25 14:09:12 +01:00
Joey de l'Arago
e83ed933e2
Update readme with instruction for developing.
...
Change DiagnosticGenerator -> Linter since this is much easier to understand.
2022-11-23 17:52:33 +01:00
Joey de l'Arago
8e027c4af9
Add is not None because it makes it clearer that the lamdba returns a boolean.
2022-11-23 17:21:31 +01:00
Joey de l'Arago
a7800f824a
Use formatters in terminal.py
...
Do some general refactoring for readability
2022-11-23 17:20:22 +01:00
Joey de l'Arago
b6ac85d251
Add separate package with file formatters.
2022-11-23 17:19:14 +01:00
Joey de l'Arago
ad436f37f8
Add some comments and refactoring
2022-11-23 16:48:39 +01:00
Joey de l'Arago
437b05f608
Add some doc strings
2022-11-23 15:28:57 +01:00
Joey de l'Arago
0b2e409929
Update documentation on diagnostic to be less specifically about strings. Since diagnostics can be related to other issues.
2022-11-23 15:25:13 +01:00
Joey de l'Arago
d19f1f3e42
Add typing for file and settings.
...
Add diagnostic generator documentation
2022-11-23 15:20:42 +01:00
Joey de l'Arago
f49f8b3cb8
Add some documentation to factory and format file.
2022-11-23 15:10:55 +01:00
Joey de l'Arago
c097838614
Add replacement documenation
2022-11-23 15:07:28 +01:00
Joey de l'Arago
44af869a2c
Add documentation to diagnostic and reformat file.
2022-11-23 15:02:33 +01:00
Joey de l'Arago
4f4523c4b7
Use Diagnostic Generator super for Meshes
2022-11-23 14:38:31 +01:00
Joey de l'Arago
f74a40bed0
Flatten main logic.
...
Parse files from directories to remove checking if a file is a directory in many places.
2022-11-23 14:24:09 +01:00
Joey de l'Arago
ad7e719146
Format lists and dicts of a single item onto one line
...
example:
"dict":
{
"value": 10
}
becomes
"dict": { "value": 10 }
2022-11-22 21:42:42 +01:00
Joey de l'Arago
a470f02373
Move linters into seperate module.
...
Give linters an abstract type to inherit, since they share an interface.
Add empty README
2022-11-22 19:26:50 +01:00
Joey de l'Arago
91daf89c2d
add return types
2022-11-22 14:38:41 +01:00
jspijker
187dfe1210
single-value-single-line formatting
...
Need to figure out the regex expression.
To only select overrides consisting of a
single value
2022-11-21 14:20:53 +01:00
jspijker
67688aad95
Formatted the messages
2022-11-21 13:11:52 +01:00
jspijker
0070cb7af0
flatten list
2022-11-21 10:58:28 +01:00
jspijker
4b455d45e9
Use same yaml structure as cling-tidy
2022-11-21 10:51:08 +01:00
jspijker
0c7807e0cd
Create a proper Pyhton packages for printer-linter
...
Such that it can be downloaded, installed and used locally and on other
repo's actions etc
2022-11-20 12:16:37 +01:00
jspijker
49305474ea
Added a diagnose flag
...
Allowing the user to opt-in or out of diagnosing the file
2022-11-20 10:46:21 +01:00
jspijker
cec022f330
Fix the fax value
2022-11-19 20:31:47 +01:00
jspijker
104bc585f4
Added a linting tool for Cura Printers and Profiles
...
printer-linter works of definitions, profiles and meshes;
It has various diagnostic checks. With possible suggestions for fixes.
It should also be able to fix certain diagnostic issues and it can be used
to format the files according to code-style.
It can output the diagnostics in a yaml file, which can then be used to comment
on PR's with suggestions to the author. Future PR.
The settings for the diagnostics and checks are defined in `.printer-linter`
and are very self explanatory.
```
checks:
diagnostic-mesh-file-extension: true
diagnostic-mesh-file-size: true
diagnostic-definition-redundant-override: true
fixes:
diagnostic-definition-redundant-override: true
format:
format-definition-bracket-newline: false
format-definition-paired-coordinate-array: true
format-definition-sort-keys: true
format-definition-indent: 4
format-profile-space-around-delimiters: true
format-profile-sort-keys: true
diagnostic-mesh-file-size: 1200000
```
2022-11-19 19:07:32 +01:00