https://github.com/zarifpour/zed-solidity
💠 Solidity language support for Zed.
https://github.com/zarifpour/zed-solidity
blockchain ethereum evm solidity syntax syntax-highlighting syntax-tree tree-sitter zed zed-extension
Last synced: 8 days ago
JSON representation
💠 Solidity language support for Zed.
- Host: GitHub
- URL: https://github.com/zarifpour/zed-solidity
- Owner: zarifpour
- License: mit
- Created: 2024-02-25T07:38:40.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-11-11T21:58:45.000Z (4 months ago)
- Last Synced: 2025-12-04T01:42:21.207Z (3 months ago)
- Topics: blockchain, ethereum, evm, solidity, syntax, syntax-highlighting, syntax-tree, tree-sitter, zed, zed-extension
- Language: Solidity
- Homepage:
- Size: 690 KB
- Stars: 59
- Watchers: 3
- Forks: 8
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# 💠 Solidity Language Support for Zed
Enhance Zed with Solidity language support, including syntax highlighting and language server features such as diagnostics and more!
## Features
### Solidity (`.sol`)
- Syntax highlighting via [tree-sitter-solidity](https://github.com/JoranHonig/tree-sitter-solidity)
- Diagnostics, completions, go-to-definition, and other LSP features via [@nomicfoundation/solidity-language-server](https://github.com/NomicFoundation/hardhat-vscode/tree/main/server)
- Code outline, indentation, and bracket matching
### Yul (`.yul`)
- Syntax highlighting via [tree-sitter-yul](https://github.com/czepluch/tree-sitter-yul), including recognition of EVM builtins
- Code outline, indentation, and bracket matching
- No LSP support (the Nomic Foundation language server does not support standalone `.yul` files)
> [!Tip]
> For the best experience, it is highly recommended to use [XY-Zed](https://github.com/zarifpour/xy-zed). This extension has been built on top of the XY-Zed theme, ensuring that all colors are thoughtfully chosen to provide intelligent syntax highlighting.
---

---
## 🛠️ Development Setup
### 1. Clone the repository
```shell
git clone https://github.com/zarifpour/zed-solidity
```
### 2. Uninstall the existing extension
If you have the existing extension installed, you need to uninstall it before installing the development version.
### 3. Load the extension
- Open `zed: extensions`.
- Click `Install Dev Extension`.
- Select the `zed-solidity` directory.
### 4. Rebuild the extension as needed
As you make changes to the extension, you may need to rebuild it. To do so:
- Open `zed: extensions`.
- Click the `Rebuild` button next to the extension.
## 🎸 Contributing
Contributions are welcome!
To contribute:
1. Fork the repo and create a new branch.
2. Make changes and test them.
3. Submit a pull request with a clear description.
Check open issues for areas needing improvement. Thanks for helping improve Solidity support in Zed!
## 🏆 Acknowledgments
- [@JoranHonig](https://github.com/JoranHonig) for providing the [tree-sitter-solidity](https://github.com/JoranHonig/tree-sitter-solidity) repository.
- [@meetmangukiya](https://github.com/meetmangukiya) and [@tomholford](https://github.com/tomholford) for inspiration with their PRs to the main Zed repo.
---
Made with 🩵 by Daniel Zarifpour