【问题标题】:Does knitr not support syntax highlighting in SQL common table expressions?knitr 不支持 SQL 公用表表达式中的语法高亮吗?
【发布时间】:2017-04-18 13:07:39
【问题描述】:

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 之外还有什么不足之处吗?

【问题讨论】:

  • 这是一个错误。您应该提交错误报告。事实上,both 块都被错误地突出显示,但第二个块确实没有突出显示。第一个是,但它的突出显示被破坏了。

标签: r knitr r-markdown rnotebook


【解决方案1】:

这是因为 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
```

【讨论】:

    猜你喜欢
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多