The Pact VSCode plugin supports syntax highlighting and completion for the Pact Programming Language, used on the Kadena Blockchain.
Pact is an open-source programming language for writing smart contracts.
It’s designed from the ground up to support the unique challenges of developing solutions to run on a blockchain. Pact empowers developers to create robust and high-performance logic for transactions. It facilitates execution of mission-critical business operations quickly and effectively.
Pact is designed with safety in mind. Its design is informed by existing approaches to smart contracts as well as stored procedure languages like SQL and LISP. Pact resembles a general-purpose, Turing-complete language. It includes LISP-like syntax, user functions, modules, and imperative style.
For more information please visit:
https://docs.kadena.io/build/
https://www.kadena.io/
- Syntax-highting
- Linting
- Completion
- Type:
string
- Default:
"pact"
- Description: The name or path to the pact executable, if version is not pact 5 we will run
npx pactup install development-latest
to install pact 5
- Type:
boolean
- Default:
true
- Description: Enable pact trace output.
- Type:
boolean
- Default:
false
- Description: Enable code coverage. Requires coverage extension for display.
- Type:
boolean
- Default:
true
- Description: Enable the pact-lsp.
Pact: Restart Language Server
to restart pact lsp.
To get started with local development
- Make sure you have nodejs and pnpm installed.
pnpm i
install dependencies.- Press F5 to run
pnpm dev
and launch vscode extension debug host
Testing, Linting and Type checking
pnpm test
for vitest.pnpm lint
for eslint.pnpm typecheck
for typescript type checking
Building
pnpm package
to create.vsix
file.
Update version and create a release tag.
pnpm release
it will ask for version pump type then will update package.json version and creates a git tag and pushes.
Publishing
- Run
pnpm run publish
to package and publish the extension.
Added Code Coverage Added new logo
Added Pact LSP client
Added linting support
Updated the description and on request of the Kadena Team added a Kadena logo to the extension.
Fixed support for .repl files and lowered the minimal required VSCode version
Initial release of the highlighting syntax