{"id":32127828,"url":"https://github.com/stjude-rust-labs/sprocket-vscode","last_synced_at":"2025-10-21T00:37:10.948Z","repository":{"id":250744781,"uuid":"830152245","full_name":"stjude-rust-labs/sprocket-vscode","owner":"stjude-rust-labs","description":"Visual Studio Code extension for Sprocket.","archived":false,"fork":false,"pushed_at":"2025-09-26T21:01:23.000Z","size":649,"stargazers_count":8,"open_issues_count":2,"forks_count":9,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-26T23:14:52.621Z","etag":null,"topics":["bioinformatics","vscode","vscode-extension","wdl","wdl-devtools","wdl-workflow","workflow","workflow-engine"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stjude-rust-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-17T17:40:27.000Z","updated_at":"2025-09-26T21:01:27.000Z","dependencies_parsed_at":"2024-07-29T22:43:09.231Z","dependency_job_id":"c0776025-439f-4772-bdde-3dd27dd9e7c0","html_url":"https://github.com/stjude-rust-labs/sprocket-vscode","commit_stats":null,"previous_names":["stjude-rust-labs/sprocket-vscode"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/stjude-rust-labs/sprocket-vscode","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjude-rust-labs%2Fsprocket-vscode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjude-rust-labs%2Fsprocket-vscode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjude-rust-labs%2Fsprocket-vscode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjude-rust-labs%2Fsprocket-vscode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stjude-rust-labs","download_url":"https://codeload.github.com/stjude-rust-labs/sprocket-vscode/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjude-rust-labs%2Fsprocket-vscode/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280184439,"owners_count":26286833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-20T02:00:06.978Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","vscode","vscode-extension","wdl","wdl-devtools","wdl-workflow","workflow","workflow-engine"],"created_at":"2025-10-21T00:37:08.215Z","updated_at":"2025-10-21T00:37:10.938Z","avatar_url":"https://github.com/stjude-rust-labs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg style=\"margin: 0px\" alt=\"Repository Header Image\" src=\"./assets/repo-header.png\" /\u003e\n\u003chr/\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=stjude-rust-labs.sprocket-vscode\"\u003e\n      \u003cimg src=\"https://vsmarketplacebadges.dev/version/stjude-rust-labs.sprocket-vscode.png\" alt=\"Visual Studio Marketplace\"\u003e\n  \u003c/a\u003e\n    \u003ca href=\"https://github.com/stjude-rust-labs/sprocket-vscode/blob/main/LICENSE-APACHE\" target=\"_blank\"\u003e\n      \u003cimg alt=\"License: Apache 2.0\" src=\"https://img.shields.io/badge/license-Apache 2.0-blue.svg\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/stjude-rust-labs/sprocket-vscode/blob/main/LICENSE-MIT\" target=\"_blank\"\u003e\n      \u003cimg alt=\"License: MIT\" src=\"https://img.shields.io/badge/license-MIT-blue.svg\" /\u003e\n    \u003c/a\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://marketplace.visualstudio.com/items?itemName=stjude-rust-labs.sprocket-vscode\"\u003e\u003cstrong\u003eDownload »\u003c/strong\u003e\u003c/a\u003e\n    ·\n    \u003ca href=\"https://sprocket.bio/vscode/getting-started.html\"\u003e\u003cstrong\u003eRead the Docs »\u003c/strong\u003e\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/stjude-rust-labs/sprocket-vscode/issues/new?assignees=\u0026labels=\u0026template=feature_request.md\u0026title=Descriptive%20Title\u0026labels=enhancement\"\u003e\u003cstrong\u003eRequest Feature »\u003c/strong\u003e\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/stjude-rust-labs/sprocket-vscode/issues/new?assignees=\u0026labels=\u0026template=bug_report.md\u0026title=Descriptive%20Title\u0026labels=bug\"\u003e\u003cstrong\u003eReport Bug »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## 🏠 Overview\n\nThis extension provides support developing bioinformatics workflows via the \u003ca\nhref=\"https://openwdl.org/\"\u003eWorkflow Description Language\u003c/a\u003e. It does this by\nleveraging the [`sprocket`](https://github.com/stjude-rust-labs/sprocket)\ncommand line tool (and the [`wdl`](https://github.com/stjude-rust-labs/wdl)\nfamily of crates).\n\n## 📚 Getting Started\n\nTo get started, follow the instructions outlined in [the\ndocumentation](https://sprocket.bio/vscode/getting-started.html).\n\n## 🎨 Features\n\n- **Syntax highlighting.** The extension uses both a complete [TextMate\n  grammar](https://macromates.com/manual/en/language_grammars) _and_ semantic\n  syntax highlighting via the LSP integration. Notably, this syntax highlighting\n  also drives GitHub's syntax highlighting of WDL.\n- **Document formatting.** Full formatting of documents using the underlying\n  `sprocket format` command is integrated such that it can be applied on-demand\n  or automatically on save/paste.\n- **Static analysis.** Static analysis of WDL documents is provided via the LSP\n  and is configurable for both validation and lint warnings.\n- **Code completion.** Various completions are available, including completion\n  of standard library functions and context-aware completion of variables.\n- **Hover support.** Hovering a variable or standard library function gives a\n  modal with documentation regarding that item.\n- **Go to definition.** Navigating from a symbol to its definition is supported\n  in all known contexts.\n- **Find all references.** Similarly, navigating from a symbol to all known\n  references is supported in all known contexts.\n- **Rename symbol.** Symbols may be seamlessly refactored and renamed using the\n  built-in VSCode shortcuts.\n- **Workspace and document symbols.** Symbols within WDL documents and symbols\n  are surfaced via your code editor's default facilities. This generally\n  includes an outline of symbols in a document and workspace-wide symbol search\n  at a minimum.\n- **Code snippets** for common WDL constructs and conventions.\n\nAll major functionality for the Sprocket VSCode extension has been completed. If\nyou have things you want us to consider included, please [file an\nissue](https://github.com/stjude-rust-labs/sprocket-vscode/issues).\n\n## Configuration\n\nThe extension provides the following configuration options:\n\n- `sprocket.server.checkForUpdates`: Whether to check for updates to the\n  automatically installed `sprocket` tool when the extension starts.\n- `sprocket.server.path`: The path to the `sprocket` command line tool. Use\n  this to specify a custom installation of `sprocket`.\n- `sprocket.server.verbose`: Configures the verbosity of `sprocket` output.\n  Valid values are `Verbose`, `Information`, and `Quiet`; defaults to `Quiet`.\n- `sprocket.server.lint`: Passes the `--lint` flag to `sprocket`; this enables\n  additional linting checks that are not enabled by default.\n- `sprocket.server.maxRetries`: Sets the maximum number of retries before the\n  extension bails out.\n\n## Known Issues\n\n_None at present._\n\n## Development\n\n### Setup\n\nTo build the extension, Node.js, `npm`, and `yarn` must be installed.\n\nTo install Node.js, follow [these\ninstructions](https://nodejs.org/en/download/package-manager/current).\n\nTo install `yarn`, run the following command:\n\n```bash\nnpm install -g yarn\n```\n\nFinally, install the project dependencies by running the following command:\n\n```bash\nyarn install\n```\n\nEnsure the Yarn binaries directory is on your path by adding the following to\nyour shell profile:\n\n```bash\nexport PATH=\"$(yarn global bin):$PATH\"\n```\n\n### Building\n\nTo build the extension, run the following command:\n\n```bash\nyarn compile\n```\n\nThis command will automatically be run when you start the extension in the\ndevelopment environment or when packaging the extension.\n\n### Running The Development Extension\n\nTo run the extension, open this directory in VS Code and press `F5`.\n\nThis will open a new VS Code window with the extension automatically loaded.\n\n### Installing The Extension\n\nTo install the extension, you can package it as a `.vsix` file and install it.\n\nTo package the extension, install the `vsce` tool:\n\n```\nyarn global add @vscode/vsce\n```\n\nThen package the extension by running:\n\n```bash\nvsce package --yarn\n```\n\nThis will generate a `sprocket-vscode-\u003cversion\u003e.vsix` file that you can install\nin VS Code using the `Extensions: install from VSIX` command.\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome! Feel free to check\n[issues page](https://github.com/stjude-rust-labs/sprocket-vscode/issues).\n\n## 📝 License\n\nThis project is licensed as either [Apache 2.0][license-apache] or\n[MIT][license-mit] at your discretion. Additionally, please see [the\ndisclaimer](https://github.com/stjude-rust-labs#disclaimer) that applies to all\ncrates and command line tools made available by St. Jude Rust Labs.\n\nCopyright © 2024-Present [St. Jude Children's Research Hospital](https://github.com/stjude).\n\n[license-apache]: https://github.com/stjude-rust-labs/sprocket-vscode/blob/main/LICENSE-APACHE\n[license-mit]: https://github.com/stjude-rust-labs/sprocket-vscode/blob/main/LICENSE-MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstjude-rust-labs%2Fsprocket-vscode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstjude-rust-labs%2Fsprocket-vscode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstjude-rust-labs%2Fsprocket-vscode/lists"}