Я пытаюсь решить следующую проблему, так как она очень раздражает мой сайт. https://code.google.com/p/google-code-prettify/issues/detail?id=341&thanks=341&ts=1398085413
и ссылается на следующий файл кода prettify: https://code.google.com/p/google-code-prettify/source/browse/trunk/src/lang-sql.js?r=179
Проблема в том, что
- Когда в SQL создается строка, оканчивающаяся на «\», подсветчик считает, что она экранирована, хотя это не синтаксис T-SQL.
Для воспроизведения используйте этот код в качестве исходного кода: (с установленным Google Code Prettify)
<pre class="prettyprint lang-sql"> SELECT @BUPath = 'c:\backups\' + @DBName + '-B4 CHANGE.bak' SELECT @BUName = @DBName + '-B4 CHANGE' </pre>
Я ожидаю, что код поймет, что косая черта перед кавычкой в части «c:\backups\» не является экранирующим символом...
Я ожидаю, что эту строку нужно будет изменить, но я не уверен, как это сделать:
[PR['PR_STRING'], /^(?:"(?:[^\"\\]|\\.)*"|'(?:[^\'\\]|\\.)*')/, null,
'"\'']
скрипка, показывающая проблему: http://jsfiddle.net/JH5uj/5/