knitr不支持SQL公用表表达式中的语法高亮显示吗?

时间:2017-04-18 13:07:39

标签: r knitr r-markdown rnotebook

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?

1 个答案:

答案 0 :(得分:2)

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

---
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
```