Commit graph

340 commits

Author SHA1 Message Date
Alexander Bisono
f6eacaa3d9 Add emacs major mode to 'Editor Plugins' 2022-07-08 15:45:12 +00:00
James Westman
9542f72ce2
Ci: Update coverage configuration 2022-07-08 10:30:03 -05:00
James Westman
12c9a434f1
ci: Install pygobject in CI image 2022-06-29 02:24:06 -05:00
James Westman
68610a7dba
typelib: Use GIRepository to find typelib path 2022-06-28 23:58:48 -05:00
James Westman
cfae48a65a
docs: Add notes for distro packagers 2022-06-25 00:15:20 -05:00
James Westman
c5f2e4ed4b
gir: Gracefully handle missing .gir files
They aren't required for compilation anymore, and not being able to show
documentation on hover is probably not worth crashing the language
server over.
2022-06-25 00:15:20 -05:00
James Westman
06f54c8ff8
Use typelib instead of XML
For normal compilation, use .typelib files rather than .gir XML files.
This is much faster.

Rather than using libgirepository, which would try to actually load the
libraries, we use a custom parser.

The language server will still read XML because it needs to access
documentation, which is not in the typelib, but that's generally fine
because it's a long lived process and only has to do that once.
2022-06-25 00:15:20 -05:00
James Westman
e78fae4f12
build: Set the module path in the build
Instead of trying to find the module by traversing from the executable,
have meson hardcode the path. I *think* this is a little less fragile.
2022-06-25 00:15:20 -05:00
James Westman
75475d1a45
tokenizer: Fix number parsing (again) 2022-06-25 00:08:24 -05:00
James Westman
4fefa0bd73
Add lookup expressions 2022-06-24 23:16:15 -05:00
James Westman
c094743e84
Fix compiling empty file 2022-06-17 11:12:21 -05:00
James Westman
7eb0c1ae0d
decompiler: Fix Adwaita version 2022-06-11 02:15:56 -05:00
James Westman
fac311d3c3
Update regression tests 2022-06-09 15:06:38 -05:00
James Westman
180b529650
Post-release version bump 2022-06-09 14:51:35 -05:00
James Westman
87cedc2c7e
Release v0.2.0 2022-06-09 14:50:49 -05:00
James Westman
76baf4df98
Build: Don't install anything as subproject
Fixes #63.
2022-06-09 01:00:53 -05:00
James Westman
9c5e697119
ci: Lock regression test repo to a specific commit
That way, changes to blueprint-regression-tests don't break CI for
unrelated commits (they should instead break the commit that updates
this `git checkout` line).
2022-06-09 00:07:13 -05:00
James Westman
4b7fda4f43
action widgets: Fix grammar 2022-06-08 23:55:22 -05:00
James Westman
2c58a0f51c
Fix using blueprint-compiler as a meson subproject 2022-06-08 23:54:30 -05:00
James Westman
d319cb11c1
Use the new duplicate validator for templates 2022-06-08 23:10:27 -05:00
James Westman
22edcf0c67
Remove obsolete commented-out code 2022-06-08 23:08:33 -05:00
James Westman
aca8dd794b
lsp: Set diagnostic relatedInformation 2022-06-08 23:08:15 -05:00
James Westman
d987b15374
Add references to error messages
That way, errors can reference other parts of the code, like duplicate
properties.
2022-06-08 23:08:15 -05:00
James Westman
824476bda1
Add errors for duplicate properties and blocks 2022-06-08 23:08:15 -05:00
James Westman
f18c8b7a2d
port: Lock version number
When writing the subproject file, set the tag to the current version if
known.
2022-06-08 22:25:22 -05:00
James Westman
65691dfac6
Include version number in lsp and cli
Fixes #61.
2022-06-08 22:25:22 -05:00
James Westman
6f4d458855
build: Install to datadir
Install the python module to the data directory, not the python install
directory that meson gives us. Then, in the main script, try to find the
module and add it to the path by assuming the script is installed to
(prefix)/bin. Hopefully this will fix the ModuleNotFound errors.
2022-06-07 11:52:55 -05:00
James Westman
cebd9ecadc
Remove references to gtk-blueprint-tool
It's blueprint-compiler now
2022-05-27 12:25:56 -05:00
James Westman
0b7b604371
docs: Fix typo, add link 2022-05-27 12:18:00 -05:00
James Westman
42aa91d4d9 Detect when gobject-introspection is missing
Instead of a compiler bug error, show a proper error message that asks
whether gobject-introspection is installed.

Fixes #58.
2022-05-27 16:21:18 +00:00
James Westman
f6355fe412
Docs: Add note about flatpak manifests
Fixes #60.
2022-05-27 10:53:41 -05:00
James Westman
166b77f4af
docs: Document how to set up translations 2022-05-27 10:41:28 -05:00
James Westman
06278a6424
readme: Add Matrix room link 2022-05-17 12:53:22 -05:00
Sonny Piers
db2e662d31 Add more applications built with Blueprint 2022-05-08 20:08:00 +00:00
Sonny Piers
eadbb11094 Fix sponsor link 2022-05-08 01:07:03 +00:00
James Westman
d09ee2a62b
tokenizer: Fix operator tokenization 2022-04-30 16:41:46 -05:00
James Westman
0da0c9399f
xml: Convert GirType to type name automatically
Makes some of the emit_xml code a bit simpler.
2022-04-30 16:41:45 -05:00
James Westman
4e1398f238
ci: Add coverage 2022-04-30 16:33:55 -05:00
James Westman
f479e2bac5 tokenizer: Fix number parsing 2022-04-28 23:53:05 -05:00
James Westman
99e428d93c validation: Disallow instantiating abstract classes 2022-04-28 23:35:34 -05:00
James Westman
f78478bea1 validation: Writable/construct-only properties
Add two new errors, one for non-writable properties and another for
binding construct-only properties.
2022-04-28 22:52:30 -05:00
James Westman
3b39e0d541
docs: Document how to reference a template object 2022-04-21 11:47:25 -05:00
Sonny Piers
f77550413c List known projects built with Blueprint 2022-04-19 15:13:38 +00:00
James Westman
9144ac67f0
tests: Add fuzz test 2022-04-18 20:22:31 -05:00
James Westman
4e2501c7d7
Fix number parsing 2022-04-18 20:22:29 -05:00
James Westman
e76bff9291
Fix crash in parser
The Until parse node would return True if it reached EOF, which was not
correct and could cause other parse nodes to run past the end of the
token list and crash.
2022-04-18 17:34:02 -05:00
James Westman
417f163a5a
Fix crash in flags value for unchecked classes 2022-04-18 15:42:55 -05:00
James Westman
3f8b38d219
Fix crash in action widget syntax 2022-04-18 15:35:19 -05:00
James Westman
3d4aae79c4 tests: Test unchecked classes 2022-04-08 14:56:10 -05:00
James Westman
4cf966eafa tests: Add GTK directive error tests 2022-03-28 14:38:05 -05:00