Rave Language Support for VS Code
This extension provides syntax highlighting and basic editor support for the
Jeppesen Rave domain-specific language (DSL), used in airline crew planning and operations systems.
✨ Features
- Syntax highlighting for the full Rave language specification:
- Structure:
module, rule, constraint, table, matrix, set, enum, accumulator, etc.
- Types:
int, bool, string, reltime, abstime, void.
- Variables:
%variables% and scoped references like trip.%start_station%.
- Constants: Integers, Reltimes (e.g.,
12:30), Booleans (true, false), and Month names.
- Functions & Traversers:
sum, avg, min, max, count, first, next, overlap, scale_time, etc.
- Keywords:
valid, remark, where, while, foreach, import, export, etc.
- Comments: Block comments (
/* ... */).
- File Extension Support: Automatically associates
.rave and .etab files.
- Editor Support: Bracket matching and auto-closing.
📦 Installation
From Source
- Clone this repository:
git clone https://github.com/your-username/vscode-rave.git
cd vscode-rave
🎨 Color customization
- Identify the editor tokens and scopes that you want to customize (CTRL + SHIFT + P then search for Developer: Inspect editor tokens and scopes)
- Once you identify the textmate scope add the config to your json file under the "editor.tokenColorCustomizations" field
Example
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": "keyword.control.import.rave",
"settings": {
"foreground": "#E5C07B",
}
},
{
"scope": "entity.name.module.rave",
"settings": {
"foreground": "#61AFEF"
}
},
{
"scope": "variable.other.member.rave",
"settings": {
"foreground": "#c38a79"
}
},
{
"scope": "storage.type.rave",
"settings": {
"foreground": "#C678DD",
"fontStyle": "italic"
}
}
]
}
| |