私のサイトでは非常に迷惑なので、次の問題を修正しようとしています。 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/