Skip to content

What's new in Tachi Code v1.3.0?

This release brings a range of enhancements to Tachi Code, with a focus on performance and quality of life improvements.

Highlights:

  • Improved syntax highlighting with better support for styled tokens
  • Large file support when injecting the editor into an existing page
  • Markdown preview performance improvements and double-click navigation
  • Tab improvements including auto-scrolling and new tab placement

Building on the knowledge gained from implementing the language detection worker in v1.1.0, this release introduces a dedicated Markdown rendering web worker that significantly improves the performance of the Markdown preview for large documents. As you type, the Markdown file’s changes are processed in a separate thread, only updating the preview when the worker has finished processing the changes.

Additionally, you can now double-click on any element in the Markdown preview to navigate directly to the corresponding line in the editor.

Until now, syntax highlighting in Tachi Code was limited to a single style per color due to @shikijs/monaco’s implementation of mapping scopes between TextMate and Monaco Editor themes using color alone. This update reworks the integration between Shiki and Monaco Editor to add support for styled (bold, italic, underline, etc.) tokens in color themes by reworking the theme translation process to generate rules that map each TextMate token color to a scope per style combination. This makes it possible to convert the TextMate grammar’s token colors into Monaco Editor’s token styles using a composite-key mapping including both color and style, allowing for more expressive syntax highlighting.

The following screenshot shows the difference between the old and new syntax highlighting styles in Tachi Code: Improved syntax highlighting with styled tokens In the original implementation, all violet tokens were rendered as italic, while the new implementation allows for both italic and bold styles to be applied to different tokens with the same color.

When injecting the editor into an existing page, Tachi Code now supports files over 50MB in size by chunking the file into multiple messages that are then passed to the editor using the browser’s postMessage API.

The maximum file size for auto-injection can be configured using the browserExtension.contentScript.autoInject.maxFileSize setting.

Tachi Code now inserts new tabs to the right of the active tab, making it easier to manage your workspace. Additionally, the tab list now automatically scrolls to ensure that the selected tab is always visible when it changes, improving navigation in workspaces with many open tabs.

Scrollable tabs list with auto-scroll

This release also improves performance when opening and closing tabs, making the editor feel more responsive.

  • Enhanced editor focus handling and added interactive checks for command targets.
  • Adjusted Armada token colors for unhighlighted content in code blocks (these tokens will be gray instead of pink inside a syntax-highlighted code block).
  • Fixed hotkeys not triggering when in Full Screen preview mode.
  • Fixed an issue where the JSON settings editor was not loading settings correctly.