Skip to content


Switch branches/tags

Latest commit

Fixes #3494

The hard-line-breaks context causes deadlock in setext-or-paragraph
context maybe caused by in-accurate rewinding or back-and-forth of
branches while typing.

Same issue was found while working on Markdonw's MathML support.

This commit implements the same workaround by just consuming some
tokens in 2nd and 3rd branch to avoid ST from trying the 1st one again.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Nov 29, 2021
Jun 16, 2015

Sublime Packages


These packages are developed against the latest build of Sublime Text in the dev channel.

The latest release of Packages shipped with Sublime Text should be tagged via git in this repository, you can find a list at

Bugs may exist on older builds, and the format used is not compatible with builds older than Build 4095.


To make changes to these packages and test them locally, fork this repository. Then symlink the changed packages into your Packages folder. (Replace Python in the following commands with the name of the syntax to install.)


$ git clone
$ ln -s `pwd`/Packages/Python ~/Library/Application\ Support/Sublime\ Text\ 3/Packages/


$ git clone
$ ln -s `pwd`/Packages/Python ~/.config/sublime-text-3/Packages/


On Windows, you can use directory junctions instead of symlinks (symlinks require administrative rights; directory junctions don't):

# Using PowerShell
PS> git clone
PS> cmd /c mklink /J "$env:APPDATA/Sublime Text 3/Packages/Python" (convert-path ./Packages/Python)

Alternatively, download the portable version and clone this repository directly as a subdirectory of the Data folder.

⚠️ Things to keep in mind

After you've finished, keep in mind that you're now overriding a default package. If other people make upstream changes to an overridden package, yours will be out-of-date when Sublime Text updates to a new version. To get the latest version, pull the changes from this repository.


Please refer to the official documentation:

Pull Requests

Pull requests should:

  1. Start with the name of the package in square brackets, e.g. [XML].
  2. Be as small and self-contained as is reasonable. Smaller changes are quicker to review.
  3. Include a new (or enhanced) syntax test when changing a .sublime-syntax file.
  4. Have multiple syntax tests and a set of performance measurements (old vs. new) when making significant changes.

New Packages

Pull requests for new packages won't be accepted at this stage, as new packages can cause issues for users who have a package with the same name installed via Package Control. There are some planned changes that will address this in the future.

Complex plugins such as auto complete systems and linters should generally be in a stand-alone package, rather than included in the default set of packages.

Missing Packages

This repository only contains syntax-definition-focused packages. Notably, packages such as Default and Theme - Default are not included.