2017-04-18 26 views
1

knitr記錄爲支持語法高亮顯示的SQL,但是,在下面的例子中只有一個塊被正確地強調: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

這是一個錯誤。你應該提交一個錯誤報告。實際上,*兩個*塊都被錯誤地突出顯示,但確實第二塊沒有突出顯示。首先是,但其突出顯示已被打破。 –

回答

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