1

knitr在 SQL 中被记录为支持语法突出显示,但是,在以下示例中,只有一个块被正确突出显示:

---
title: "R Notebook"
output:
  html_document: default
---

```{sql select, eval=FALSE}
SELECT foo
FROM bar
WHERE jimminy > zoinks
```


```{sql with, eval=FALSE}
WITH (
SELECT bar
FROM foo
)
SELECT foo
FROM bar
WHERE jimminy > zoinks
```

经过一些测试,我将此归因于公用表表达式(WITH语句)。

是否有一些简单的东西可以“打开”两个块的语法突出显示?除了将查询重组为不是 CTE 之外还有什么?

4

1 回答 1

3

这是因为rmarkdown仍在使用相当旧的 highlight.js 版本(类似于rstudio/rmarkdown#907)。您可以通过为选项指定其他值来选择不使用 highlight.js highlight,例如

---
title: "R Notebook"
output:
  html_document: 
    highlight: tango
---

```{sql select, eval=FALSE}
SELECT foo
FROM bar
WHERE jimminy > zoinks
```


```{sql with, eval=FALSE}
WITH (
SELECT bar
FROM foo
)
SELECT foo
FROM bar
WHERE jimminy > zoinks
```
于 2017-04-18T15:38:18.847 回答