Commit graph

31 commits

Author SHA1 Message Date
James Westman
0e33ce190d
Support translation contexts 2021-11-24 21:17:59 -06:00
James Westman
c4beb6841c
Fix enums with "-"/"_" in the name 2021-11-24 14:57:34 -06:00
James Westman
f2b7d3bd95
Fix uint properties 2021-11-24 14:46:49 -06:00
James Westman
aa447466c0
Add GtkComboBoxText items 2021-11-12 18:40:26 -06:00
James Westman
ebfa72d94f
Add GtkFileFilter properties 2021-11-12 09:23:25 -06:00
James Westman
b776163cd7
Add accessibility properties 2021-11-12 00:51:01 -06:00
James Westman
d511b3f1e3
lsp: Add code actions
"Did you mean" hints are automatically converted into code actions.
2021-11-11 22:59:49 -06:00
James Westman
d89f2356b4
Validate object types 2021-11-05 00:44:33 -05:00
James Westman
43d442a6df
tests: Add some error handling tests 2021-11-03 23:03:43 -05:00
James Westman
241668fb94
Report duplicate object IDs 2021-11-03 14:58:33 -05:00
James Westman
dfb09b9357
lsp: Implement semantic tokens 2021-11-01 23:55:26 -05:00
James Westman
7a65956195
Bug fix, new test 2021-11-01 22:15:49 -05: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
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