Commit graph

449 commits

Author SHA1 Message Date
James Westman
83d11ccb8c tests: Auto-discover test files 2023-05-13 20:16:58 -05:00
James Westman
9346ee039e ci: Fuzzer is no longer allowed to fail 2023-05-13 19:57:45 -05:00
James Westman
60f9173421 Add type to BuilderListItemFactory extension
Makes it a little clearer how it works.
2023-05-13 16:49:48 -05:00
James Westman
7008924afe docs: Document the new template type syntax 2023-05-13 16:49:48 -05:00
James Westman
04509e4b2e Change template syntax
Templates now use a TypeName instead of an identifier, which makes it
clearer that it's an extern symbol (or that it's a Gtk.ListItem).
2023-05-13 16:49:48 -05:00
James Westman
aebf8be278 Fix a bug found by the fuzzer 2023-05-13 14:56:38 -05:00
James Westman
26072500c8 Fix Gio.File properties 2023-05-11 13:18:24 -05:00
James Westman
43fbf8cf8e Add warning for confusing object IDs 2023-05-08 15:23:46 +00:00
James Westman
77dc9350e9 docs: Fix some warnings 2023-05-08 15:20:20 +00:00
James Westman
8fcd08c835 Add Adw.Breakpoint custom syntax 2023-05-08 10:11:40 -05:00
James Westman
aafebf0dfb ci: Use libadwaita from git 2023-05-06 21:38:16 -05:00
Sonny Piers
fc0358ef01 cli: Ignore hidden folders in interactive port
Resolves #112 and resolves #57
2023-05-07 03:01:25 +02:00
James Westman
d4c2bb34eb Remove trailing commas in Translated 2023-05-06 15:30:18 -05:00
James Westman
b08a0c0665 Remove .vscode 2023-05-06 15:30:18 -05:00
James Westman
5b50090b65 Minor code cleanup 2023-05-06 15:30:18 -05:00
James Westman
4d62df0068 docs: Remove the examples page
It has been replaced with the new syntax reference, and it was out of
date anyway.
2023-05-06 15:30:18 -05:00
James Westman
a9f6bf8d89 Remove unused imports and code 2023-05-06 15:30:18 -05:00
James Westman
10806bce1e language: Rename extension classes
Rename extension classes to match the syntax reference.
2023-05-06 15:30:18 -05:00
James Westman
9e82a2fb2a language: Rename expression classes
Rename the expression classes to match the documentation.
2023-05-06 15:30:18 -05:00
James Westman
ef39b5d7db docs: Add syntax specification
Formally document the language syntax and provide examples and detailed
descriptions of how things work.
2023-05-06 15:30:18 -05:00
James Westman
3c1941a17e Simplify Translated
Remove the TranslatedWithContext and TranslatedWithoutContext rules and
just use Translated.
2023-04-29 21:57:33 -05:00
James Westman
779e27d7ac menus: Simplify grammar a bit
Again no syntax changes, just refactoring the rules.
2023-04-29 21:52:20 -05:00
James Westman
71f52d350a Refactor child types
Didn't change the actual syntax, but changed the rules around to be less
confusing.
2023-04-29 21:52:20 -05:00
James Westman
9dcd06de51 Make builder template factories use a subscope 2023-04-28 20:49:22 -05:00
James Westman
a2eaaa26fe Rename property to avoid conflict
TranslatedWithContext.context conflicted with AstNode.context
2023-04-28 20:49:22 -05:00
James Westman
ec844b10ca Add ScopeCtx instead of root.objects_by_id
This allows us to introduce new scopes, such as in
GtkBuilderListItemFactory templates.
2023-04-28 20:49:22 -05:00
James Westman
ff5fff7f4b Fix crash 2023-04-13 17:43:44 -05:00
James Westman
dd3c75d2c7 Update menu syntax
Sections and submenus can have IDs. Also, change the code to better
reflect the documented grammar.
2023-04-12 21:44:07 -05:00
James Westman
75055ac967 Move bindings out of the Value syntax
They're only valid in properties, so they should just be there. Same
with object values.
2023-04-12 21:44:07 -05:00
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