Commit graph

19 commits

Author SHA1 Message Date
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
James Westman
53ad4ec69d
ast: Separate validation from properties 2021-10-31 22:51:48 -05:00
James Westman
bfd9daf6a9
Reorganize the parser/AST code
The code is now organized by syntax: `menu {}` in one file, `style` in
another, etc. This should make it easier to add syntax in the future.
2021-10-31 21:42:41 -05:00
James Westman
dc7c0cabd8
Clean up AST code 2021-10-31 16:44:34 -05:00
James Westman
54237d7976
Preserve child ordering in toplevel
The order of elements sometimes matters, so don't sort children by type.
2021-10-30 22:37:06 -05:00
James Westman
c79d8dc396
Better error handling for incomplete syntax 2021-10-30 22:37:05 -05:00
James Westman
c155ba7b15
Add layouts 2021-10-30 22:37:05 -05:00
James Westman
cc3ee76dc2
Add default values to AST constructors 2021-10-30 19:20:19 -05:00
James Westman
408f3ebce5
lsp: Support completions 2021-10-30 17:49:14 -05:00
James Westman
b9068e24ab
Fix type checker errors 2021-10-26 23:13:31 -05:00
James Westman
b387d4114f
Support C class names that ignore GIR
By writing `.MyAppComponent` instead of `MyApp.Component`, the compiler
will ignore GIR validation for that class and assume it's
application-defined.
2021-10-26 22:47:54 -05:00
James Westman
55a117a5b7
lsp: Show docs on hover
Also:
- Install the script to <prefix>/bin
- Fix a bug in XmlReader that would cause "uninteresting" tags to not be
  fully ignored
- Other minor improvements
2021-10-26 10:54:32 -05:00
James Westman
8fc0efb642
lsp: Code cleanup 2021-10-26 10:54:32 -05:00
James Westman
49658c634e
Support property binding flags 2021-10-26 10:54:32 -05:00
James Westman
7cf3c0bfb1
Support menus and object properties 2021-10-26 10:54:32 -05:00
James Westman
bef92f2879
Add support for CSS styles 2021-10-23 00:59:10 -05:00
James Westman
e553e5db29
Add GObject Introspection integration
- Parse .gir files
- Validate class, property, and signal names
2021-10-22 21:14:30 -05:00
James Westman
3a4b7c6dc3
Initial commit 2021-10-17 15:26:34 -05:00