Commit graph

248 commits

Author SHA1 Message Date
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
James Westman
86b07ef0ae
Fix new mypy errors 2022-11-26 16:22:34 -06:00
James Westman
bc15ac9efb
docs: Add warning that blueprint is experimental 2022-11-02 10:44:20 -05:00
Sonny Piers
8efc290e47 doc: Mention history and Workbench 2022-11-02 15:43:41 +00:00
James Westman
0b8012b8e1
Support Python 3.9
Remove the '|' syntax for type unions, since it's a 3.10 feature, and
set mypy to check with version 3.9.
2022-10-27 13:16:18 -05:00
FeRD (Frank Dana)
d6c6a66c15 port: Fix directory recursion 2022-10-18 20:49:16 +00:00
James Westman
a8a209550b
typelib: Fix big-endian architectures 2022-10-18 15:04:55 -05:00
James Westman
a24f16109f
Separate output into its own module 2022-10-15 19:40:47 -05:00
James Westman
8cf793023d
Fix crash in language server 2022-10-15 11:47:42 -05:00
James Westman
b3783b9c6a
lsp: Log to stderr rather than a file 2022-10-15 11:26:18 -05:00
James Westman
447785ec8c language: Remove inline menus
Inline menus didn't work anyway--menus have to be referenced by ID
(though, curiously, you *can* put the <menu> within the <property> tag
and immediately reference it--but that's a hack, and not what
blueprint-compiler was doing).
2022-10-14 22:12:56 -05:00
William Roy
f1c3413dc1 Escape backlash on Windows 2022-10-07 18:02:39 +00:00
James Westman
c0c40b1577
language: Support boxed types and GType
- Add support for type checking boxed types
- Remove support for converting string and number literals
- Add the `typeof()` operator for GType literals
2022-10-06 13:03:33 -05:00
James Westman
ee2b9b2950 Update MAINTENANCE.md 2022-10-06 04:13:38 +00:00
James Westman
15496353de
ci: Update regression tests 2022-10-04 16:12:31 -05:00
Sonny Piers
302903b89c doc: Add documentation to contribute 2022-10-04 03:45:59 +02:00
Sonny Piers
82980a466b doc: Add documentation for Gtk.Label attributes 2022-10-04 03:45:54 +02:00
James Westman
12c1c7b8d6
docs: Fix build setting
The docs need to be set to build_always_stale so you don't need to
delete the directory to rebuild them. This also means we want to disable
build_by_default.
2022-10-03 20:27:07 -05:00
Sonny Piers
c998655af6 doc: Add more apps built with Blueprint 2022-10-04 01:26:38 +00:00
James Westman
6ad1433587
Post-release version bump 2022-09-04 16:54:21 -05:00
James Westman
75a6d95988
Release v0.4.0 2022-09-04 14:04:03 -05:00
James Westman
ad71324ccb
Add MAINTENANCE.md 2022-09-04 14:02:05 -05:00
Alan Beveridge
59283a76ad Update docs/index.rst 2022-08-09 15:41:09 +00:00