Skip to content

stjude-rust-labs/sprocket-vscode

Repository files navigation

Repository Header Image


Visual Studio Marketplace License: Apache 2.0 License: MIT
Download » · Read the Docs » · Request Feature » · Report Bug »

Note

The Sprocket Visual Studio Code extension is currently in very early development. As such, you currently have to download and install the latest version of the sprocket command line tool manually before running the extension. You may also experience various UX issues, such as needing to manually restart the Sprocket extension if it crashes. We plan to improve all of these things as we continue to iterate.

🏠 Overview

This extension provides support developing bioinformatics workflows via the Workflow Description Language. It does this by leveraging the sprocket command line tool (and, behind the scenes, the wdl family of crates).

📚 Getting Started

To get started, follow the instructions outlined in the documentation.

🎨 Features

  • Basic syntax highlighting using a complete and up-to-date TextMate grammar. This grammar is slated to drive GitHub's syntax highlighting for WDL files in a future release.
  • Document and workspace diagnostics courtesy of the language server protocol implementation provided bysprocket analyzer.
  • Code snippets for common WDL constructs and conventions.

Note: more features will be added as sprocket is developed. Please check out the activity on the Sprocket repository to see what we're working on next!

Configuration

The extension provides the following configuration options:

  • sprocket.server.path: The path to the sprocket command line tool. By default, the extension assumes that sprocket is on your PATH.
  • sprocket.server.verbose: Passes the --verbose flag to sprocket when running it.
  • sprocket.server.lint: Passes the --lint flag to sprocket when running it; this enables additional linting checks that are not enabled by default.

Known Issues

  • The extension is in an early stage of development and may not work as expected.
  • The extension requires a separate installation of the sprocket command line tool; in the future, the extension will automatically install the tool.
  • When sprocket unexpectedly terminates, the extension does not automatically restart it and you must manually restart the extension host to recover from the error; this will change in the future as the extension becomes more stable.

Development

Setup

To build the extension, Node.js, npm, and yarn must be installed.

To install Node.js, follow these instructions.

To install yarn, run the following command:

npm install -g yarn

Finally, install the project dependencies by running the following command:

yarn install

Ensure the Yarn binaries directory is on your path by adding the following to your shell profile:

export PATH="$(yarn global bin):$PATH"

Building

To build the extension, run the following command:

yarn compile

This command will automatically be run when you start the extension in the development environment or when packaging the extension.

Running The Development Extension

To run the extension, open this directory in VS Code and press F5.

This will open a new VS Code window with the extension automatically loaded.

Installing The Extension

To install the extension, you can package it as a .vsix file and install it.

To package the extension, install the vsce tool:

yarn global add @vscode/vsce

Then package the extension by running:

vsce package --yarn

This will generate a sprocket-vscode-<version>.vsix file that you can install in VS Code using the Extensions: install from VSIX command.

🤝 Contributing

Contributions, issues and feature requests are welcome! Feel free to check issues page.

📝 License

This project is licensed as either Apache 2.0 or MIT at your discretion.

Copyright © 2024-Present St. Jude Children's Research Hospital.