{"id":46002050,"url":"https://github.com/nevalang/vscode-neva","last_synced_at":"2026-07-29T10:00:27.131Z","repository":{"id":200562819,"uuid":"637501647","full_name":"nevalang/vscode-neva","owner":"nevalang","description":"VSCode extension for Neva programming language","archived":false,"fork":false,"pushed_at":"2026-07-26T12:04:39.000Z","size":2038,"stargazers_count":4,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-26T12:06:12.047Z","etag":null,"topics":["autocomplete","graphical-user-interface","ide","ide-support","intellisense","javascript","js","language-server-protocol","lsp","lsp-server","neva","nevalang","syntax-highlighting","textmate-grammar","ts","typescript","ui","user-interface","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"","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/nevalang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2023-05-07T18:42:57.000Z","updated_at":"2026-07-26T12:05:16.000Z","dependencies_parsed_at":"2024-11-08T08:25:32.063Z","dependency_job_id":"3751cd7f-a041-4894-aa7e-9a78e48dd788","html_url":"https://github.com/nevalang/vscode-neva","commit_stats":null,"previous_names":["nevalang/vscode-neva"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nevalang/vscode-neva","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevalang%2Fvscode-neva","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevalang%2Fvscode-neva/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevalang%2Fvscode-neva/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevalang%2Fvscode-neva/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nevalang","download_url":"https://codeload.github.com/nevalang/vscode-neva/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nevalang%2Fvscode-neva/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36027305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-29T02:00:04.910Z","response_time":95,"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":["autocomplete","graphical-user-interface","ide","ide-support","intellisense","javascript","js","language-server-protocol","lsp","lsp-server","neva","nevalang","syntax-highlighting","textmate-grammar","ts","typescript","ui","user-interface","vscode","vscode-extension"],"created_at":"2026-02-28T22:13:50.374Z","updated_at":"2026-07-29T10:00:27.096Z","avatar_url":"https://github.com/nevalang.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Neva Programming Language\n\n![Black Header](./assets/header.png \"Nevalang logo and title\")\n\nThis is a VScode extension for [Neva](https://github.com/nevalang/neva) - a flow based programming language with static types.\n\n\u003e **Warning**: extension only works if nevalang module is root of your workspace! I.e. `neva.y(a)ml` is at the root of the project, opened in the editor.\n\n## Requirements\n\n- [Neva](https://github.com/nevalang/neva) programming language installed\n- [Neva LSP](https://github.com/nevalang/neva-tools) installed as a system tool.\n  Run `Neva: Install Language Tools` from the Command Palette, or follow the\n  installer instructions in Neva Tools. The extension starts it through\n  `neva tool lsp`; set `neva.lsp.path` for an offline or custom installation.\n\n## Features\n\n### Syntax Highlighting\n\n![Picture of a syntax highlighting](./assets/code.png \"Syntax highlighting example\")\n\n### Error messages (Diagnostics)\n\nError messages occur as you type in the _problems_ panel\n\n### Run CodeLens\n\n`▶ Run` appears above `def Main` and runs `neva run` in a VS Code terminal.\n\n### Snippets\n\nBasic snippets are available for core language constructs:\n\n- `import`\n- `main`\n- `def`\n- `pubdef`\n- `struct`\n- `union`\n- `const`\n\n### Visual Editor\n\n`Neva: Open Visual Mode` opens the same read-only React editor as `neva-view`, directly beside the source file. It talks to the already-running language server, so it needs no separate HTTP server or browser process. Saving a `.neva` file refreshes its projection.\n\n## Contributing\n\nSee [./Contributing.md](Contributing.md)\n\n### Open VSX\n\nPackage: `npm run package:vsix`\n\nPublish (requires `OPEN_VSX_TOKEN`): `npm run publish:openvsx`\n\n### VS Code Marketplace (CI/CD)\n\nThe repository includes automated publishing on GitHub Release:\n\n- Workflow: `.github/workflows/release-marketplace.yml`\n- Trigger: published GitHub release (or manual `workflow_dispatch`)\n- Behavior: packages the shared visual-editor WebView bundle and publishes the\n  thin extension. `neva-lsp` is installed independently as a system tool;\n  `neva-view` is not part of this dependency graph.\n\nRequired secret in GitHub repository settings:\n\n- `VSCE_PAT` - token with publish rights for publisher `nevalang`\n\nRelease flow:\n\n1. Bump `package.json` version (for example `0.7.8`) and commit.\n2. Create git tag `v0.7.8` and GitHub Release from that tag.\n3. Workflow validates that tag version matches `package.json`, then publishes automatically.\n\n## Release Notes\n\n### 0.7.12\n\n- Start an installed `neva-lsp` directly when an older Neva CLI does not yet\n  support `neva tool lsp`, while explaining that Run still requires a CLI\n  update.\n- Keep one LSP output channel and stop the restart loop for that known legacy\n  CLI failure.\n- Keep Visual Mode as an auxiliary view beside the text editor instead of a\n  misleading textual/visual toggle.\n\n### 0.7.11\n\n- Stopped bundling all platform `neva-lsp` binaries in the VSIX.\n- The extension now starts the installed system tool through `neva tool lsp`.\n- Added installation/update commands and the `neva.lsp.path` offline override.\n\n### 0.7.10\n\n- Updated the bundled LSP to `lsp/v0.1.2` with diagnostics for unsaved edits.\n- Kept completion, navigation, semantic tokens and CodeLens available while an\n  unsaved compiler error is displayed.\n- Added an Extension Host integration contract covering diagnostics, language\n  features, Run and packaged Visual Mode; release packaging is verified in a\n  separate CI job.\n\n### 0.7.9\n\n- Updated bundled `neva-lsp` binaries to use Neva workspace indexing that does not require a `Main` package in module root.\n- Fixed `▶ Run` CodeLens placement to stay anchored to the `def Main` line.\n- Fixed `▶ Run` command to execute in the current file package (`neva run .` from package directory), so module-root workspaces with subdirectory packages run correctly.\n\n### 0.7.8\n\n- Integrated Neva LSP core language feature set from `nevalang/neva-tools`:\n  - completion\n  - hover\n  - go to definition\n  - find references\n  - rename / prepare rename\n  - document symbols / outline\n  - code lens + resolve\n  - semantic tokens\n- Added packaging guard (`npm run check:lsp-binaries`) to ensure all required OS/arch LSP binaries are bundled before `vsce package`.\n- Added a release smoke-test checklist: [./docs/lsp-smoke-checklist.md](./docs/lsp-smoke-checklist.md).\n- LSP protocol tracing is now configurable with `neva.trace.server` (`off`, `messages`, `verbose`), defaulting to `off` for production.\n- Documentation update for the new release process and version bump.\n\n### 0.7.6\n\n- Added missing support for `x64` platform for linux (alias for amd64)\n- Updated Neva compiler version that includes critical bug-fixes\n- Minor refactor - remove unused webview-related TS code\n\n### 0.7.5\n\n- Added support for other OS/Arch including Windows and Linux arm64/amd64\n- Fixed bug when LSP did lookup higher than opened workspace\n- Some other minor bug-fixes\n\n### 0.7.4\n\n- Updated LSP to match latest syntax changes\n\n### 0.7.3\n\n  - Syntax highlighting fixes\n  - Deferred connections\n  - Some more minor fixes due to new syntax\n\n### 0.7.2\n\n- Critical bugfix (LSP wasn't working at all)\n  - Added missing bundling step (via esbuild)\n  - Removed `lsp` binary from `.vscodeignore`\n\n### 0.7.1\n\n- Updated syntax highlighting to mach latest changes in compiler\n  - `map` native type was replaced with `dict` (to avoid confusion with `Map` component)\n\n### 0.7.0\n\n- LSP improvements\n  - Sending errors to VSCode \"problems\" panel\n  - Support for TCP in debug-mode (for extension developers)\n- Updated syntax highlighting to mach latest changes in compiler\n  - `flow` keyword was replaced with `def`\n- Internal Changes (minor refactoring)\n\n### 0.6.0\n\n- Updated syntax highlighting to mach latest changes in compiler\n  - Replaced `component` keyword with `flow`\n  - Removed all _group forms_ for entity declarasions\n\n### 0.5.0\n\n- Updated syntax highlighting after removing \"net\" keyword\n- Fixed syntax highlighting for nodes without ports in component connections\n\n### 0.4.0\n\n- Add support for single-form entity declaration\n- Internals: refactor tmlanguage syntax file\n\n### 0.3.0\n\n- Web-view temporary removed after massive rewriting of the language\n- Updated syntax highlighting to match **new grammar**\n- Updated icons for command menu and files\n- Updated header with **new logo**\n\n### 0.2.0\n\n- **LSP**-compatible **Language Server**\n- **WebView**-based **Custom editor** for visual editing of `.neva` files\n\n### 0.1.0\n\n- First release with textmate (regexp) based **syntax highlighting**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnevalang%2Fvscode-neva","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnevalang%2Fvscode-neva","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnevalang%2Fvscode-neva/lists"}