Extension init, syntax highlighting, autocompletion, install script
This commit is contained in:
93
vscode-extension-ashes/README.md
Normal file
93
vscode-extension-ashes/README.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user