Непоследовательная подсветка синтаксиса в highlightjs

Я использую отмеченные с highlightjs для подсветки синтаксиса. Оба последние версии. следующая уценка создает несогласованный выделенный код.

```java
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

class FilesHandling {
    public static void main(String[] args) {
        try {
            List<String> lines = Files.readAllLines(Paths.get("/path/to/file.txt"));
            int lineNum = 1;
        } catch (IOException e) {
        }
    }
}
```

```java
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

class FilesHandling {
    public static void main(String[] args) {
        try {
        } catch (IOException e) {
        }
    }
}
```

Это генерирует следующий HTML-код

<pre><code class="lang-java"><span class="hljs-keyword">import</span> java.io.IOException;
<span class="hljs-keyword">import</span> java.nio.file.Files;
<span class="hljs-keyword">import</span> java.nio.file.Paths;
<span class="hljs-keyword">import</span> java.util.<span class="hljs-built_in">List</span>;

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">FilesHandling</span> </span>{
    public <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> main(<span class="hljs-built_in">String</span>[] args) {
        <span class="hljs-keyword">try</span> {
            <span class="hljs-built_in">List</span>&lt;<span class="hljs-built_in">String</span>&gt; lines = Files.readAllLines(Paths.<span class="hljs-keyword">get</span>(<span class="hljs-string">"/path/to/file.txt"</span>));
            <span class="hljs-built_in">int</span> lineNum = <span class="hljs-number">1</span>;
        } <span class="hljs-keyword">catch</span> (IOException e) {
        }
    }
}
</code></pre>
<pre><code class="lang-java"><span class="hljs-meta"><span class="hljs-meta-keyword">import</span> java.io.IOException;</span>
<span class="hljs-meta"><span class="hljs-meta-keyword">import</span> java.nio.file.Files;</span>
<span class="hljs-meta"><span class="hljs-meta-keyword">import</span> java.nio.file.Paths;</span>

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">FilesHandling</span> </span>{
    <span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> main(String[] args) {
        <span class="hljs-keyword">try</span> {
        } <span class="hljs-keyword">catch</span> (IOException e) {
        }
    }
}
</code></pre>

Посмотрите на разницу между первым фрагментом кода и остальными.

Ниже приведена моя конфигурация в коде

marked = require('marked');
// Synchronous highlighting with highlight.js
marked.setOptions({
  breaks: true,
  highlight: function(code) {
    return require('highlight.js').highlightAuto(code).value;
  }
});

0 ответов

Другие вопросы по тегам