Extension that provides a client for the Superface Language server and syntax highlighting definitions.
The extension is released to both the Microsoft marketplace and the OpenVSX registry.
Download the .vsix
file from one of the Github releases.
Install the extension using
code --install-extension <path-to-vsix>
The extension provides following features:
- Syntax highlighting for Comlink maps and profiles
- Code snippets for Comlink maps and profiles
- JSON schemas for Comlink ASTs and super.json
- Superface outline view to show super.json configuration in current workspace
- Bundled language server
- Syntax checking
- Semantic linting
- Workspace symbol search (requires VSCode to be open in workspace mode)
When developing, start with cloning the repository using git clone https://github.com/superfaceai/language-client-vscode.git
(or git clone [email protected]:superfaceai/language-client-vscode.git
if you have repository access).
After cloning, the dependencies must be downloaded using yarn install
or npm install
.
Now the repository is ready for code changes.
To test your changes there is a launch task prepared in the .vscode
folder. Open the Run tab in your vscode and select the task "Launch Client". Then click the "Start Debugging" button or F5 and a new vscode window should open up with the WIP extension active.
The package.json
also contains scripts (runnable by calling yarn <script-name>
or npm run <script-name>
):
lint
- lint the code (uselint:fix
to run autofix)format
- check the code formatting (useformat:fix
to autoformat)build
- run the typescript compilerprepush
- runtest
,lint
andformat
checks. This should run without errors before you push anything to git.package
- package the built output into a vsix extension
To install the extension from a local build, execute the build
script, then the package
script and then install the generated vsix artifact.
Please open an issue first if you want to make larger changes
Feel free to contribute! Please follow the Contribution Guide.
Licenses of node_modules are checked during CI/CD for every commit. Only the following licenses are allowed:
- 0BDS
- MIT
- Apache-2.0
- ISC
- BSD-3-Clause
- BSD-2-Clause
- CC-BY-4.0
- CC-BY-3.0;BSD
- CC0-1.0
- Unlicense
- Python 2.0
Note: If editing the README, please conform to the standard-readme specification.
The Superface is licensed under the MIT. © 2022 Superface