AppFlowy-IO / AppFlowy-IO/AppFlowy

[FR] Assembly is missing from the code block dropdown and fails to render syntax highlighting

Open
#8,740 0 comments 0 reactions 0 assignees View on GitHub
editor improvements
Dominant language
Dart
Stars
76.6k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

### Bug Description

I noticed a bug where Assembly doesn't show up in the code block language dropdown menu at all, and it completely fails to render syntax highlighting.

Image

### How to Reproduce

1. Open AppFlowy (Web or Desktop).
2. Create a new code block component.
3. Click the language dropdown menu.
4. Search for "Assembly" (it is not in the list).

### Expected Behavior

"Assembly" should be an available option in the language dropdown menu and should correctly apply syntax highlighting to the code block when selected across all platforms.

Image

### Operating System

Cross-platform (Issue spans both Desktop and Web builds)

### AppFlowy Version(s)

Latest Web distribution (tested on May 16, 2026)

### Screenshots

_No response_

### Additional Context

I have tried to fix this. I've checked the [`AppFlowy-Plugins`](https://github.com/AppFlowy-IO/AppFlowy-Plugins) repo to understand the implementation. I found it was a naming issue where the filtering logic drops the language. Since it looked like a literal value change, I submitted a PR directly without setting up a full local test environment.

However, when checking the web distribution, I found that `prism.js` is actively being loaded in the browser sources. This completely complicates the fix. `highlight.dart` requires the token `x86asm` and `prism.js` which doesn't recognize `x86asm` and expects `nasm` instead.

To verify, I tested the `x86asm` value directly in the web client by overriding the `detectedLanguage` variable in the editor file from the source.
* Setting the variable to a standard language like `bash` worked perfectly.
* Setting the variable to `x86asm` failed completely (no syntax highlighting rendered).
* Setting the variable to `nasm` worked because `prism.js` expects `nasm` and not `x86asm`.

**Question:** Since the web client uses 2 libraries for syntax highlighting, does the web build require additional configuration or updates to support Assembly alongside my PR?

Link to the PR I made in [`AppFlowy-Plugins`](https://github.com/AppFlowy-IO/AppFlowy-Plugins) repo: [#34](https://github.com/AppFlowy-IO/AppFlowy-Plugins/pull/34)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.