Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Rave DSL Language Support for VSCodeNew to Visual Studio Code? Get it now.
Rave DSL Language Support for VSCode

Rave DSL Language Support for VSCode

AusbelDev

|
49 installs
| (0) | Free
Syntax highlighting and Language Server for Jeppesen Rave DSL.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

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

  1. Clone this repository:
    git clone https://github.com/your-username/vscode-rave.git
    cd vscode-rave
    

🎨 Color customization

  1. Identify the editor tokens and scopes that you want to customize (CTRL + SHIFT + P then search for Developer: Inspect editor tokens and scopes)
  2. 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"
                }
            }
        ]
    }

🚀 Vim / Neovim Support

The language server included in this repository (server/) follows the standard LSP (Language Server Protocol), enabling support for editors like Neovim.

1. Build the Language Server

You must compile the Go server binary first:

cd server
go build -o rave-lsp main.go
# Optional: Move to your path
# mv rave-lsp ~/.local/bin/

2. Configure Neovim (using nvim-lspconfig)

Add the following to your init.lua or plugin configuration:

-- Add filetype detection for .rave files
vim.filetype.add({
  extension = {
    rave = "rave",
  },
})

-- Configure the LSP client
local lspconfig = require('lspconfig')
local configs = require('lspconfig.configs')

if not configs.rave_lsp then
  configs.rave_lsp = {
    default_config = {
      cmd = { "/path/to/your/vscode-rave/server/rave-lsp" }, -- UPDATE THIS PATH
      filetypes = { "rave" },
      root_dir = lspconfig.util.root_pattern(".git", "package.json"),
      settings = {},
    },
  }
end

lspconfig.rave_lsp.setup({})
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft