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
a0ba59af77
ci: Integrate coverage with GitLab CI
2021-11-04 00:19:07 -05:00
James Westman
a4b31f2cb0
Add more tests
2021-11-04 00:05:38 -05:00
James Westman
08a74acb37
ci: Generate test coverage report
2021-11-03 23:30:04 -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
d7a8a21b8e
lsp: Add signatures to hover docs
2021-10-30 22:37:06 -05:00
James Westman
b2b50c6288
Improve completions
...
If the completion cursor is in the middle of an identifier, start the
completion matching before that token. GNOME Builder does this before
sending us a cursor position, but VS Code does not.
2021-10-30 22:37:06 -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
89ff88881b
ci: Fix dependencies
2021-10-30 18:49:38 -05:00
James Westman
408f3ebce5
lsp: Support completions
2021-10-30 17:49:14 -05:00
James Westman
afecd744ca
Fix tests
2021-10-28 00:13:46 -05:00
James Westman
c576fdf211
docs: Add Setup page
2021-10-27 12:59:48 -05:00
James Westman
c443009261
Add batch-compile command
...
This makes it easier to use gtk-blueprint-tool from meson because you
only need one custom_target().
2021-10-27 12:40:10 -05:00
James Westman
69fbd07fac
fix type check
2021-10-27 12:39:40 -05:00
James Westman
c1ee4151d0
ci: Build and publish docs
2021-10-27 11:28:47 -05:00
James Westman
55e08e4f52
docs: Add examples
2021-10-27 00:31:49 -05:00
James Westman
f2f6bcc198
Run mypy in CI
2021-10-26 23:14:33 -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
8ef65196f3
Change property binding syntax
...
Use `<name>: bind <value>;` instead of `<name> := <value>;` for clarity
2021-10-26 10:54:32 -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
b00401d53f
Add issue tracker link to compiler bug message
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
75a05fe5ce
Remove an unused file
2021-10-23 00:35:24 -05:00
James Westman
8a2caaf382
tests: Add parser test
2021-10-23 00:33:21 -05:00
James Westman
15591cda45
Move tests out of main package
2021-10-22 23:35:29 -05:00
James Westman
419faf0362
Use meson instead of setup.py
...
This project will usually be used as a subproject, so it needs a meson
file, and I'd like to not support two different buildsystems.
2021-10-22 23:27:19 -05:00
James Westman
848d5d5049
Clarify licensing
...
The COPYING file contained the LGPL but README.md stated the license was
GPL. I have decided to use the LGPL, so this commit fixes README.md.
2021-10-22 22:36:58 -05:00
James Westman
b3c28ce3d4
Use "using" instead of "gtk" and "import"
...
- Having one keyword for both is less syntax to remember
- I might use "include" as a keyword in the future, which would make
"import" confusing, so use "using" instead
2021-10-22 22:31:26 -05:00
James Westman
78a9481631
lsp: Implement textDocument/didClose
2021-10-22 22:01:40 -05:00
James Westman
572db893d9
Remove @ directives
...
I liked how they made keywords stand out, but they're kinda ugly and I
think syntax highlighting will do a better job anyway.
2021-10-22 21:57:37 -05:00
James Westman
b553fc357c
Add a basic language server
2021-10-22 21:47:05 -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
2ad2f1c54a
Add CI
2021-10-18 12:46:49 -05:00