
Security News
Opengrep Adds Apex Support and New Rule Controls in Latest Updates
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.
github.com/onflow/cadence/languageserver
The Cadence Language Server implements the Language Server Protocol (LSP). It provides editors and IDEs that support LSP language features like auto complete, go to definition, documentation and type information on hover, etc.
Traditionally providing such features had to repeatedly implemented for each tool, as each tool provides different APIs for implementing the same feature. By implementing the LSP, the Cadence Language Server can be re-used in multiple development tools. For example, it is used by the Visual Studio Code extension (through the Flow CLI, which embeds the language server), and also in the Flow Playground (by compiling the language server to WebAssembly).
The main functionality of the language server, such as providing reporting diagnostics (e.g. errors), auto completion, etc. is implemented in the server
package.
The Cadence language server optionally provides integration with the Flow network, such as signing and submitting transactions.
This code can be found in the integration
package.
The Go code for the LSP types can be found in the protocol
package.
The code is generated from the specification's TypeScript declarations using scripts.
The Cadence language server can be compiled to WebAssembly. It currently assumes to be used in a JavaScript environment.
make wasm
The integration tests for the Cadence Language Server are written in TypeScript
and can be found in the test
directory.
You can configure the Visual Studio Code extension to use the source of the server in this directory, instead of the Flow CLI binary, and allowing this server to be debugged, e.g. using GoLand:
$ go install github.com/go-delve/delve/cmd/dlv@latest
Cadence: Flow Command
, and enter the full path to the run.sh
script
found in this directory (for example: /Users/dapper/Dev/cadence/languageserver/run.sh
).This allows the language server to be re-built each time it is restarted:
killall dlv
(Delve ignores SIGINT in headless mode)Cadence: Restart Language Server
commandIn addition, it will start the language server through the Delve debugger, by default on port 2345. This allows you to connect to the debugger and debug the server.
If you are using GoLand, you can follow
"Create the Go Remote run/debug configuration on the client computer".
Leave the hostname as localhost
.
The utility functions in tests/util.go
can be used to log to a file like so:
test.Log("test log")
And at the same time run the command in your terminal:
tail -f ./debug.log
Doing so you should see the output of all Log calls you make.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.