I found `mise` a tool to help manage development projects.
https://mise.jdx.dev/
It basically can manage ENV vars based on the directory you are in,
manages tools you need (and makes thoser available based on the
directory you are in), and allows to define simple tasks that can
then be shared between developers.
Tools can be found in npm, pipx, aqua, binaries on github, ...
and it tries to verify signatures and all that (if supported by the
repo the data comes from).
I replaces the entire autofix workflow with mise tooling and tasks,
just to give it a try :-)
To reproduce:
```sh
> cargo install mise # to get the tool itself
# Follow the necessary step
# https://mise.jdx.dev/installing-mise.html#shells
# to intergate into your shell
> cd /your/slint/folder
# Mise will now ask whether or not to trust this dir and prints the
# command needed to do so. Run that.
> mise install # Install all the tools defined in .mise/config.toml
# Add a .mise.local.toml with local overrides. Git will ignore this file.
# Or add tasks into .mise/tasks/local ... Git will also ignore those.
> mise run 'ci:autofix:**:all' # To run all the ci:autofix tasks.
```
It is so much fatser to see these checks fail locally than it is to
bother CI with them :-)
Add two new float to string conversion methods that mimic
JavaScript's Number.toFixed() and Number.toPrecision().
They are implemented as no_mangle functions similar to the already
existing float to shared string conversion.
Closes#5822
This changes the default if the user has selected
`CONFIG_BSP_LCD_COLOR_FORMAT_RGB888` in their sdkconfig,
(which will result in build error if the buffer were passed as
Rgb565Pixel, or in garbage of the screen if the screen was configured
programatically to use rgb565 without calling `bsp_display_new` which is
unlikely if they set CONFIG_BSP_LCD_COLOR_FORMAT_RGB888)
Skia doesn't compile on windows x86 in the CI due the long paths that
exceed the 255 limit. Somehow the workaround that works for x64 doesn't
work here. Since this is the only windows x86 binary we produce
(not for lsp, vsce, python, cpp), I choose the easier way out and
remove the package.
We decided that the compatibility with people having enabled the extra
format in image 0.24 [1] is not worth it compared to the extra compilation
time most people gets by default when they don't need this feature.
(Which is less than 10% slower when the feature is enabled)
Since then there is no need for compat-1-10, remove it
[1] by depending directly on image 0.24 in their Cargo.toml and enabling
the features, which will not work with Slint 1.10 that now use image 0.25
Enable the SDF feature by default in our compiler binaries
(Still disabled by default for other users because it takes up compile
time for something they probably don't need)