James Westman
ac2a7d9282
Add StringValue
...
Makes the grammar more specific in a few places that take only a string
literal or translated string.
2023-04-12 21:44:07 -05:00
James Westman
5bfed72674
Update regression tests
2023-04-12 21:24:18 -05:00
James Westman
02796fd830
Use <> instead of () for casts & typeof
...
This makes it clearer that they aren't functions, and it eliminates
syntactic ambiguity with closure expressions.
2023-04-10 09:39:34 -05:00
James Westman
d6bd282e58
errors: Report version in compiler bug message
2023-04-09 16:51:14 -05:00
James Westman
88f5b4f1c7
Fix template types
2023-04-08 20:10:16 -05:00
James Westman
64879491a1
Fix mypy error
2023-04-07 20:35:14 -05:00
Cameron Dehning
a2fb86bc31
Builder list factory
2023-04-08 01:34:47 +00:00
James Westman
0cf9a8e4fc
Add Adw.MessageDialog responses extension
2023-03-28 12:43:53 -05:00
James Westman
749ee03e86
Fix misleading error message for missing semicolon
...
Fixes #105 .
2023-03-28 10:10:37 -05:00
Cameron Dehning
7e20983b44
Lsp hotfix
2023-03-24 16:27:22 +00:00
James Westman
bc605c5df8
Reduce errors when a namespace is not found
...
When the typelib for a namespace is not found, don't emit "namespace not
imported" errors. Just emit the one error on the import statement.
2023-03-21 11:31:02 -05:00
James Westman
402677f687
performance: Cache some properties
2023-03-20 13:34:17 -05:00
James Westman
3f27e92eb0
Remove unnecessary list() call
2023-03-20 13:27:21 -05:00
Sonny Piers
6f4806bfb3
lsp: Add compile an decompile commands
2023-03-19 22:14:42 +00:00
James Westman
8c3c43a34a
Add --typelib-path command line argument
...
Allows adding directories to search for typelib files.
2023-03-16 18:21:56 -05:00
James Westman
90001bd885
Fix mypy errors & other bugs
2023-03-12 21:49:36 -05:00
James Westman
98ba7d467a
Improve expression type checking
2023-03-12 16:12:16 -05:00
James Westman
b636d9ed71
Fix bugs in number literals
2023-03-12 14:58:35 -05:00
James Westman
fad3b35531
types: Remove g* type names
...
They aren't used in GIR parsing anymore since we use typelibs, and
blueprint files should use the non-prefixed names.
2023-03-11 21:37:26 -06:00
James Westman
0f5f08ade9
Fix flag syntax
...
Unlike commas, no trailing "|" is allowed.
2023-03-11 21:24:52 -06:00
James Westman
8874cf60b3
parse_tree: Remove Pratt parser
...
It isn't actually needed; the way we parse expressions as a prefix
followed by zero or more suffixes is enough.
2023-03-11 21:05:27 -06:00
James Westman
9fcb63a013
typelib: Fix crash when handling array types
2023-02-16 20:43:17 -06:00
James Westman
1df46b5a06
Change the way values work
...
Change the parsing for values to make them more reusable, in particular
for when I implement extensions.
2023-01-12 15:49:19 -06:00
James Westman
6938267952
Add properties to AST types
...
I want to have a cleaner API that relies less on the specifics of the
grammar and parser.
2023-01-12 15:49:19 -06:00
James Westman
0b7dbaf90d
Add some type hints
2023-01-12 15:49:19 -06:00
James Westman
b6ee649458
Simplify error & warning handling
2023-01-12 15:49:19 -06:00
James Westman
122b049ce9
language: Use new extern syntax in signal handlers
2023-01-12 15:49:19 -06:00
James Westman
0b402db4d5
language: Change extern type syntax
...
Use a '$' instead of a '.' to indicate a type provided in application
code.
The reason for the change is to have a consistent "extern" symbol that
isn't widely used elsewhere and isn't ambiguous in expressions.
2023-01-12 15:49:19 -06:00
James Westman
be284de879
parse_tree: Fix Warning node
2023-01-12 15:49:18 -06:00
James Westman
7ef314ff94
Fix diagnostic location reporting
...
Text positions at the beginning of a line were being shown on the
previous line.
2023-01-12 15:49:15 -06:00
Sonny Piers
40f493b378
cli: Print compile errors to stderr
2023-01-05 12:30:26 +01:00
James Westman
59aa054c4c
language: Add closure expressions
2022-12-25 14:04:41 -06:00
James Westman
5cf9b63547
language: Add cast expressions
2022-12-25 14:04:40 -06:00
James Westman
2033bd9e16
types: Add UncheckedType
...
This allows us to remember information about an external type, such as
its name, while still marking it as unchecked.
2022-12-25 14:04:36 -06:00
Sonny Piers
f7aa7d0be2
lsp: Support change events with no range
...
range is optional
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocumentContentChangeEvent
2022-12-25 18:09:57 +01:00
James Westman
039d88ab45
Fix CI
2022-12-19 15:41:29 -06:00
James Westman
6c67e1fc5a
xml: Fix flags and enums
...
GtkBuilder XML uses enum nicknames, full names, or integer values, but
we accept GIR names, so passing those through doesn't work if the name
has an underscore (which traditionally turns into a dash in the
nickname). Avoid the problem by always writing the integer value of the
enum member.
2022-12-19 15:15:25 -06:00
James Westman
51d8969ced
Fix menus
...
- Menus require an ID
- The top level menu block can't have attributes
2022-12-19 15:15:25 -06:00
James Westman
8a1dba662a
ci: Run tests with G_DEBUG=fatal-warnings
2022-12-19 15:15:24 -06:00
James Westman
8758bac40a
tests: Test XML outputs
...
Load the outputs of the tests in Gtk.Builder and make sure they work.
Some of them don't and need to be fixed. Others will require a bit more
work to set up callbacks, templates, etc.
2022-12-19 13:53:52 -06:00
James Westman
219891584c
ci: Fix Dockerfile
2022-12-19 12:22:37 -06:00
James Westman
83a7503e3a
ci: Check formatting
2022-12-19 12:06:48 -06:00
James Westman
8fee46ec68
Format using black
2022-12-19 11:52:59 -06:00
James Westman
6a36d92380
ci: Update regression tests
2022-11-29 11:17:36 -06:00
James Westman
00a31d87bb
Post-release version bump
2022-11-26 17:20:04 -06:00
James Westman
9adcab2d22
Release v0.6.0
2022-11-26 17:14:49 -06:00
James Westman
97f0feaf7e
Update MAINTENANCE.md
2022-11-26 17:14:12 -06:00
James Westman
b915c227f8
Fix type declaration
2022-11-26 17:10:53 -06:00
James Westman
d8f1b41ef0
docs: Document the new typeof() operator
2022-11-26 16:44:43 -06:00
James Westman
46a06bb7b6
docs: Fix version in flatpak docs
2022-11-26 16:25:22 -06:00