Advanced syntax highlighting, IntelliSense autocompletion, and real-time linting for the EDL (Event Description Language) programming language.
- EDL Cyberpunk Dark: A vibrant dark theme with neon colors inspired by cyberpunk aesthetics
- EDL Space Tech Light: A clean light theme with space technology-inspired colors
- Unique colors for EDL-specific keywords, operators, and constructs
- Context-aware autocompletion for EDL keywords, functions, and variables
- Built-in function suggestions with parameter hints
- Event-specific completions and templates
- State machine transition suggestions
- Syntax error detection with quick fixes
- Semantic analysis for undefined events and invalid transitions
- Style warnings for code consistency
- Configurable linting rules
- Toggle IntelliSense and linting features
- Custom color palette overrides
- Configurable theme switching
- Event Management:
event,trigger,emit,listen - State Machines:
state,transition,handler - Control Flow:
if,else,while,for,switch - Modifiers:
async,sync,parallel,sequential,priority,timeout
emit(event, data?)- Emit events to the systemlisten(event, handler)- Listen for specific eventsschedule(event, delay)- Schedule future eventsdelay(milliseconds)- Add execution delayslog(),debug(),error(),warn(),info()- Logging functions
->- Event flow operator=>- Function arrow operator<-- Reverse flow operator<=>- Bidirectional flow operator|>- Pipe operator
- Open Visual Studio Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "EDL Language Support"
- Click Install
- Create a new file with
.edlextension - Start writing EDL code with full syntax highlighting
- Use Ctrl+Space for IntelliSense suggestions
- Hover over keywords and functions for documentation
- View real-time linting feedback in the Problems panel
Access settings via File > Preferences > Settings, then search for "EDL":
```json { "edl.linting.enabled": true, "edl.intellisense.enabled": true, "edl.theme.customColors": { "keyword": "#ff0080", "function": "#8080ff" } } ```
EDL: Validate File- Manually validate the current EDL file
```edl // Define an event event user_login { user_id: string timestamp: int session_token: string }
// Create a state machine state authentication { idle -> authenticating on user_login authenticating -> authenticated on success authenticating -> failed on error failed -> idle on retry }
// Event handler handler handle_login(event: user_login) { log("User login attempt:", event.user_id)
if (validate_credentials(event)) {
emit(authentication_success, event)
transition_to(authenticated)
} else {
emit(authentication_failed, event)
transition_to(failed)
}
}
// Listen for events listen(user_login, handle_login)
// Schedule cleanup schedule(cleanup_sessions, delay: 3600) // 1 hour