Giter VIP home page Giter VIP logo

tact-sublime's People

Contributors

novusnota avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

tact-sublime's Issues

Add syntax highligting tests (including CI for them)

Re-structure the grammar for syntax highlighting

Sublime Text 3+ can use the .tmLanguage format, which is a fancy xml, essentially.
Sublime Text 4+ uses a newer, .sublime-syntax format, which is a fancy yaml.

While both use Oniguruma RegExp engine and TextMate-like captures, their approaches slightly differ, with the former being almost 1-to-1 representation of the tact.tmLanguage.json but in the xml form.

Therefore, all that's needed here is to:

  • Setup the conversion from json form to xml or vice-versa — for example, this VSCode plugin can be used to convert from the .tmLanguage.json JSON (for tact-vscode, tact-docs, Nujan & others) to .tmLanguage PLIST/XML (for Sublime)
  • Re-organize the current highlighting structure (of json file) to make it more suitable for tact-docs

Write announcement for TonDevNews

  • an animated gif showcasing the plugin
  • short text about the most interesting features
  • link to this repo
  • how to install it
  • author credit

Tracking issue: Tact v1.4.0

To be resolved by #15:

  • Bitwise NOT ~
  • New augmented assignment operators: |=, &=, ^=
  • Underscores _ as unused variable identifiers
  • Local type inference for let statements
  • nativeThrowWhen renamed to nativeThrowIf

Other things:

  • Create a new release

Grammar: couple things to fix

  • Capture Reserve... and Send... constants from the core as constants, not as entity.name.type. Try to capture self.storageReserve as a constant too, which requires a change of highlighting identifiers standing after const keyword.
  • Mark identifiers starting with __gen and __tact as invalid to somewhat prohibit users from using them.
  • Fix if...else, try...catch and do...until highlighting -- that's needed for docs and won't affect regular users.
  • Put additional restrictions on init, receive, external and bounced to have an open parenthesis ( right after it

Add tests for each of those points.

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.