Files
l0ng-ai fd1f465aeb feat(plugins): extension points, capability consent, async runtime and plugin API 1.0
Rework the plugin system per docs/plugin_plan.md (P0–P8):

- Extension-point registry (ide-extension) so new contribution types register
  without touching the kernel; languages, run detectors, providers, views and
  UI contributions go through it.
- Per-plugin capability consent with a risk-graded ledger; process
  capabilities are pinned to resolved binary paths and hashes.
- Async, actor-per-plugin Wasm runtime with lazy activation, cancellation,
  events, long-running tasks and idle reclamation.
- Plugin host moved into ide-host, shared by local and remote projects.
- Distribution: install/package tooling (openidea-plugin bin) and a static
  market index.
- WIT frozen as openidea:plugin@1.0.0; Rust SDK with mock host.
- Ten official validation plugins under plugins/official.
2026-11-04 02:41:46 +08:00

42 lines
1.3 KiB
TOML

id = "openidea.solidity"
name = "Solidity"
version = "0.1.0"
description = "Solidity support: file detection, highlighting, structure view and folding, plus the Solidity language server when it is installed."
authors = ["OpenIDEA contributors"]
license = "Apache-2.0"
change-notes = "0.1.0 — first release: .sol detection, highlighting, structure view, folding; language server via @nomicfoundation/solidity-language-server or solc."
engines.openidea = "^1.0"
# Highlighting, structure and folding come from this component; it is loaded
# when the first Solidity file is opened.
wasm = "dist/plugin.wasm"
activation = ["on-language:solidity"]
# The language servers in the definition need `process:` capabilities; they
# are asked for on install and can be refused (the rest keeps working).
[[contributes.languages]]
path = "languages/solidity.toml"
# Offered in Foundry / Hardhat projects once the program is allowed.
[[contributes.runDetectors]]
id = "forge-test"
name = "forge test"
files = ["foundry.toml"]
command = "forge"
args = ["test"]
test = true
[[contributes.runDetectors]]
id = "forge-build"
name = "forge build"
files = ["foundry.toml"]
command = "forge"
args = ["build"]
[[contributes.runDetectors]]
id = "hardhat-test"
name = "hardhat test"
files = ["hardhat.config.ts", "hardhat.config.js"]
command = "npx"
args = ["hardhat", "test"]
test = true