Commit graph

4 commits

Author SHA1 Message Date
James Westman
bbad6988fa
language: Fix some issues with menus
Blueprint's handling of menus didn't line up with how GtkBuilder handles
them. The root <menu> element must have an ID and may not have
attributes, and menus may not be used inline in a property.
2022-03-13 00:00:07 -06:00
James Westman
8e4433a487
Create an interactive porting tool
`blueprint-compiler port` interactively ports a project to blueprint.
It will create the subproject wrap file, add it to .gitignore, decompile
your GtkBuilder XML files, emit code to copy and paste into your
meson.build file, and update POTFILES.in.

It can't quite handle all of the features the forward compiler can, so
it will skip those files.
2021-12-01 23:38:28 -06:00
James Westman
80b5698533
Improve value parsing
Parse values as different AST nodes rather than just strings. This
allows for better validation and will eventually make expressions
possible.
2021-11-01 21:51:25 -05:00
James Westman
5f0eef5f2e
Add compilation tests
Added a set of test inputs and expected outputs, for regression testing.
2021-10-31 23:36:20 -05:00