# ASHES Language Support A Visual Studio Code extension that provides syntax highlighting and IntelliSense for the ASHES (Adventure Scripting Helping Escoria) language used in Escoria adventure game framework. ## Features - **Syntax Highlighting**: Full syntax highlighting for ASHES language files (.esc) - **Auto-completion**: IntelliSense for ASHES commands, built-in variables, and keywords - **Hover Information**: Detailed information about commands and variables on hover - **Code Snippets**: Pre-built snippets for common ASHES patterns - **Command Reference**: Built-in command reference panel - **Smart Indentation**: Proper indentation rules for ASHES code structure ## ASHES Language Features Supported ### Events - Event definitions with `:event_name` - Event flags with `| FLAG_NAME` ### Commands - All standard Escoria commands (say, set_global, change_scene, etc.) - Custom commands - Command parameter hints ### Variables - Local variables with `var` - Global variables with `global` - Built-in variables (CURRENT_PLAYER, ESC_LAST_SCENE, etc.) - Global IDs with `$` prefix ### Control Flow - If/elif/else statements - While loops - Break and done keywords ### Dialog System - Dialog blocks with `?!` - Dialog choices with `-` - Conditional dialog choices with `[condition]` ### Comments - Line comments with `#` ## Installation 1. Copy this extension folder to your VS Code extensions directory 2. Reload VS Code 3. Open any `.esc` file to see syntax highlighting ## Usage ### Auto-completion - Type any ASHES command and press `Ctrl+Space` for suggestions - Use `$` prefix for global ID suggestions - Built-in variables are automatically suggested ### Snippets - Type snippet prefixes and press `Tab` to expand: - `event` - Create new event - `say` - Say command - `dialog` - Dialog block - `if` - If statement - And many more... ### Command Reference - Press `Ctrl+Shift+P` and type "ASHES: Show Command Reference" - View all available commands with descriptions and parameters ## Language Features ### Syntax Highlighting - Events are highlighted in blue - Commands are highlighted in green - Variables are highlighted in orange - Strings are highlighted in yellow - Comments are highlighted in gray - Dialog blocks have special highlighting ### Smart Indentation - Automatic indentation for events, control flow, and dialog blocks - Proper outdenting for `break`, `done`, `else`, etc. ### Folding - Events can be folded for better code organization - Dialog blocks can be folded ## Contributing This extension is designed specifically for the Escoria framework and ASHES language. If you find issues or want to add features, please contribute to the project. ## License This extension is part of the Gymkhana project and follows the same license terms.