kotontrion
c1fbcef6d0
Merge branch blueprint-compiler:main into main
2025-03-02 15:26:42 +00:00
James Westman
aa13c8f5af
Warn about single-quoted translated strings
...
gettext only recognizes double quoted strings
2025-01-05 14:27:59 -06:00
Alexey Yerin
29e4a56bfc
Formatter: Remove trailing whitespace from comments
...
Fixes #153
2025-01-04 17:17:53 +00:00
James Westman
8c6f8760f7
language: Add expression literals
...
Add expression literals, so you can set properties of type
Gtk.Expression.
2025-01-04 17:09:57 +00:00
Alexey Yerin
b9f58aeab5
Formatter: Add trailing commas in lists
2025-01-04 16:29:15 +00:00
James Westman
55e5095fba
values: Don't allow translated strings in arrays
...
Gtk.Builder has no way to translate individual strings in a string
array, so don't allow it in the syntax.
2025-01-03 18:56:24 -06:00
James Westman
d6f4b88d35
lsp: Fix crash on incomplete detailed signal
2024-12-25 10:31:35 -06:00
James Westman
a6d57cebec
language: Add not-swapped flag for signals
...
This is needed because GtkBuilder defaults to swapped when you specify
the object attribute.
2024-12-23 02:46:52 +00:00
James Westman
9b9fab832b
Add tests, remove unused code, fix bugs
...
- Added tests for more error messages
- Test the "go to reference" feature at every character index of every
test case
- Delete unused code and imports
- Fix some bugs I found along the way
2024-12-22 18:00:39 -06:00
kotontrion
e07da3c339
flags: use nick instead of name
2024-12-18 17:46:26 +00:00
kotontrion
f48b840cfa
compile: fix flag values
...
gtk builder does not support combining interger values with | in flags
properties, so the short names are used instead.
2024-12-18 17:46:26 +00:00
James Westman
6acf0fe5a0
tests: Test deprecations separately
...
Libraries can add new deprecations, or the environment you're running
the tests in might have old libraries where the things we test aren't
deprecated yet. Move the deprecations test into its own module with its
own code, so it can check library versions and skip the test if it won't
work.
2024-12-09 19:06:10 -06:00
James Westman
3bf8fc151a
tests: Ignore deprecation warnings
...
Ignore deprecation warnings in the error handling tests, except in the
test specifically for deprecations. This prevents them from breaking if
libraries introduce new deprecations.
Fixes #178 .
2024-11-03 14:40:36 -06:00
James Westman
3b6dcf072d
typelib: Fix field offsets for attributes
...
This fixes a bug where the decompiler could not recognize enums by their
C identifiers because it could not correctly read attributes.
Fixes #177 .
2024-10-19 10:21:13 -05:00
James Westman
65d4612b51
decompiler: Support action widgets
2024-08-24 13:24:27 -05:00
James Westman
21d5ce86e9
decompiler: Support sub-templates
...
Support GtkBuilderListItemFactory syntax by decompiling the nested XML,
rather than preserving it as a string literal.
2024-08-24 13:04:21 -05:00
James Westman
25d9826aea
decompiler: Fix translator comments in properties
2024-08-24 12:40:04 -05:00
James Westman
a12ac1b976
decompiler: Support Adw.Breakpoint syntax
...
Also, improve handling of translated strings.
2024-08-24 12:29:14 -05:00
James Westman
4d3dc92448
decompiler: Support list accessibility properties
2024-08-23 18:16:02 -05:00
Julian Schmidhuber
3dfce3bbe0
Allow for multiple a11y properties
2024-08-18 13:17:41 +02:00
James Westman
c1a82a034b
decompiler: Add more decompilable tags
...
Add more tags to the list of things the decompiler can handle. This
required some changes to track the containing object class in the
DecompileCtx, since some objects use the same tag names.
The improved support means we can test the decompiler on most of the
test suite. Any new test samples will by default be tested to ensure the
decompiler produces the original blueprint file.
Also, updated the decompiler to always use double quotes.
2024-07-26 23:05:37 -05:00
James Westman
d0659a43c2
Add test for recent bugfix
2024-07-22 20:38:58 -05:00
Sonny Piers
adc2be1454
Support template without parent
2024-07-04 22:14:16 +00:00
Diego Augusto
da5b9909fc
Support array type
2024-07-04 22:02:51 +00:00
Marco Capypara Köpcke
f1cf70b6eb
xgettext compatibility: Output 'yes' for translatable
2024-07-04 22:29:16 +02:00
Benoit Pierre
85630bc975
tests: fix tests when used as subproject
...
`meson.source_root()` will return the source root of the parent
project, not the current project when it's used as subproject.
2024-07-04 20:10:43 +00:00
Sonny Piers
e44494e6e2
decompiler: Use bind instead of bind-property
2024-06-29 13:32:34 +00:00
Gregor Niehl
25d08e56cb
signals: Support after
keyword
2024-05-30 22:34:05 +00:00
James Westman
07e824d8e7
lang: Also allow Gtk.ListHeader in factory template
2024-05-04 12:27:12 -05:00
James Westman
c502dee36b
output: Don't add @generated notice to subtemplates
...
There's already a notice at the top of the file, it doesn't need to be
in subtemplates.
Fixes #158 .
2024-05-02 20:19:00 -05:00
James Westman
988e69ab25
lang: Allow ColumnView widgets to be built
...
Allow BuilderListItemFactory to contain Gtk.ColumnViewRow or
Gtk.ColumnViewCell templates, in addition to Gtk.ListItem templates.
This is necessary for people to use Gtk.ColumnView idiomatically in
Blueprint.
Fixes #157 .
2024-05-02 20:19:00 -05:00
James Westman
6a078ee075
Add warning for unused imports
2024-04-06 14:33:20 -05:00
Sonny Piers
ba8b492134
Add support for Adw.AlertDialog
2024-02-02 11:03:16 +01:00
Gregor Niehl
b79c78bb74
tests: Update to reflect current foramtting style
2023-12-29 02:30:13 +00:00
gregorni
e5cde71fc1
Tiny formatter improvements
2023-12-19 02:29:09 +00:00
James Westman
e261180dcc
language: Add translation-domain
...
This allows you to set the translation domain of a blueprint file.
2023-12-13 23:43:29 +00:00
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