A powerful Visual Studio Code extension for the Wolf DSL (Domain Specific Language) that provides comprehensive language support including syntax highlighting, IntelliSense, error checking, and more.
- Syntax Highlighting: Rich syntax highlighting for Wolf DSL files (
.flow) - Language Server Integration: Advanced language features powered by Xtext language server
- IntelliSense: Intelligent code completion and suggestions
- Error Detection: Real-time syntax and semantic error checking
- Code Navigation: Go-to-definition and symbol search capabilities
- Bracket Matching: Automatic bracket completion and matching
- Open Visual Studio Code
- Go to the Extensions view (
Ctrl+Shift+X/Cmd+Shift+X) - Search for "Wolf DSL"
- Click Install
- Download the latest
.vsixfile from the Releases page - Open VS Code
- Run
Extensions: Install from VSIX...from the Command Palette (Ctrl+Shift+P/Cmd+Shift+P) - Select the downloaded
.vsixfile
- Create a new file with the
.flowextension - Start writing your Wolf DSL code
- The extension will automatically provide syntax highlighting and language features
Schema UserSchema {
string name
number age
boolean active
}
Service UserService input UserSchema method POST output UserSchema {
Url -> "someURL"
Path -> ${"/some/path"}
Timeout -> ${1000}
Retry -> ${1}
@PathParam pathparam1 -> "abc"
@Query queryparam1-> "someparam"
@Body -> ${body}
}
The Wolf DSL supports the following language constructs:
- Schema: Define data structures with typed fields
- Service: Define service operations with input/output schemas
- Mapping: Transform data between different schemas
- Flow: Define workflow transitions and business logic
- GraphQL Integration: Built-in support for GraphQL services
Schema,Service,Mapping,Flowvalue,input,outputStart,transitionstring,boolean,numberGraphQLService,graphqlQuery
- Visual Studio Code 1.67.1 or higher
- Java Runtime Environment (JRE) for the language server
The extension can be configured through VS Code settings:
{
"wolf-dsl.languageServer.enabled": true,
"wolf-dsl.syntaxHighlighting.enabled": true
}- Node.js (14.x or higher)
- npm or yarn
- TypeScript
- Java Development Kit (JDK) for building the language server
-
Clone the repository:
git clone https://github.com/wolf-DSL/wolf-dsl-vscode.git cd wolf-dsl-vscode -
Install dependencies:
npm install
-
Compile the TypeScript code:
npm run compile
-
Package the extension:
vsce package
- Open the project in VS Code
- Press
F5to start debugging - This will launch a new VS Code window with the extension loaded
Run the test suite:
npm testWe welcome contributions to the Wolf DSL VS Code extension! Please see our Contributing Guide for details.
- ๐ Report bugs and issues
- ๐ก Suggest new features
- ๐ Improve documentation
- ๐ง Submit pull requests
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes and add tests
- Ensure all tests pass:
npm test - Submit a pull request
The extension consists of:
- Language Client (TypeScript): Handles VS Code integration
- Language Server (Java/Xtext): Provides language analysis and features
- Grammar Definition (TextMate): Syntax highlighting rules
- Configuration Files (JSON): Language and editor settings
Extension not activating
- Ensure you have Java 11 or later installed and accessible in your PATH
- Check the VS Code Output panel for error messages
- See TROUBLESHOOTING.md for detailed diagnostics
Syntax highlighting not working
- Verify the file has a
.flowextension - Try restarting VS Code
Language server not starting
- Check Java installation:
java -version(requires Java 11+) - Review the VS Code Developer Tools console for errors
- Important: The language server JAR must have a proper Main-Class manifest attribute
- See TROUBLESHOOTING.md for detailed solutions
"no main manifest attribute" error
- This indicates the language server JAR needs to be rebuilt with LSP launcher
- See TROUBLESHOOTING.md for complete solution
- Check the TROUBLESHOOTING.md guide for detailed solutions
- Check the Issues page for known problems
- Create a new issue with detailed information about your problem
- Include VS Code version, operating system, Java version, and error messages
This project is licensed under the Eclipse Public License 1.0 - see the LICENSE.txt file for details.
- Built with Xtext language development framework
- Powered by the Language Server Protocol
- Inspired by modern DSL development practices
See CHANGELOG.md for a detailed history of changes.
Enjoy coding with Wolf DSL! ๐บ