AppFlowy-IO / AppFlowy-IO/AppFlowy

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

Đang mở
#8,740 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
editor improvements
Ngôn ngữ chính
Dart
Star
76.6k
Fork
6k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

### 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)

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.