Commit graph

25 commits

Author SHA1 Message Date
jgcodes2020
be667a2b9c implement variant parsing 2024-12-24 08:50:37 -05:00
jgcodes2020
a75adc7d1b add variant support for menus 2024-12-14 14:00:09 -05:00
James Westman
e19975e1f8
lsp: Add reference documentation on hover
For most constructs and keywords, show the relevant section of the
reference documentation on hover.
2024-10-20 21:10:14 -05: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
6522421251 Fix formatting 2024-02-01 19:38:19 -06:00
z00000000z
bcac788456 completions: property_completer improvements 2023-08-23 16:21:37 +00:00
James Westman
e087aeb44f lsp: Add document outline 2023-07-25 17:59:52 -05:00
James Westman
cb1eb9ba44 lsp: Show better info on IdentLiteral hover
Instead of showing the documentation for the expected type, show the
signature of the referenced object.
2023-07-16 16:52:51 -05:00
James Westman
6ac798ea6f
More errors for duplicates 2023-05-17 10:41:45 -05:00
James Westman
43fbf8cf8e Add warning for confusing object IDs 2023-05-08 15:23:46 +00:00
James Westman
a9f6bf8d89 Remove unused imports and code 2023-05-06 15:30:18 -05:00
James Westman
779e27d7ac menus: Simplify grammar a bit
Again no syntax changes, just refactoring the rules.
2023-04-29 21:52:20 -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
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
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
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
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
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
James Westman
99e428d93c validation: Disallow instantiating abstract classes 2022-04-28 23:35:34 -05:00
James Westman
4b42016837 Fix bug with inline menus
Fixes #44
2022-02-21 14:12:56 -06:00
James Westman
1150ae1a09 reorganization: Move decompilers 2022-01-26 22:55:27 -06:00
James Westman
ee5f32622f reorganization: Finish moving parsing and AST 2022-01-26 22:37:51 -06:00
James Westman
34f525beaa reorganization: Rename extensions -> language
I want all language elements to be defined in the same folder, rather
than having the "core" language split by parsing/AST/completions and the rest
split by language element.
2022-01-26 14:10:39 -06:00
Renamed from blueprintcompiler/extensions/gtk_menu.py (Browse further)