jgcodes2020
ab9d902cc5
fix formatting and some tests
2024-12-24 10:41:35 -05:00
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