We have added maintainers to GitHub since 2025-01-09:
- @SylvanFranklin has become a maintainer of the "Editor integration" and "Document Previewing" feature in #1091
After a super long time of development, we have finished an usable typst grammar for VS Code and GitHub. The grammar can now successfully parse all code, markup and math syntax of source files from typst/packages (1200k LoCs) and typst/typst (17k LoCs) without failure. A failure means the grammar produces any visible parse error but the official parser doesn't complain. However, it can still only parse a subset of typst syntax correctly:
- For example, all braces in
#if {}=={}{}{}
(without spaces) are identified as code braces. - For example, It hasn't identified the ";" syntax in math calls.
But I believe it will not affect us much:)
.
Most importantly, ideally GitHub will use the grammar to highlight typst code on GitHub in next season. It would be appreciated if people could check and test the grammar before GitHub's integration. the grammar and two ways to test it:
-
The grammar: https://github.com/michidk/typst-grammar/blob/main/grammars/typst.tmLanguage.json
-
Run Grammar's snapshot tests and GitHub's integration tests.
-
Install tinymist and check syntax highlight of typst/packages in VS Code Web.
2025-01-08.14-48-20.mp4
Editor
Code Analysis
- (Fix) Corrected
InterpretMode
of arguments of math calls fromCode
toMath
in #1137 - Matching names of parameters for completion in #1113
- Matching a text node as identifier in math mode if it can be a valid identifier in #1138
Completion
- Completing parameters by capture information in #1114
- (Fix) Corrected order to insert definitions in scope in #1116
Hover
- Rearranged hover providers in #1108
- Definitions, (sampled) possible values, periscope, docs, actions are provided in order at the same time.
Syntax Highlighting
- (Fix) terminate heading on newline in #1136
- Adding experimental math syntax highlighting in #1096, #1106, #1112, #1117, #1123, and #1124
- Enabled experimental math syntax highlighting in #1107
- Parsing name identifier of parameters or arguments in #1118
- Changing names of string, constant, and keyword scopes in #1119
- Matching special identifiers in calls in #1125
- Added scripts to test syntax highlight in #1121
- Added more termination rules about FIRST tokens in #1122 and #1129
- Parsing arrow functions like binary expr in #1128
- Conditionally satisfying PCRE regex features in #1126 and #1130
- Documenting textmate grammar in #1131
- Handling minus and asterisk marker confidently in #1134
Misc
- Changed name in package.json files by @Freed-Wu and @Myriad-Dreamin in #1097 and #1102
- Ignoring vscode workspace configuration in #1120
Full Changelog: v0.12.16...v0.12.18
Download Binary
Install tinymist 0.12.18
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.12.18/tinymist-installer.sh | sh
Install prebuilt binaries via powershell script
powershell -ExecutionPolicy ByPass -c "irm https://github.com/Myriad-Dreamin/tinymist/releases/download/v0.12.18/tinymist-installer.ps1 | iex"
Download tinymist 0.12.18
File | Platform | Checksum |
---|---|---|
tinymist-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
tinymist-x86_64-apple-darwin.tar.gz | Intel macOS | checksum |
tinymist-aarch64-pc-windows-msvc.zip | ARM64 Windows | checksum |
tinymist-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
tinymist-aarch64-unknown-linux-gnu.tar.gz | ARM64 Linux | checksum |
tinymist-loongarch64-unknown-linux-gnu.tar.gz | LOONGARCH64 Linux | checksum |
tinymist-x86_64-unknown-linux-gnu.tar.gz | x64 Linux | checksum |
tinymist-armv7-unknown-linux-gnueabihf.tar.gz | ARMv7 Linux | checksum |
tinymist-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
tinymist-loongarch64-unknown-linux-musl.tar.gz | LOONGARCH64 MUSL Linux | checksum |
tinymist-riscv64gc-unknown-linux-musl.tar.gz | RISCV MUSL Linux | checksum |
tinymist-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
tinymist-arm-unknown-linux-musleabihf.tar.gz | ARMv6 MUSL Linux (Hardfloat) | checksum |
tinymist-armv7-unknown-linux-musleabihf.tar.gz | ARMv7 MUSL Linux | checksum |
Download VS Code Extension
Download tinymist VS Code Extension 0.12.18
File | Platform | Assets |
---|---|---|
tinymist-win32-x64.vsix | x64 Windows | Binary, Debug Symbols |
tinymist-win32-arm64.vsix | ARM64 Windows | Binary, Debug Symbols |
tinymist-linux-x64.vsix | x64 Linux | Binary, Debug Symbols |
tinymist-linux-arm64.vsix | ARM64 Linux | Binary, Debug Symbols |
tinymist-linux-armhf.vsix | ARMv7 Linux | Binary, Debug Symbols |
tinymist-darwin-x64.vsix | Intel macOS | Binary, Debug Symbols |
tinymist-darwin-arm64.vsix | Apple Silicon macOS | Binary, Debug Symbols |
tinymist-alpine-x64.vsix | x64 Alpine Linux | Binary, Debug Symbols |
tinymist-alpine-arm64.vsix | ARM64 Alpine Linux | Binary, Debug Symbols |
tinymist-web.vsix | Browser (Web) | |
tinymist-universal.vsix | Other Platforms (Universal) |