This is a VScode extension for Neva - a flow based programming language with static types.
Warning: extension only works if nevalang module is root of your workspace! I.e.
neva.y(a)mlis at the root of the project, opened in the editor.
- Neva programming language installed
Error messages occur as you type in the problems panel
▶ Run appears above def Main and runs neva run in a VS Code terminal.
Basic snippets are available for core language constructs:
importmaindefpubdefstructunionconst
Currently disabled due to massive changes in the language. You can see the source code in the webview directory.
Package: npm run package:vsix
Publish (requires OPEN_VSX_TOKEN): npm run publish:openvsx
The repository includes automated publishing on GitHub Release:
- Workflow:
.github/workflows/release-marketplace.yml - Trigger: published GitHub release (or manual
workflow_dispatch) - Behavior: fetches
nevalang/neva-lsp(prefersmain, falls back tomaster), rebuilds all LSP binaries, builds and packages extension, publishes to Marketplace.
Required secret in GitHub repository settings:
VSCE_PAT- token with publish rights for publishernevalang
Release flow:
- Bump
package.jsonversion (for example0.7.8) and commit. - Create git tag
v0.7.8and GitHub Release from that tag. - Workflow validates that tag version matches
package.json, then publishes automatically.
- Updated bundled
neva-lspbinaries to use Neva workspace indexing that does not require aMainpackage in module root. - Fixed
▶ RunCodeLens placement to stay anchored to thedef Mainline. - Fixed
▶ Runcommand to execute in the current file package (neva run .from package directory), so module-root workspaces with subdirectory packages run correctly.
- Integrated Neva LSP core language feature set from
nevalang/neva-lsp:- completion
- hover
- go to definition
- find references
- rename / prepare rename
- document symbols / outline
- code lens + resolve
- semantic tokens
- Added packaging guard (
npm run check:lsp-binaries) to ensure all required OS/arch LSP binaries are bundled beforevsce package. - Added a release smoke-test checklist: ./docs/lsp-smoke-checklist.md.
- LSP protocol tracing is now configurable with
neva.trace.server(off,messages,verbose), defaulting toofffor production. - Documentation update for the new release process and version bump.
- Added missing support for
x64platform for linux (alias for amd64) - Updated Neva compiler version that includes critical bug-fixes
- Minor refactor - remove unused webview-related TS code
- Added support for other OS/Arch including Windows and Linux arm64/amd64
- Fixed bug when LSP did lookup higher than opened workspace
- Some other minor bug-fixes
- Updated LSP to match latest syntax changes
- Syntax highlighting fixes
- Deferred connections
- Some more minor fixes due to new syntax
- Critical bugfix (LSP wasn't working at all)
- Added missing bundling step (via esbuild)
- Removed
lspbinary from.vscodeignore
- Updated syntax highlighting to mach latest changes in compiler
mapnative type was replaced withdict(to avoid confusion withMapcomponent)
- LSP improvements
- Sending errors to VSCode "problems" panel
- Support for TCP in debug-mode (for extension developers)
- Updated syntax highlighting to mach latest changes in compiler
flowkeyword was replaced withdef
- Internal Changes (minor refactoring)
- Updated syntax highlighting to mach latest changes in compiler
- Replaced
componentkeyword withflow - Removed all group forms for entity declarasions
- Replaced
- Updated syntax highlighting after removing "net" keyword
- Fixed syntax highlighting for nodes without ports in component connections
- Add support for single-form entity declaration
- Internals: refactor tmlanguage syntax file
- Web-view temporary removed after massive rewriting of the language
- Updated syntax highlighting to match new grammar
- Updated icons for command menu and files
- Updated header with new logo
- LSP-compatible Language Server
- WebView-based Custom editor for visual editing of
.nevafiles
- First release with textmate (regexp) based syntax highlighting.

