Cisac Formats Highlighter provides syntax highlighting support for standardized CISAC formats used in the music industry. This extension is designed to improve the readability and editing experience of CISAC format files directly within VS Code.
Supported Formats
Currently, syntax highlighting support exists for the following formats:
CRD with the following file extensions:
.021
.022
.023
.030
.031
.032
.302
.303
.304
.305
AVR files following official AVR file naming conventions outlined by Cisac
CWR files with the following extensions:
.V21
.V22
AVI files following official AVI file naming conventions outlined by Cisac
Features
Syntax highlighting tailored specifically for CISAC file formats
Structural Validation: Detects common structural issues in CRD files and highlights them inline
Seamless integration into VS Code's editor experience
Helps composers, publishers, and music industry professionals work more efficiently with standardized CISAC files
CRD Validator
The extension validates CRD files generated by the Matching Engine to ensure structural compliance. It includes:
Ensures files begin with an HDR record and end with a TRL record
Detects misplaced or multiple TRL records before the end of the file
Validates group structures (GRH/GRT), and reports unclosed groups
Enforces correct ordering of initial SDN group records: SDN, ESI, IPI, API
Validates MWN groups to ensure correct sequence: MWN, MDS, MDR, MDT, MIP
Requires at least one transaction (WEP, WEA, WER, FEO, or ADJ) in each MWN group
Flags unexpected or out-of-order records within known groups
Provides line-level diagnostics using VS Code's native error reporting system
Installation
Install the extension from the VS Code Marketplace.
When prompeted to change theme, keep your current theme, the extension will dynamically pick up on recognised formats and ask if you wish to apply highlighting. If not restart your Visual Studio Code application to apply.
Usage
Simply open a supported CISAC format file in VS Code, and the extension will handle the syntax highlighting. No additional configuration is needed.