Code Monkey home page Code Monkey logo

zed-solidity's Introduction

๐Ÿ’  Solidity Language Support for Zed

Enhance Zed with Solidity language support, including syntax highlighting and language server features such as diagnostics and more!

Tip

For the best experience, it is highly recommended to use 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.


CleanShot 2024-02-28 at 02 40 51 on Zed โ€” example sol โ€” zed-solidity@2x


๐Ÿ› ๏ธ Development Setup

1. Clone the repository

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!

contrib.rocks

๐Ÿ† Acknowledgments


Made with ๐Ÿฉต by Daniel Zarifpour

zed-solidity's People

Contributors

zarifpour avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

zed-solidity's Issues

Add support for `error` syntax

The error syntax is not currently supported. For example:

contract Foo {
    error Bar();
}

The error will not be highlighted (screenshot):

Screenshot 2024-06-28 at 11 51 15โ€ฏPM

Comments don't produce valid solidity

contract A {
    /** some_nat_spec
    */
    function c(bytes32 s) public returns (bool) {
       return true;
    }
}

turns into invalid solidity =>

/*contract A {
    /** some_nat_spec
    */
    function c(bytes32 s) public returns (bool) {
       return true;
    }
}*/

I think all that needs to be done is only have line_comment like zed's rust does in languages/solidity/config.toml:

line_comment = ["// ", "/// "]

This way it just prepends // to each line.

Failing to recognize Solidity files

The extension has been observed to load correctly. However, there is an issue where it fails to recognize Solidity files and does not automatically set the language for these files when the extension is loaded.

CleanShot 2024-02-25 at 03 38 02 on Zed โ€” example sol โ€” zed-solidity

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.