This is an extension built by Dominick Reba (@fudgepop01) that allows for relative ease of development of ksy files. To find out more about Kaitai Struct and what it can do, head here: [kaitai.io]
If you want to see an overview of what this extension can do, check out [the overview video here]
this is the first extension to utilize the [fudgedit] hex editor. An extension exposing the editor itself will be released at a later date if requested.
To generate a new parser from a ksy file in a target language, right click on a ksy file and select "compile to target language". A prompt will appear where you choose the target langugae of choice. Pick the language and a parser will be generated from the ksy.
To make editing ksy files significantly easier, you'll want to download the [redhat YAML Language Server].
Then you'll want to include the following lines in your
regions: highlighting with depth
A region is the name I've given to the different chunks of a file.
Depth refers to how many layers are traversed and visualized in the hex viewer.
When the region depth parameter has a value of 1, only the regions representing
When hovering over one of these generated regions, you'll see some data about
the underlying region in the form of a tooltip. This tooltip will contain
at minumum a
Hovering over regions will grey out all other regions to allow the the user to focus on what particular region is being highlighted and distinguish it from the others.
Hovering over a region with a raw value type, such as string or integer will (read: should) additionally display the obtained value in the best way it can.
Upon compiling a kaitai struct file, a tree view in the explorer panel will pop up (if enabled). This will be titled KSEXPLORER (Kaitai Struct EXPLORER), and contains a tree view of all of the region names along with their types (or values). This will also give the user a bit more control over the editor.
tree views: navigation
if a tree view's node has children, then a dropdown toggle will appear at the start of the node. Clicking this will expand that region and show the child nodes.
tree views: jumping
By clicking on one of the tree's nodes, the hex editor will jump to the location of that node in the hex, place the cursor at the starting byte of the node, and select the area occupied by the node in the editor. This allows the user to navigate and view regions significantly easier, or focus on particular regions without the color overlay.
If you have any requirements or dependencies, add a section describing those and how to install and configure them.
Include if your extension adds any VS Code settings through the
This extension contributes the following settings:
Calling out known issues can help limit users opening duplicate issues against your extension.
TODO / PLANNED FEATURES
First beta release, hurrah!