Commit graph

13 commits

Author SHA1 Message Date
gregorni
3730e2e726 Add isort to CI and run on files 2023-07-09 14:26:37 +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
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
Sonny Piers
40f493b378 cli: Print compile errors to stderr 2023-01-05 12:30:26 +01:00
James Westman
8fee46ec68
Format using black 2022-12-19 11:52:59 -06:00
James Westman
a24f16109f
Separate output into its own module 2022-10-15 19:40:47 -05:00
James Westman
b3783b9c6a
lsp: Log to stderr rather than a file 2022-10-15 11:26:18 -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
65691dfac6
Include version number in lsp and cli
Fixes #61.
2022-06-08 22:25:22 -05:00
James Westman
9873a2072b Add warning for sync-create 2022-02-09 15:39:02 -06:00
James Westman
8e4433a487
Create an interactive porting tool
`blueprint-compiler port` interactively ports a project to blueprint.
It will create the subproject wrap file, add it to .gitignore, decompile
your GtkBuilder XML files, emit code to copy and paste into your
meson.build file, and update POTFILES.in.

It can't quite handle all of the features the forward compiler can, so
it will skip those files.
2021-12-01 23:38:28 -06:00
James Westman
544d152fb6
Rename to blueprint-compiler
This isn't an official GTK project so better to avoid using "GTK" in the
name.
2021-12-01 15:35:58 -06:00
Renamed from gtkblueprinttool/main.py (Browse further)