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
```
This requires a separate action to be run per OS, as there is no real way to have conditional lists within YML. The idea is that the installer can be build per OS (and also, another intent of this change is to make it so that people don't have to wait for all artifacts to be ready to download a single one).
part of CURA-9880
For some displays/screen resolutions the cut is expended beyond the borders of the window. By making the component more responsive this should be fixed.
CURA-9894
Exclusion happens _before_ additional includes unfortunaltely, so the matrix is back to being a plain list if OS's. This also means that, if we don't want to build each OS x OS_id, we have to put that information somewhere else. OS_id didn't really belong in the matrix anyway, since it's a derivative value. It's now replaced with a named environment variable.
The way to exclude and select the 'name' used in the filename for each OS seems a little cumbersome, but I didn't find any better way so far.
(should) implement the 'easy', 'lite' version of CURA-9880
A block of code is run after dialog.show() and most of the dialog assignment. This is because dialog.show() resets the _result dictionary, we want to update the values in _result afterwards.
CURA-9424