Collection of TextMate grammars and themes, converted to JSON and re-distributed as npm packages. Extracted from Shiki, available for general usage.
Packages are automatically updated and published every day (if there are changes).
- Fork this repository.
- Install dependencies with
pnpm install
. - Add grammar source and metadata to
sources-grammars.ts
. - Add a code sample file
<id>.sample
for your language under./samples
. A sample should include a variety of language syntaxes and succinctly capture the idiosyncrasy of a language. Format requirements:
- Space for indentation.
- Less than 100 columns if possible.
- A comment with a link to the source on the last line (e.g.
# From https://poignant.guide/book/chapter-5.html
).
- Generate a personal access token with the default permissions. This token is used to query public information from GitHub API and avoid rate limits.
- Create a
.env
file and paste your generated token into the file like so:
GITHUB_TOKEN=your-personal-access-token
- Run
pnpm run fetch
to download the grammar. - Run
pnpm run play
to start the playground. Select the new grammar in the left column to verify the accuracy and confirm that the grammar works as expected. - Send in the PR!
- Fork this repository.
- Install dependencies with
pnpm install
. - Add theme source and metadata to
sources-themes.ts
. - Generate a personal access token with the default permissions. This token is used to query public information from GitHub API and avoid rate limits.
- Create a
.env
file and paste your generated token into the file like so:
GITHUB_TOKEN=your-personal-access-token
- Run
pnpm run fetch
to download the theme. - Run
pnpm run play
to start the playground. Select the new theme in the right column to verify the accuracy and confirm that the theme works as expected. - Send in the PR!
The grammars and themes included in this package are covered by their repositories’ respective licenses, which are permissive (apache-2.0, mit, etc), and made available in Grammars NOTICE and Themes NOTICE.
All other files MIT © Pine Wu & Anthony Fu.