{"id":13621336,"url":"https://github.com/davidhq/SublimeEthereum","last_synced_at":"2025-04-15T01:32:08.068Z","repository":{"id":28040826,"uuid":"31536536","full_name":"davidhq/SublimeEthereum","owner":"davidhq","description":"Ethereum Solidity, Vyper, Yul and StarkNet Cairo language syntaxes","archived":false,"fork":false,"pushed_at":"2024-04-25T17:01:50.000Z","size":170,"stargazers_count":114,"open_issues_count":1,"forks_count":47,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-01T21:47:37.819Z","etag":null,"topics":["cairo","vyper","yul","yul-plus"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davidhq.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2015-03-02T11:07:24.000Z","updated_at":"2024-04-16T19:21:08.000Z","dependencies_parsed_at":"2024-04-25T18:26:16.525Z","dependency_job_id":"5a1d7dd6-6a83-4bbb-935c-81ae273b59c2","html_url":"https://github.com/davidhq/SublimeEthereum","commit_stats":null,"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidhq%2FSublimeEthereum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidhq%2FSublimeEthereum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidhq%2FSublimeEthereum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidhq%2FSublimeEthereum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidhq","download_url":"https://codeload.github.com/davidhq/SublimeEthereum/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223654600,"owners_count":17180541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cairo","vyper","yul","yul-plus"],"created_at":"2024-08-01T21:01:04.875Z","updated_at":"2024-11-08T08:30:36.690Z","avatar_url":"https://github.com/davidhq.png","language":null,"funding_links":[],"categories":["Editor Plugins","dApps directory"],"sub_categories":["Web3 IDEs"],"readme":"## SublimeText syntax highlighting for Solidity, Vyper, Yul and Cairo\n\n\u003cimg src=\"./img/logos.svg\"\u003e\n\nVersion of syntax that GitHub is [using](https://github.com/github/linguist/tree/master/vendor/grammars) for [Solidity grammar](https://docs.soliditylang.org/en/latest/grammar.html) and [Vyper](https://vyper.readthedocs.io) is in [linguist branch](https://github.com/davidhq/SublimeEthereum/tree/linguist). This grammar gives all `.sol` / `.vy` files ([example](https://github.com/ethereum/consensus-specs/blob/dev/solidity_deposit_contract/deposit_contract.sol)) its colors (= does _syntax highlighting_).\n\n### Ethereum\n\n[Ethereum][ethereum] is a platform for decentralized applications. Decentralized applications are built with Smart Contracts.\n\n### StarkNet\n\n[StarkNet](https://starkware.co/starknet/) is a permissionless decentralized ZK-Rollup operating as an L2 network over Ethereum, where any dApp can achieve unlimited scale for its computation, without compromising Ethereum’s composability and security.\n\n### Included grammars\n\nThis package contains syntax highlighting for Ethereum's Smart Contract languages [Solidity](https://soliditylang.org), [Vyper](https://vyper.readthedocs.io), [Yul](https://docs.soliditylang.org/en/latest/yul.html) as well as StarkNet [Cairo](https://www.cairo-lang.org/docs/index.html) language.\n\nSolidity is the biggest Ethereum language and has similarity to JavaScript. Solidity was initially proposed in August 2014 by [dr. Gavin Wood](https://en.wikipedia.org/wiki/Gavin_Wood). The language was later developed by the Ethereum project's Solidity team, led by Christian Reitwiessner.\n\nVyper is a contract-oriented, pythonic programming language that targets the Ethereum Virtual Machine (EVM) as well. It lacks some general features and through this strives to be more secure by default.\n\nYul is an intermediate EVM programming language that is compiled to bytecode for addressing the needs of different backends. The Solidity compiler has an experimental implementation that uses Yul as an intermediate language.\n\nCairo is a programming language for writing provable programs, where one party can prove to another that a certain computation was executed correctly. Cairo and similar proof systems can be used to provide scalability to blockchains.\n\n[ethereum]: https://www.ethereum.org/\n\n[Linguist branch](https://github.com/davidhq/SublimeEthereum/tree/linguist) has an implementation [with regexes](https://sublime-text-unofficial-documentation.readthedocs.io/en/latest/reference/syntaxdefs.html) and is used in GitHub. Main branch (= used in sublime package to enable `.sol` syntax highlighting for [SublimeText](http://www.sublimetext.com/) editor) uses more advanced [context stack](http://www.sublimetext.com/docs/syntax.html) approach to achieve optimal and more detailed results from what is possible with regex based approach.\n\n## Installation in SublimeText editor\n\n1. SublimeText menu / Preferences / Package Control\n2. Select: Install Package\n3. Type **Ethereum** and press ENTER\n4. With a `.sol` / `.vy` / `.cairo` file open, select: View -\u003e Syntax (-\u003e Open all with current extension as) -\u003e Ethereum -\u003e Cairo / Solidity / Vyper / Yul\n5. Close and re-open any files to activate the syntax highlighting\n\nThis will provide **Solidity** `.sol`, **Vyper** `.vy` and **Cairo** `.cairo` syntax highlighting.\n\n[SublimeEthereum](https://packagecontrol.io/packages/Ethereum) on Package Control. \n\n[package-control]: https://packagecontrol.io/packages/Ethereum\n\n## Features\n\n* Solidity.sublime-syntax: syntax rules for Ethereum Solidity language\n   * Ethereum plugin automatically uses *Solidity language syntax* when you are in a Solidity (.sol) file\n   * [vscode-solidity](https://github.com/juanfranblanco/vscode-solidity) is another good grammar implementation, it was originally derived from SublimeEthereum\n* Vyper.YAML-tmLanguage: syntax rules for Ethereum Vyper language\n   * Ethereum plugin automatically uses *Vyper language syntax* when you are in a Vyper (.vy) file\n* Yul.YAML-tmLanguage: syntax rules for Ethereum Yul language\n   * Ethereum plugin automatically uses *Yul language syntax* when you are in a Yul (.yul) or Yul+ (.yulp) file\n* Cairo.YAML-tmLanguage: syntax rules for StarkNet Cairo language\n   * Ethereum plugin automatically uses *Cairo language syntax* when you are in a Cairo (.cairo) file\n   * Cairo language grammar is derived from Atom grammar in [this repository](https://github.com/xshitaka/atom-language-cairo) by GitHub user _xshitaka_.\n\n## License\n\nAll of Sublime Ethereum is licensed under the MIT license.\n\nCopyright Ⓒ 2015-2222 [uniqpath](https://github.com/uniqpath)\n\n\u003e Permission is hereby granted, free of charge, to any person obtaining a copy\n\u003e of this software and associated documentation files (the \"Software\"), to deal\n\u003e in the Software without restriction, including without limitation the rights\n\u003e to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n\u003e copies of the Software, and to permit persons to whom the Software is\n\u003e furnished to do so, subject to the following conditions:\n\n\u003e The above copyright notice and this permission notice shall be included in\n\u003e all copies or substantial portions of the Software.\n\n\u003e THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n\u003e IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n\u003e FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n\u003e AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n\u003e LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n\u003e OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n\u003e THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidhq%2FSublimeEthereum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidhq%2FSublimeEthereum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidhq%2FSublimeEthereum/lists"}