Do the default_geometry pass before injecting elements:
The reason is that the defaut_geometry pass must know if an element is in
a layout and what kind of default geometry needs to be applied depending
on its actual structure, not whatever results after we injected elements
We were relying on the default_geometry pass to set the size of elements,
but that doesn't work for elements that are not covering 100% of their
parents by default. So to that manually instead.
Fixes#915
We need to simplify all the optimized items before the move_declaration pass
This include innter item of repeater that might be used by layouts
But that also means we can now uptimize children of layouts
The README.md contains the warning that used to be in lib.rs.
Add README.md files to all internal crates
... pointing to the official public crate to use instead.
Rename internal crates
fixup: README files
fixup rename
If a callback returning voids ends in a statement that returns something,
we would have an error in the rust generated code as we end our function
with an expression that is not `()`
Step to reproduce:
```
xx := Window {
TouchArea {
clicked => {
if (true) {}
// note: because there is no else, the semantic colouring is bailing out now
}
}
TouchArea { clicked => {} }
}
```
This is caused by a bug in rowan::SyntaxToken::next_token that doesn't visit
the next token if it has an empty node
Unfortunately, the LSP has no tests, so I couldn't add one easily
Examples will be able to use the logo from their location in `../../../logo/xxx.svg`
Some other things that needs to have the logo in their directory can use symlinks.
But because of the situation of windows, we can't use symlink for things our users
need to build and this is the case for the compiler-internal (because the C++ build
use the code from the repository), so there is a copy of the 'full' logo in
internal/comoiler/widgets/common
Move "internal" crates into the `internal` directory. This first batch
includes most of sixtyfps_runtime but leaves the rendering backends
alone for now.
pre-commit applied some cleanups to the moved files:
- Consistent newline at end of file policy
- trimming trailing whitespace
- Formatting Cargo.toml files.