{"id":49583406,"url":"https://github.com/musi-lang/vscode-musi","last_synced_at":"2026-05-03T21:35:21.875Z","repository":{"id":353149858,"uuid":"1215309633","full_name":"musi-lang/vscode-musi","owner":"musi-lang","description":"A VSCode extension for The Musi Programming Language","archived":false,"fork":false,"pushed_at":"2026-04-24T20:19:56.000Z","size":99,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T21:35:21.154Z","etag":null,"topics":["bun","formatter","formatters","formatting","lsp-bridge","semantic-highlighter","semantic-highlighting","semantic-tokens","syntax-highlight","syntax-highlighter","syntax-highlighting","syntax-highlighting-theme","textmate","textmate-themes","typescript","typescript6","vsce","vscode-extension","vscode-extensions"],"latest_commit_sha":null,"homepage":"https://musi-lang.org","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/musi-lang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2026-04-19T18:47:12.000Z","updated_at":"2026-04-24T20:19:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/musi-lang/vscode-musi","commit_stats":null,"previous_names":["musi-lang/vscode-musi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/musi-lang/vscode-musi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musi-lang%2Fvscode-musi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musi-lang%2Fvscode-musi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musi-lang%2Fvscode-musi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musi-lang%2Fvscode-musi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/musi-lang","download_url":"https://codeload.github.com/musi-lang/vscode-musi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/musi-lang%2Fvscode-musi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32586187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bun","formatter","formatters","formatting","lsp-bridge","semantic-highlighter","semantic-highlighting","semantic-tokens","syntax-highlight","syntax-highlighter","syntax-highlighting","syntax-highlighting-theme","textmate","textmate-themes","typescript","typescript6","vsce","vscode-extension","vscode-extensions"],"created_at":"2026-05-03T21:35:21.400Z","updated_at":"2026-05-03T21:35:21.870Z","avatar_url":"https://github.com/musi-lang.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Musi for Visual Studio Code\n\nMusi language support for VS Code: syntax highlighting, language-server features, formatting, and package commands for `.ms` projects.\n\n## Features\n\n- Syntax highlighting for `.ms` files and Musi fenced code blocks in Markdown\n- Diagnostics, hover, semantic highlighting, formatting, and inlay hints from `musi_lsp` for `.ms` files\n- Format Document support for Musi source files\n- CLI-backed formatting for Musi Markdown fences without starting the LSP\n- Package commands for run, check, build, test, format, and workspace actions\n- `musi.json` schema validation\n- Check-on-save fallback when LSP diagnostics are unavailable\n- Named run configurations from VS Code settings\n\n## Requirements\n\nInstall the Musi tools and make them available on PATH:\n\n- `musi` for package commands, fallback checks, and Markdown fence formatting\n- `musi_lsp` for editor diagnostics, hover, semantic tokens, formatting, and inlay hints\n\nIf the binaries are not on PATH, configure:\n\n```json\n{\n  \"musi.cliPath\": \"/path/to/musi\",\n  \"musi.lspPath\": \"/path/to/musi_lsp\"\n}\n```\n\nWhen working inside the Musi repository, the extension also checks workspace build outputs before falling back to Cargo bin and PATH.\n\n## Package detection\n\nThe extension treats the closest ancestor `musi.json` as the owning package root. Package commands, run configurations, task execution, and check-on-save use that package root.\n\nFiles without an owning `musi.json` still get syntax highlighting. Package commands and package checks stay disabled until the file belongs to a package.\n\n## Commands\n\nOpen the command palette and run:\n\n- `Musi: Run Package Entry`\n- `Musi: Check Package`\n- `Musi: Build Package`\n- `Musi: Run Package Tests`\n- `Musi: Format Document`\n- `Musi: Format Workspace`\n- `Musi: Check Workspace`\n- `Musi: Build Workspace`\n- `Musi: Run Workspace Tests`\n- `Musi: Show Actions`\n- `Musi: Start LSP`\n- `Musi: Stop LSP`\n- `Musi: Restart LSP`\n- `Musi: Show LSP Output`\n\n## Formatting\n\nFor `.ms` files, Format Document uses `musi_lsp` when the language server is running. If LSP formatting is unavailable, the extension falls back to `musi fmt`.\n\nFor Markdown files, Musi fenced code blocks are formatted with `musi fmt`. Markdown formatting does not start or attach the Musi LSP.\n\nFormatter behavior comes from the owning package's `musi.json` plus VS Code formatting options where supported.\n\n## Settings\n\nCommon settings:\n\n```json\n{\n  \"musi.cliPath\": \"musi\",\n  \"musi.lspPath\": \"musi_lsp\",\n  \"musi.lsp.enabled\": true,\n  \"musi.checkOnSave\": true,\n  \"musi.hover.maximumLength\": 500,\n  \"musi.inlayHints.enabled\": true,\n  \"musi.inlayHints.parameterNames.enabled\": \"none\",\n  \"musi.inlayHints.variableTypes.enabled\": false\n}\n```\n\nRuntime and terminal settings:\n\n```json\n{\n  \"musi.runtime.args\": [],\n  \"musi.runtime.env\": {},\n  \"musi.runtime.envFile\": \"\",\n  \"musi.runtime.cwd\": \"\",\n  \"musi.terminal.clearBeforeRun\": false,\n  \"musi.terminal.focusOnRun\": true,\n  \"musi.terminal.reuseTerminal\": true\n}\n```\n\nNamed run configuration example:\n\n```json\n{\n  \"musi.runConfigurations\": [\n    {\n      \"name\": \"dev\",\n      \"entry\": \"index.ms\",\n      \"runtimeArgs\": [\"--watch\"],\n      \"env\": {\n        \"MUSI_ENV\": \"dev\"\n      },\n      \"preLaunchTask\": \"build\"\n    }\n  ]\n}\n```\n\n## Markdown support\n\nMusi code fences in Markdown use the `musi` or `ms` language tag:\n\n````markdown\n```musi\nlet total : Int := 42;\n```\n````\n\nThe extension highlights these fences and formats them through `musi fmt`.\n\n## Troubleshooting\n\nIf diagnostics, hover, semantic highlighting, or formatting do not appear:\n\n1. Run `Musi: Show LSP Output`.\n2. Confirm `musi_lsp` is installed or set `musi.lspPath`.\n3. Confirm the file belongs to a package with an ancestor `musi.json`.\n4. Run `Musi: Restart LSP` after changing binary paths.\n\nIf package commands fail:\n\n1. Confirm `musi` is installed or set `musi.cliPath`.\n2. Check the package root detected from the nearest `musi.json`.\n3. Verify runtime settings such as `musi.runtime.cwd`, `musi.runtime.env`, and `musi.runtime.envFile`.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmusi-lang%2Fvscode-musi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmusi-lang%2Fvscode-musi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmusi-lang%2Fvscode-musi/lists"}