gregorni
c5fa33363f
formatter: Handle Inline comments
2023-12-13 02:12:50 +00:00
James Westman
80aaee374d
formatter: Tweak whitespace in special cases
2023-11-04 16:54:03 -05:00
Gregor Niehl
703e2626dd
Formatter: Close empty objects on same line
2023-11-04 13:49:56 +00:00
Gregor Niehl
4fa64cdf33
Add a formatter
2023-11-03 06:49:22 -05:00
James Westman
2faa9207de
tokenizer: Allow escaped newlines
...
The docs said multi-line strings were possible by escaping the newline
character, but this was not actually implemented.
Fixes #132 .
2023-10-26 18:50:07 -05:00
James Westman
7c072c0a32
tests: Use assertEqual instead of custom diff code
2023-09-28 17:59:23 -05:00
James Westman
3d5a5521aa
decompiler: Use single quotes
2023-09-28 17:18:45 -05:00
James Westman
ea92838cf3
Parse escape sequences instead of using replace
...
That way we can warn about invalid sequences. Also, the previous code had at least one subtle bug (`\\\\'`).
2023-09-28 17:18:45 -05:00
Urtsi Santsi
cc66b05a87
Add generated notice to test files
2023-09-17 02:25:39 +03:00
z00000000z
bcac788456
completions: property_completer improvements
2023-08-23 16:21:37 +00:00
James Westman
3bcc9f4cbd
Use the new Range class in more places
2023-07-25 20:01:41 -05:00
James Westman
e087aeb44f
lsp: Add document outline
2023-07-25 17:59:52 -05:00
James Westman
950b141d26
lsp: Mark deprecation warnings
...
Some editors use different styling (e.g. strikethrough) for deprecation
warnings.
2023-07-23 18:17:48 -05:00
James Westman
94db929f74
Emit deprecation warnings
2023-07-23 18:09:29 -05:00
James Westman
883a136103
Fix parsing decimals
...
A number literal is a float if it contains ".", not if it is divisible
by 1. For example, 1.0 should be considered a float literal.
2023-07-20 19:25:25 -05:00
James Westman
0a4b5d07a1
Remove PropertyBinding rule, just use Binding
2023-07-20 18:46:45 -05:00
gregorni
3730e2e726
Add isort to CI and run on files
2023-07-09 14:26:37 +00:00
James Westman
6ac798ea6f
More errors for duplicates
2023-05-17 10:41:45 -05:00
James Westman
64da41b268
ExtAdwMessageDialog: Duplicate flag errors
2023-05-17 09:58:51 -05:00
James Westman
3ebe5c72c1
Fix templates in bind-property
2023-05-16 17:42:53 -05:00
James Westman
b5eca8b0b3
tests: Add another template test
2023-05-16 17:37:52 -05:00
James Westman
e4bad039b0
Fix simple bindings with template soure
2023-05-16 17:14:34 -05:00
James Westman
46e467bbfb
Fix 'template' keyword in list item factories
2023-05-13 20:24:31 -05:00
James Westman
5a782c653b
Add Gtk.Scale mark syntax
2023-05-13 20:19:29 -05:00
James Westman
83d11ccb8c
tests: Auto-discover test files
2023-05-13 20:16:58 -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
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
8fcd08c835
Add Adw.Breakpoint custom syntax
2023-05-08 10:11:40 -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
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
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
88f5b4f1c7
Fix template types
2023-04-08 20:10:16 -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
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
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
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
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
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
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
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