You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Quarto文档代码块中高亮自定义SQL关键词?

在Quarto中自定义SQL关键词的语法高亮

Quarto默认使用Chroma作为语法高亮引擎,要让OFFSET、TOP这类未被默认识别的SQL关键词和SELECT、FROM一样高亮,有两种实用方法:

方法1:自定义Chroma语法规则(全局生效,推荐)

  1. 新建一个sql-custom.yml文件,内容如下:
extends: sql
rules:
- name: keyword
  pattern: \b(SELECT|FROM|LIMIT|OFFSET|TOP)\b

这里在原有SQL关键词的基础上,新增了OFFSET和TOP,你可以按需求继续添加其他需要高亮的关键词。

  1. 在Quarto文档的YAML配置头部,引入这个自定义规则:
---
title: "SQL子句讲解"
highlight-engine: chroma
chroma-syntax-definitions:
  - sql-custom.yml
---

这样所有SQL代码块都会按照你定义的规则高亮指定关键词。

方法2:内联高亮标记(单个代码块生效)

如果只是个别代码块需要调整,直接在代码块里用[.keyword]包裹目标关键词即可:

SELECT col_name(s)
FROM tbl_name
LIMIT n [.keyword]OFFSET[/] m

-- Syntax supported by MySQL, MariaDB, PostgreSQL, SQLite
-- LIMIT = number of rows to retrieve
-- OFFSET = starting row (optional) 
SELECT [.keyword]TOP[/] n col_name(s)
FROM tbl_name

-- Syntax supported by SQL Server and MS Access

这种方式无需全局配置,适合临时调整。

补充说明

  • 若自定义语法文件和Quarto文档不在同一目录,需在配置中填写相对路径。
  • 若你使用Pygments作为高亮引擎(通过highlight-engine: pygments指定),可以创建Pygments自定义词法分析器,但配置复杂度更高,优先推荐Chroma方案。

内容的提问来源于stack exchange,提问作者Bezzus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 00:20:50