We've changed the unnamed field of `KclError` variants to a named called `details`.
To clarify: previously KCL errors looked like this:
```rust
pub enum KclError {
Lexical(KclErrorDetails),
Syntax(KclErrorDetails),
```
Now they look like this:
```rust
pub enum KclError {
Lexical { details: KclErrorDetails },
Syntax { details: KclErrorDetails },
}
```
This lets us more easily add fields to the errors. For example, in the UndefinedValue case, adding a field for what the undefined name was. This PR refactors the code to make my PR in https://github.com/KittyCAD/modeling-app/pull/7309 much easier.
Pure refactor, should not change any behaviour.
Make sure your working directory is this directory.
Bump the versions of the crates:
just bump-kcl-crate-versions
Commit the changes:
git add .
git commit -m "Bump versions"
Push the changes and get your PR approved.
Publish the crates:
just publish-kcl {version}
This will publish the relevant crates and push a new tag with the prefix
kcl-. DO NOT SET THE PREFIX TO kcl- when you run the command. The just
command will do that for you.
The tag will then trigger the release of kcl-python-bindings and
kcl-language-server.