Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/myst-lang/sublime-myst
Myst syntax highlighting for Sublime Text 3.
https://github.com/myst-lang/sublime-myst
myst-lang sublime-syntax sublime-text-3 syntax-highlighting
Last synced: 24 days ago
JSON representation
Myst syntax highlighting for Sublime Text 3.
- Host: GitHub
- URL: https://github.com/myst-lang/sublime-myst
- Owner: myst-lang
- Created: 2017-10-26T01:06:35.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-02-07T15:12:07.000Z (almost 7 years ago)
- Last Synced: 2024-11-19T17:56:30.644Z (3 months ago)
- Topics: myst-lang, sublime-syntax, sublime-text-3, syntax-highlighting
- Size: 102 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Myst syntax highlighting for Sublime Text 3
This package provides syntax highlighting for the [Myst programming language](https://github.com/myst-lang/myst).
A primary goal of this syntax definition is to provide as much detail as possible for color schemes and plugins to utilize. This includes:
- **contextual `end` scoping:** `end` is a very common keyword in Myst. It is used to close `do...end` blocks, when chains, loops, exception handlers, types, _and_ modules. As such, it's common to see long chains of `end`s at the end of a file or large block of code, since everything is wrapping up, and it can be hard to figure out what exactly is being closed and where.
Moreover, it can be hard to spot errors with closing code blocks leading to the infamous "Unexpected EOF..." in Ruby, for example.
In an attempt to mitigate these issues and improve clarity, this syntax definition provides those `end`s with proper scopes based on what they are closing. For example, an `end` that closes a `when` chain will have the scope `keyword.conditional.end.myst`, while an `end` that closes an exception handler will have a `keyword.control.exceptions.end.myst` scope instead.
![contextual end scoping](res/contextual_end_scoping.png)# Installation
Since the syntax of Myst is not necessarily well-defined yet, this package has not been published to the main Package Control channel. To install the package, add the repository to Package Control (see the "Add Repository" section at https://packagecontrol.io/docs/usage) with the url https://github.com/myst-lang/sublime-myst.
Once the repository has been added, you should be able to install the package as normal through Package Control. It will be under the name `sublime-myst`.