Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukeribchester/pact-intellij
Pact Language Support for JetBrains IDEs π
https://github.com/lukeribchester/pact-intellij
intellij intellij-platform intellij-plugin kadena kda lsp pact
Last synced: 17 days ago
JSON representation
Pact Language Support for JetBrains IDEs π
- Host: GitHub
- URL: https://github.com/lukeribchester/pact-intellij
- Owner: lukeribchester
- License: mit
- Created: 2022-07-12T06:49:34.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-07T02:46:43.000Z (5 months ago)
- Last Synced: 2024-10-10T18:48:33.006Z (about 1 month ago)
- Topics: intellij, intellij-platform, intellij-plugin, kadena, kda, lsp, pact
- Language: Kotlin
- Homepage: https://plugins.jetbrains.com/plugin/23581-pact
- Size: 22.2 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/funding.yml
- License: LICENSE
Awesome Lists containing this project
README
# Pact Language Support for JetBrains IDEs π
![Build](https://github.com/lukeribchester/pact-intellij/workflows/Build/badge.svg)
[![Version](https://img.shields.io/jetbrains/plugin/v/23581.svg)](https://plugins.jetbrains.com/plugin/23581)
[![Downloads](https://img.shields.io/jetbrains/plugin/d/23581.svg)](https://plugins.jetbrains.com/plugin/23581)This plugin provides support for [Kadena's](https://kadena.io/) Pact smart contract language to the IntelliJ Platform.
_**Warning:** While effort is made to ensure a stable and reliable user experience, this plugin is under heavy
development and includes features based on the experimental IntelliJ Platform Language Server API._## What is Kadena?
Kadena is the industryβs only truly scalable Layer-1 Proof-of-Work blockchain. More to the point, itβs the only
blockchain scalable enough to fully replace the global financial system β and other legacy centralized systems β
without compromising on speed or security.With Chainweb, Kadenaβs multi-braided, infinitely scalable blockchain technology, and Pact, our industry-leading smart
contract language, Kadena transcends the limits of conventional Layer-1 and Layer-2 blockchains, enabling builders to
create meaningful solutions to real-world problems.In other words, Kadena is operating on a whole other layer: Layer H, the Human Layer.
### What is Pact? π€
Pact is a human-readable smart contract language. It allows anyone to write clearly, directly and safely onto a
blockchain β a true innovation for secure and simple smart contract development. Pact will enable you to create
entirely new business models and on-chain services.- [**Get started with Pact**](https://docs.kadena.io/pact)
### What is a smart contract? π
Smart contracts are like regular, paper contracts, except that their terms are enforced by computer code, instead of
humans. Imagine if a baseball player received an automatic bonus in his next paycheck because he hit a certain number
of home runs.Smart contracts are the next generation of legal contracts. And Pact is the next generation of smart contracts.
## Features
### Pact Language Server (LSP)
- Error highlighting
- Code completion
- DocumentationPlease refer to the [documentation](https://github.com/kadena-io/pact-lsp/tree/main#supported-features) for a full list
of supported features._**Note:** Support for Language Server Protocol features on the IntelliJ Platform is currently experimental._
### Native (IntelliJ Platform)
- Syntax highlighting
- Error highlighting
- Code assistance
- Run configurations## Roadmap
Please refer to the [project overview](https://github.com/users/lukeribchester/projects/1) for a full list
of planned features.---
## Requirements β
### Pact 4
#### 1. Pact Interpreter
Install [Pact 4](https://github.com/kadena-io/pact) by downloading a
[prebuilt binary](https://github.com/kadena-io/pact#binary-downloads) or by
[building from source](https://github.com/kadena-io/pact#building-from-source).> [!TIP]
> The easiest way to install Pact 4 on **macOS** is by using the [Homebrew](https://brew.sh) package manager. With
> Homebrew installed, run the following commands:```bash
brew update
brew install kadena-io/pact/pact
```#### 2. Pact Language Server (LSP)
The latest [Pact 4 Language Server](https://github.com/kadena-io/pact-lsp) releases for macOS, Linux, and Windows are included with this plugin.
Alternatively you can install a different version by downloading a
[prebuilt binary](https://github.com/kadena-io/pact-lsp/releases/latest) or by
[building from source](https://github.com/kadena-io/pact-lsp#building-from-source).### Pact 5 (Alpha)
#### 1. Pact Interpreter
Install [Pact 5](https://github.com/kadena-io/pact-5) by downloading a
[prebuilt binary](https://github.com/kadena-io/pact-5?tab=readme-ov-file#binary-downloads) or by
[building from source](https://github.com/kadena-io/pact-5?tab=readme-ov-file#building-from-source).> [!TIP]
> The easiest way to install Pact 5 on **macOS** or **Linux** is by using the
> [Pactup](https://github.com/kadena-community/pactup) version manager. With [Node](https://nodejs.org) installed, run
> the following commands:```bash
npx pactup install development-latest
npx pactup which development-latest
```#### 2. Pact Language Server (LSP)
The Pact 5 interpreter contains an integrated language server, therefore separate installation is not required.
## Installation πΏ
### JetBrains Marketplace
Install using your IDE's built-in plugin marketplace:
1. Navigate to Settings/Preferences
2. Select Plugins > Marketplace
3. Search for 'Pact'
4. Select Install PluginView on the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/23581-pact).
### Manual
Download the [latest release](https://github.com/lukeribchester/pact-intellij/releases/latest) and install it manually
from disk through your IDE:1. Navigate to Settings/Preferences
2. Select Plugins > βοΈ > Install Plugin from Disk...
3. Open the downloaded `.zip` file## Configuration βοΈ
Configuration is required to enable functionality from the Pact language server:
1. Navigate to Settings/Preferences
2. Select Languages & Frameworks > Pact
3. Specify your Pact interpreter and Pact language server paths#### Pactup
If you installed Pact 5 via [Pactup](https://github.com/kadena-community/pactup) then run the following command to
retrieve the path of the interpreter and integrated language server:```bash
npx pactup which development-latest
```#### Homebrew
If you installed Pact 4 via [Homebrew](https://brew.sh) then run the following command to retrieve the path of the
interpreter:```bash
brew info pact
```