ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Ethereum

by davidhq ALL

Ethereum Solidity, Vyper, Yul and StarkNet Cairo language syntaxes

Details

Installs

  • Total 61K
  • Win 26K
  • Mac 23K
  • Linux 12K
Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7 Nov 6 Nov 5 Nov 4 Nov 3 Nov 2 Nov 1 Oct 31 Oct 30 Oct 29 Oct 28 Oct 27 Oct 26 Oct 25
Windows 0 3 6 8 3 9 6 12 8 4 5 5 10 7 6 9 9 12 5 4 7 8 8 7 5 6 7 4 7 7 3 9 10 5 3 2 14 9 4 5 4 4 8 6 11 1
Mac 2 4 7 10 7 8 5 6 10 10 10 9 4 3 5 8 3 7 11 5 1 5 5 7 10 9 10 5 3 7 10 8 13 6 5 6 7 6 6 8 2 6 5 11 9 6
Linux 0 3 0 1 1 1 3 3 0 7 8 1 0 3 3 3 4 3 6 0 2 0 1 2 8 2 2 2 0 1 1 2 2 4 2 2 2 0 3 3 2 3 0 4 1 3

Readme

Source
raw.​githubusercontent.​com

SublimeText syntax highlighting for Solidity, Vyper, Yul and Cairo

Version of syntax that GitHub is using for Solidity grammar and Vyper is in linguist branch. This grammar gives all .sol / .vy files (example) its colors (= does syntax highlighting).

Ethereum

Ethereum is a platform for decentralized applications. Decentralized applications are built with Smart Contracts.

StarkNet

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.

Included grammars

This package contains syntax highlighting for Ethereum's Smart Contract languages Solidity, Vyper, Yul as well as StarkNet Cairo language.

Solidity is the biggest Ethereum language and has similarity to JavaScript. Solidity was initially proposed in August 2014 by dr. Gavin Wood. The language was later developed by the Ethereum project's Solidity team, led by Christian Reitwiessner.

Vyper 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.

Yul 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.

Cairo 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.

Linguist branch has an implementation with regexes and is used in GitHub. Main branch (= used in sublime package to enable .sol syntax highlighting for SublimeText editor) uses more advanced context stack approach to achieve optimal and more detailed results from what is possible with regex based approach.

Installation in SublimeText editor

  1. SublimeText menu / Preferences / Package Control
  2. Select: Install Package
  3. Type Ethereum and press ENTER

This will provide Solidity .sol, Vyper .vy and Cairo .cairo syntax highlighting.

SublimeEthereum on Package Control.

Features

  • Solidity.sublime-syntax: syntax rules for Ethereum Solidity language
    • Ethereum plugin automatically uses Solidity language syntax when you are in a Solidity (.sol) file
    • vscode-solidity is another good grammar implementation, it was originally derived from SublimeEthereum
  • Vyper.YAML-tmLanguage: syntax rules for Ethereum Vyper language
    • Ethereum plugin automatically uses Vyper language syntax when you are in a Vyper (.vy) file
  • Yul.YAML-tmLanguage: syntax rules for Ethereum Yul language
    • Ethereum plugin automatically uses Yul language syntax when you are in a Yul (.yul) or Yul+ (.yulp) file
  • Cairo.YAML-tmLanguage: syntax rules for StarkNet Cairo language
    • Ethereum plugin automatically uses Cairo language syntax when you are in a Cairo (.cairo) file
    • Cairo language grammar is derived from Atom grammar in this repository by GitHub user xshitaka.

License

All of Sublime Ethereum is licensed under the MIT license.

Copyright Ⓒ 2015-2222 uniqpath

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.